[haiku-commits] BRANCH pdziepak-github.nfs4 - src/add-ons/kernel/file_systems/nfs4

  • From: pdziepak-github.nfs4 <community@xxxxxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Thu, 14 Feb 2013 14:30:53 +0100 (CET)

added 2 changesets to branch 'refs/remotes/pdziepak-github/nfs4'
old head: a4caa431e4d815581cbd0e71ff0644d2b260d0ec
new head: 4c64bd932c634e7115a88d494de083dca7c9e20d
overview: https://github.com/pdziepak/Haiku/compare/a4caa43...4c64bd9

----------------------------------------------------------------------------

c65f77d: nfs4: Make TRACE format strings 32/64 bit independent

4c64bd9: nfs4: Fix wrong cast in nfs4_rename

                                    [ Pawel Dziepak <pdziepak@xxxxxxxxxxx> ]

----------------------------------------------------------------------------

2 files changed, 63 insertions(+), 54 deletions(-)
.../kernel/file_systems/nfs4/FileSystem.cpp      |   3 +-
.../file_systems/nfs4/kernel_interface.cpp       | 114 ++++++++++---------

############################################################################

Commit:      c65f77dc10eed76812e0e605030970c29a8cde34
Author:      Pawel Dziepak <pdziepak@xxxxxxxxxxx>
Date:        Thu Feb 14 00:37:09 2013 UTC

nfs4: Make TRACE format strings 32/64 bit independent

----------------------------------------------------------------------------

diff --git a/src/add-ons/kernel/file_systems/nfs4/FileSystem.cpp 
b/src/add-ons/kernel/file_systems/nfs4/FileSystem.cpp
index a877cb9..309f572 100644
--- a/src/add-ons/kernel/file_systems/nfs4/FileSystem.cpp
+++ b/src/add-ons/kernel/file_systems/nfs4/FileSystem.cpp
@@ -220,8 +220,7 @@ FileSystem::GetInode(ino_t id, Inode** _inode)
 
        FileInfo fi;
        status_t result = fInoIdMap.GetFileInfo(&fi, id);
-       if (result == B_ENTRY_NOT_FOUND)
-               dprintf("NFS4: unknown inode: %llu\n", id);
+       ASSERT(result != B_ENTRY_NOT_FOUND);
 
        if (result != B_OK)
                return result;
diff --git a/src/add-ons/kernel/file_systems/nfs4/kernel_interface.cpp 
b/src/add-ons/kernel/file_systems/nfs4/kernel_interface.cpp
index 5a93ea5..6e36508 100644
--- a/src/add-ons/kernel/file_systems/nfs4/kernel_interface.cpp
+++ b/src/add-ons/kernel/file_systems/nfs4/kernel_interface.cpp
@@ -7,6 +7,8 @@
  */
 
 
+#define __STDC_FORMAT_MACROS
+#include <inttypes.h>
 #include <stdio.h>
 
 #include <AutoDeleter.h>
@@ -148,8 +150,8 @@ static status_t
 nfs4_mount(fs_volume* volume, const char* device, uint32 flags,
                        const char* args, ino_t* _rootVnodeID)
 {
-       TRACE("volume = %p, device = %s, flags = %lu, args = %s", volume, 
device,
-               flags, args);
+       TRACE("volume = %p, device = %s, flags = %" PRIu32 ", args = %s", 
volume,
+               device, flags, args);
 
        status_t result;
 
@@ -214,7 +216,7 @@ nfs4_mount(fs_volume* volume, const char* device, uint32 
flags,
 
        *_rootVnodeID = inode->ID();
 
-       TRACE("*_rootVnodeID = %llu", inode->ID());
+       TRACE("*_rootVnodeID = %" PRIi64, inode->ID());
 
        return B_OK;
 }
@@ -225,7 +227,7 @@ nfs4_get_vnode(fs_volume* volume, ino_t id, fs_vnode* 
vnode, int* _type,
        uint32* _flags, bool reenter)
 {
        FileSystem* fs = reinterpret_cast<FileSystem*>(volume->private_volume);
-       TRACE("volume = %p, id = %llu", volume, id);
+       TRACE("volume = %p, id = %" PRIi64, volume, id);
 
        VnodeToInode* vnodeToInode = new VnodeToInode(id, fs);
        if (vnodeToInode == NULL)
@@ -289,14 +291,14 @@ nfs4_lookup(fs_volume* volume, fs_vnode* dir, const char* 
name, ino_t* _id)
        if (inode == NULL)
                return B_ENTRY_NOT_FOUND;
 
-       TRACE("volume = %p, dir = %llu, name = %s", volume, vti->ID(), name);
+       TRACE("volume = %p, dir = %" PRIi64 ", name = %s", volume, vti->ID(), 
name);
 
        status_t result = inode->LookUp(name, _id);
        if (result != B_OK)
                return result;
        locker.Unlock();
 
-       TRACE("*_id = %llu", *_id);
+       TRACE("*_id = %" PRIi64, *_id);
 
        // If VTI holds an outdated Inode next operation performed on it will
        // return either ERR_STALE or ERR_FHEXPIRED. Both of these error codes
@@ -317,7 +319,7 @@ nfs4_get_vnode_name(fs_volume* volume, fs_vnode* vnode, 
char* buffer,
        size_t bufferSize)
 {
        VnodeToInode* vti = 
reinterpret_cast<VnodeToInode*>(vnode->private_node);
-       TRACE("volume = %p, vnode = %llu", volume, vti->ID());
+       TRACE("volume = %p, vnode = %" PRIi64, volume, vti->ID());
 
        VnodeToInodeLocker _(vti);
        Inode* inode = vti->Get();
@@ -333,7 +335,7 @@ static status_t
 nfs4_put_vnode(fs_volume* volume, fs_vnode* vnode, bool reenter)
 {
        VnodeToInode* vti = 
reinterpret_cast<VnodeToInode*>(vnode->private_node);
-       TRACE("volume = %p, vnode = %llu", volume, vti->ID());
+       TRACE("volume = %p, vnode = %" PRIi64, volume, vti->ID());
 
        delete vti;
        return B_OK;
@@ -345,7 +347,7 @@ nfs4_remove_vnode(fs_volume* volume, fs_vnode* vnode, bool 
reenter)
 {
        FileSystem* fs = reinterpret_cast<FileSystem*>(volume->private_volume);
        VnodeToInode* vti = 
reinterpret_cast<VnodeToInode*>(vnode->private_node);
-       TRACE("volume = %p, vnode = %llu", volume, vti->ID());
+       TRACE("volume = %p, vnode = %" PRIi64, volume, vti->ID());
 
        if (fs->Root() == vti->GetPointer())
                return B_OK;
@@ -362,8 +364,8 @@ nfs4_read_pages(fs_volume* _volume, fs_vnode* vnode, void* 
_cookie, off_t pos,
        const iovec* vecs, size_t count, size_t* _numBytes)
 {
        VnodeToInode* vti = 
reinterpret_cast<VnodeToInode*>(vnode->private_node);
-       TRACE("volume = %p, vnode = %llu, cookie = %p, pos = %llu, "    \
-               "count = %lu, numBytes = %lu", _volume, vti->ID(), _cookie, pos,
+       TRACE("volume = %p, vnode = %" PRIi64 ", cookie = %p, pos = %" PRIi64   
\
+               ", count = %lu, numBytes = %lu", _volume, vti->ID(), _cookie, 
pos,
                count, *_numBytes);
 
        VnodeToInodeLocker _(vti);
@@ -406,8 +408,8 @@ nfs4_write_pages(fs_volume* _volume, fs_vnode* vnode, void* 
_cookie, off_t pos,
        const iovec* vecs, size_t count, size_t* _numBytes)
 {
        VnodeToInode* vti = 
reinterpret_cast<VnodeToInode*>(vnode->private_node);
-       TRACE("volume = %p, vnode = %llu, cookie = %p, pos = %llu, "    \
-               "count = %lu, numBytes = %lu", _volume, vti->ID(), _cookie, pos,
+       TRACE("volume = %p, vnode = %" PRIi64 ", cookie = %p, pos = %" PRIi64   
\
+               ", count = %lu, numBytes = %lu", _volume, vti->ID(), _cookie, 
pos,
                count, *_numBytes);
 
        VnodeToInodeLocker _(vti);
@@ -446,7 +448,7 @@ static status_t
 nfs4_io(fs_volume* volume, fs_vnode* vnode, void* cookie, io_request* request)
 {
        VnodeToInode* vti = 
reinterpret_cast<VnodeToInode*>(vnode->private_node);
-       TRACE("volume = %p, vnode = %llu, cookie = %p", volume, vti->ID(),
+       TRACE("volume = %p, vnode = %" PRIi64 ", cookie = %p", volume, 
vti->ID(),
                cookie);
 
        VnodeToInodeLocker _(vti);
@@ -481,7 +483,7 @@ nfs4_get_file_map(fs_volume* volume, fs_vnode* vnode, off_t 
_offset,
 static status_t
 nfs4_set_flags(fs_volume* volume, fs_vnode* vnode, void* _cookie, int flags)
 {
-       TRACE("volume = %p, vnode = %llu, cookie = %p, flags = %d", volume,
+       TRACE("volume = %p, vnode = %" PRIi64 ", cookie = %p, flags = %d", 
volume,
                reinterpret_cast<VnodeToInode*>(vnode->private_node)->ID(), 
_cookie,
                flags);
 
@@ -495,7 +497,7 @@ static status_t
 nfs4_fsync(fs_volume* volume, fs_vnode* vnode)
 {
        VnodeToInode* vti = 
reinterpret_cast<VnodeToInode*>(vnode->private_node);
-       TRACE("volume = %p, vnode = %llu", volume, vti->ID());
+       TRACE("volume = %p, vnode = %" PRIi64, volume, vti->ID());
 
        VnodeToInodeLocker _(vti);
        Inode* inode = vti->Get();
@@ -511,7 +513,7 @@ nfs4_read_symlink(fs_volume* volume, fs_vnode* link, char* 
buffer,
        size_t* _bufferSize)
 {
        VnodeToInode* vti = reinterpret_cast<VnodeToInode*>(link->private_node);
-       TRACE("volume = %p, link = %llu", volume, vti->ID());
+       TRACE("volume = %p, link = %" PRIi64, volume, vti->ID());
 
        VnodeToInodeLocker _(vti);
        Inode* inode = vti->Get();
@@ -527,8 +529,8 @@ nfs4_create_symlink(fs_volume* volume, fs_vnode* dir, const 
char* name,
        const char* path, int mode)
 {
        VnodeToInode* vti = reinterpret_cast<VnodeToInode*>(dir->private_node);
-       TRACE("volume = %p, dir = %llu, name = %s, path = %s, mode = %d", 
volume,
-               vti->ID(), name, path, mode);
+       TRACE("volume = %p, dir = %" PRIi64 ", name = %s, path = %s, mode = %d",
+               volume, vti->ID(), name, path, mode);
 
        VnodeToInodeLocker _(vti);
        Inode* inode = vti->Get();
@@ -556,7 +558,7 @@ nfs4_link(fs_volume* volume, fs_vnode* dir, const char* 
name, fs_vnode* vnode)
 {
        VnodeToInode* vti = 
reinterpret_cast<VnodeToInode*>(vnode->private_node);
        VnodeToInode* dirVti = 
reinterpret_cast<VnodeToInode*>(dir->private_node);
-       TRACE("volume = %p, dir = %llu, name = %s, vnode = %llu", volume,
+       TRACE("volume = %p, dir = %" PRIi64 ", name = %s, vnode = %" PRIi64, 
volume,
                dirVti->ID(), name, vti->ID());
 
        VnodeToInodeLocker _dir(dirVti);
@@ -584,7 +586,7 @@ nfs4_unlink(fs_volume* volume, fs_vnode* dir, const char* 
name)
        if (inode == NULL)
                return B_ENTRY_NOT_FOUND;
 
-       TRACE("volume = %p, dir = %llu, name = %s", volume, vti->ID(), name);
+       TRACE("volume = %p, dir = %" PRIi64 ", name = %s", volume, vti->ID(), 
name);
 
        ino_t id;
        status_t result = inode->Remove(name, NF4REG, &id);
@@ -613,9 +615,9 @@ nfs4_rename(fs_volume* volume, fs_vnode* fromDir, const 
char* fromName,
        VnodeToInode* fromVti
                = reinterpret_cast<VnodeToInode*>(fromDir->private_node);
        VnodeToInode* toVti = 
reinterpret_cast<VnodeToInode*>(toDir->private_node);
-       TRACE("volume = %p, fromDir = %llu, toDir = %llu, fromName = %s, "      
\
-               "toName = %s", volume, fromVti->ID(), toVti->ID(), fromName,
-               toName);
+       TRACE("volume = %p, fromDir = %" PRIi64 ", toDir = %" PRIi64 ","        
\
+               " fromName = %s, toName = %s", volume, fromVti->ID(), 
toVti->ID(),      \
+               fromName, toName);
 
        VnodeToInodeLocker _from(fromVti);
        Inode* fromInode = fromVti->Get();
@@ -652,7 +654,8 @@ static status_t
 nfs4_access(fs_volume* volume, fs_vnode* vnode, int mode)
 {
        VnodeToInode* vti = 
reinterpret_cast<VnodeToInode*>(vnode->private_node);
-       TRACE("volume = %p, vnode = %llu, mode = %d", volume, vti->ID(), mode);
+       TRACE("volume = %p, vnode = %" PRIi64 ", mode = %d", volume, vti->ID(),
+               mode);
 
        VnodeToInodeLocker _(vti);
        Inode* inode = vti->Get();
@@ -667,7 +670,7 @@ static status_t
 nfs4_read_stat(fs_volume* volume, fs_vnode* vnode, struct stat* stat)
 {
        VnodeToInode* vti = 
reinterpret_cast<VnodeToInode*>(vnode->private_node);
-       TRACE("volume = %p, vnode = %llu", volume, vti->ID());
+       TRACE("volume = %p, vnode = %" PRIi64, volume, vti->ID());
 
        VnodeToInodeLocker _(vti);
        Inode* inode = vti->Get();
@@ -683,8 +686,8 @@ nfs4_write_stat(fs_volume* volume, fs_vnode* vnode, const 
struct stat* stat,
        uint32 statMask)
 {
        VnodeToInode* vti = 
reinterpret_cast<VnodeToInode*>(vnode->private_node);
-       TRACE("volume = %p, vnode = %llu, statMask = %lu", volume, vti->ID(),
-               statMask);
+       TRACE("volume = %p, vnode = %" PRIi64 ", statMask = %" PRIu32, volume,
+               vti->ID(), statMask);
 
        VnodeToInodeLocker _(vti);
        Inode* inode = vti->Get();
@@ -738,8 +741,8 @@ nfs4_create(fs_volume* volume, fs_vnode* dir, const char* 
name, int openMode,
        *_cookie = cookie;
 
        VnodeToInode* vti = reinterpret_cast<VnodeToInode*>(dir->private_node);
-       TRACE("volume = %p, dir = %llu, name = %s, openMode = %d, perms = %d",
-               volume, vti->ID(), name, openMode, perms);
+       TRACE("volume = %p, dir = %" PRIi64 ", name = %s, openMode = %d,"       
\
+               " perms = %d", volume, vti->ID(), name, openMode, perms);
 
        VnodeToInodeLocker _(vti);
        Inode* inode = vti->Get();
@@ -784,7 +787,7 @@ nfs4_create(fs_volume* volume, fs_vnode* dir, const char* 
name, int openMode,
                }
        }
 
-       TRACE("*cookie = %p, *newVnodeID = %llu", *_cookie, *_newVnodeID);
+       TRACE("*cookie = %p, *newVnodeID = %" PRIi64, *_cookie, *_newVnodeID);
        return result;
 }
 
@@ -793,7 +796,7 @@ static status_t
 nfs4_open(fs_volume* volume, fs_vnode* vnode, int openMode, void** _cookie)
 {
        VnodeToInode* vti = 
reinterpret_cast<VnodeToInode*>(vnode->private_node);
-       TRACE("volume = %p, vnode = %llu, openMode = %d", volume, vti->ID(),
+       TRACE("volume = %p, vnode = %" PRIi64 ", openMode = %d", volume, 
vti->ID(),
                openMode);
 
        VnodeToInodeLocker _(vti);
@@ -826,7 +829,7 @@ nfs4_close(fs_volume* volume, fs_vnode* vnode, void* 
_cookie)
 {
        VnodeToInode* vti = 
reinterpret_cast<VnodeToInode*>(vnode->private_node);
 
-       TRACE("volume = %p, vnode = %llu, cookie = %p", volume, vti->ID(),
+       TRACE("volume = %p, vnode = %" PRIi64 ", cookie = %p", volume, 
vti->ID(),
                _cookie);
 
        VnodeToInodeLocker _(vti);
@@ -848,7 +851,7 @@ nfs4_free_cookie(fs_volume* volume, fs_vnode* vnode, void* 
_cookie)
 {
        VnodeToInode* vti = 
reinterpret_cast<VnodeToInode*>(vnode->private_node);
 
-       TRACE("volume = %p, vnode = %llu, cookie = %p", volume, vti->ID(),
+       TRACE("volume = %p, vnode = %" PRIi64 ", cookie = %p", volume, 
vti->ID(),
                _cookie);
 
        VnodeToInodeLocker _(vti);
@@ -873,8 +876,8 @@ nfs4_read(fs_volume* volume, fs_vnode* vnode, void* 
_cookie, off_t pos,
        void* buffer, size_t* length)
 {
        VnodeToInode* vti = 
reinterpret_cast<VnodeToInode*>(vnode->private_node);
-       TRACE("volume = %p, vnode = %llu, cookie = %p, pos = %llu, length = 
%lu",
-               volume, vti->ID(), _cookie, pos, *length);
+       TRACE("volume = %p, vnode = %" PRIi64 ", cookie = %p, pos = %" PRIi64   
\
+               ", length = %lu", volume, vti->ID(), _cookie, pos, *length);
 
        VnodeToInodeLocker _(vti);
        Inode* inode = vti->Get();
@@ -898,8 +901,8 @@ nfs4_write(fs_volume* volume, fs_vnode* vnode, void* 
_cookie, off_t pos,
        const void* _buffer, size_t* length)
 {
        VnodeToInode* vti = 
reinterpret_cast<VnodeToInode*>(vnode->private_node);
-       TRACE("volume = %p, vnode = %llu, cookie = %p, pos = %llu, length = 
%lu",
-               volume, vti->ID(), _cookie, pos, *length);
+       TRACE("volume = %p, vnode = %" PRIi64 ", cookie = %p, pos = %" PRIi64   
\
+               ", length = %lu", volume, vti->ID(), _cookie, pos, *length);
 
        VnodeToInodeLocker _(vti);
        Inode* inode = vti->Get();
@@ -923,7 +926,8 @@ nfs4_create_dir(fs_volume* volume, fs_vnode* parent, const 
char* name,
        int mode)
 {
        VnodeToInode* vti = 
reinterpret_cast<VnodeToInode*>(parent->private_node);
-       TRACE("volume = %p, parent = %llu, mode = %d", volume, vti->ID(), mode);
+       TRACE("volume = %p, parent = %" PRIi64 ", mode = %d", volume, vti->ID(),
+               mode);
 
        VnodeToInodeLocker _(vti);
        Inode* inode = vti->Get();
@@ -950,7 +954,8 @@ static status_t
 nfs4_remove_dir(fs_volume* volume, fs_vnode* parent, const char* name)
 {
        VnodeToInode* vti = 
reinterpret_cast<VnodeToInode*>(parent->private_node);
-       TRACE("volume = %p, parent = %llu, name = %s", volume, vti->ID(), name);
+       TRACE("volume = %p, parent = %" PRIi64 ", name = %s", volume, vti->ID(),
+               name);
 
        VnodeToInodeLocker _(vti);
        Inode* inode = vti->Get();
@@ -985,7 +990,7 @@ nfs4_open_dir(fs_volume* volume, fs_vnode* vnode, void** 
_cookie)
        *_cookie = cookie;
 
        VnodeToInode* vti = 
reinterpret_cast<VnodeToInode*>(vnode->private_node);
-       TRACE("volume = %p, vnode = %llu", volume, vti->ID());
+       TRACE("volume = %p, vnode = %" PRIi64, volume, vti->ID());
 
        VnodeToInodeLocker _(vti);
        Inode* inode = vti->Get();
@@ -1005,7 +1010,7 @@ nfs4_open_dir(fs_volume* volume, fs_vnode* vnode, void** 
_cookie)
 static status_t 
 nfs4_close_dir(fs_volume* volume, fs_vnode* vnode, void* _cookie)
 {
-       TRACE("volume = %p, vnode = %llu, cookie = %p", volume,
+       TRACE("volume = %p, vnode = %" PRIi64 ", cookie = %p", volume,
                reinterpret_cast<VnodeToInode*>(vnode->private_node)->ID(), 
_cookie);
 
        Cookie* cookie = reinterpret_cast<Cookie*>(_cookie);
@@ -1016,7 +1021,7 @@ nfs4_close_dir(fs_volume* volume, fs_vnode* vnode, void* 
_cookie)
 static status_t
 nfs4_free_dir_cookie(fs_volume* volume, fs_vnode* vnode, void* cookie)
 {
-       TRACE("volume = %p, vnode = %llu, cookie = %p", volume,
+       TRACE("volume = %p, vnode = %" PRIi64 ", cookie = %p", volume,
                reinterpret_cast<VnodeToInode*>(vnode->private_node)->ID(), 
cookie);
 
        delete reinterpret_cast<OpenDirCookie*>(cookie);
@@ -1030,7 +1035,7 @@ nfs4_read_dir(fs_volume* volume, fs_vnode* vnode, void* 
_cookie,
 {
        OpenDirCookie* cookie = reinterpret_cast<OpenDirCookie*>(_cookie);
        VnodeToInode* vti = 
reinterpret_cast<VnodeToInode*>(vnode->private_node);
-       TRACE("volume = %p, vnode = %llu, cookie = %p", volume, vti->ID(),
+       TRACE("volume = %p, vnode = %" PRIi64 ", cookie = %p", volume, 
vti->ID(),
                _cookie);
 
        VnodeToInodeLocker _(vti);
@@ -1045,7 +1050,7 @@ nfs4_read_dir(fs_volume* volume, fs_vnode* vnode, void* 
_cookie,
 static status_t
 nfs4_rewind_dir(fs_volume* volume, fs_vnode* vnode, void* _cookie)
 {
-       TRACE("volume = %p, vnode = %llu, cookie = %p", volume,
+       TRACE("volume = %p, vnode = %" PRIi64 ", cookie = %p", volume,
                reinterpret_cast<VnodeToInode*>(vnode->private_node)->ID(), 
_cookie);
 
        OpenDirCookie* cookie = reinterpret_cast<OpenDirCookie*>(_cookie);
@@ -1069,7 +1074,7 @@ nfs4_open_attr_dir(fs_volume* volume, fs_vnode* vnode, 
void** _cookie)
        *_cookie = cookie;
 
        VnodeToInode* vti = 
reinterpret_cast<VnodeToInode*>(vnode->private_node);
-       TRACE("volume = %p, vnode = %llu", volume, vti->ID());
+       TRACE("volume = %p, vnode = %" PRIi64, volume, vti->ID());
 
        VnodeToInodeLocker _(vti);
        Inode* inode = vti->Get();
@@ -1292,7 +1297,7 @@ nfs4_test_lock(fs_volume* volume, fs_vnode* vnode, void* 
_cookie,
 {
        VnodeToInode* vti = 
reinterpret_cast<VnodeToInode*>(vnode->private_node);
        OpenFileCookie* cookie = reinterpret_cast<OpenFileCookie*>(_cookie);
-       TRACE("volume = %p, vnode = %llu, cookie = %p, lock = %p", volume,
+       TRACE("volume = %p, vnode = %" PRIi64 ", cookie = %p, lock = %p", 
volume,
                vti->ID(), _cookie, lock);
 
        VnodeToInodeLocker _(vti);
@@ -1310,7 +1315,7 @@ nfs4_acquire_lock(fs_volume* volume, fs_vnode* vnode, 
void* _cookie,
 {
        VnodeToInode* vti = 
reinterpret_cast<VnodeToInode*>(vnode->private_node);
        OpenFileCookie* cookie = reinterpret_cast<OpenFileCookie*>(_cookie);
-       TRACE("volume = %p, vnode = %llu, cookie = %p, lock = %p", volume,
+       TRACE("volume = %p, vnode = %" PRIi64 ", cookie = %p, lock = %p", 
volume,
                vti->ID(), _cookie, lock);
 
 
@@ -1329,7 +1334,7 @@ nfs4_release_lock(fs_volume* volume, fs_vnode* vnode, 
void* _cookie,
                        const struct flock* lock)
 {
        VnodeToInode* vti = 
reinterpret_cast<VnodeToInode*>(vnode->private_node);
-       TRACE("volume = %p, vnode = %llu, cookie = %p, lock = %p", volume,
+       TRACE("volume = %p, vnode = %" PRIi64 ", cookie = %p, lock = %p", 
volume,
                vti->ID(), _cookie, lock);
 
        VnodeToInodeLocker _(vti);

############################################################################

Commit:      4c64bd932c634e7115a88d494de083dca7c9e20d
Author:      Pawel Dziepak <pdziepak@xxxxxxxxxxx>
Date:        Thu Feb 14 00:43:17 2013 UTC

nfs4: Fix wrong cast in nfs4_rename

----------------------------------------------------------------------------

diff --git a/src/add-ons/kernel/file_systems/nfs4/kernel_interface.cpp 
b/src/add-ons/kernel/file_systems/nfs4/kernel_interface.cpp
index 6e36508..b3366cf 100644
--- a/src/add-ons/kernel/file_systems/nfs4/kernel_interface.cpp
+++ b/src/add-ons/kernel/file_systems/nfs4/kernel_interface.cpp
@@ -636,11 +636,16 @@ nfs4_rename(fs_volume* volume, fs_vnode* fromDir, const 
char* fromName,
        if (result != B_OK)
                return result;
 
-       Inode* child;
-       result = get_vnode(volume, id, reinterpret_cast<void**>(&child));
+       VnodeToInode* vti;
+       result = get_vnode(volume, id, reinterpret_cast<void**>(&vti));
        if (result == B_OK) {
-               unremove_vnode(volume, id);
+               Inode* child = vti->Get();
+               if (child == NULL) {
+                       put_vnode(volume, id);
+                       return B_ENTRY_NOT_FOUND;
+               }
 
+               unremove_vnode(volume, id);
                child->fInfo.fParent = toInode->fInfo.fHandle;
                child->fInfo.CreateName(toInode->fInfo.fPath, toName);
                put_vnode(volume, id);


Other related posts: