diff options
author | rmacklem <rmacklem@FreeBSD.org> | 2011-06-28 22:52:38 +0000 |
---|---|---|
committer | rmacklem <rmacklem@FreeBSD.org> | 2011-06-28 22:52:38 +0000 |
commit | 0393f389af4d3d0b054c79ffd0af82e081218262 (patch) | |
tree | 979886e8e89b86282d64a53c2b4ed0f99b3ddc6f /sys/fs/nfsclient/nfs_clrpcops.c | |
parent | 82faa3e64109fa8b1a1833758bd1404e494548b2 (diff) | |
download | FreeBSD-src-0393f389af4d3d0b054c79ffd0af82e081218262.zip FreeBSD-src-0393f389af4d3d0b054c79ffd0af82e081218262.tar.gz |
Fix the new NFSv4 client so that it doesn't fill the cached
mode attribute in as 0 when doing writes. The change adds
the Mode attribute plus the others except Owner and Owner_group
to the list requested by the NFSv4 Write Operation. This fixed
a problem where an executable file built by "cc" would get mode
0111 instead of 0755 for some NFSv4 servers.
Found at the recent NFSv4 interoperability Bakeathon.
Tested by: tdh at excfb.com
MFC after: 2 weeks
Diffstat (limited to 'sys/fs/nfsclient/nfs_clrpcops.c')
-rw-r--r-- | sys/fs/nfsclient/nfs_clrpcops.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/fs/nfsclient/nfs_clrpcops.c b/sys/fs/nfsclient/nfs_clrpcops.c index 5d83d0b..ee73882 100644 --- a/sys/fs/nfsclient/nfs_clrpcops.c +++ b/sys/fs/nfsclient/nfs_clrpcops.c @@ -1527,8 +1527,8 @@ nfsrpc_writerpc(vnode_t vp, struct uio *uiop, int *iomode, * deadlock, is that the upcall times out and allows * the write to complete. However, progress is so slow * that it might just as well be deadlocked. - * So, we just get the attributes that change with each - * write Op. + * As such, we get the rest of the attributes, but not + * Owner or Owner_group. * nb: nfscl_loadattrcache() needs to be told that these * partial attributes from a write rpc are being * passed in, via a argument flag. |