linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] NFS: add FATTR4_WORD1_MODE flags for cache_consistency_bitmask
@ 2014-04-13 13:11 Kinglong Mee
  2014-04-13 14:28 ` Trond Myklebust
  0 siblings, 1 reply; 12+ messages in thread
From: Kinglong Mee @ 2014-04-13 13:11 UTC (permalink / raw)
  To: Trond Myklebust, linux-nfs

After writing data at NFS client, file's access mode is inconsistent
with server.
Because WRITE proceduce changes the S_ISUID and S_ISGID bits,
but client don't get it.

#touch hello; chmod 06777 hello; stat hello;
  File: ‘hello’
  Size: 0               Blocks: 0          IO Block: 262144 regular
empty file
Device: 24h/36d Inode: 786434      Links: 1
Access: (6777/-rwsrwsrwx)  Uid: (    0/    root)   Gid: (    0/    root)
Context: system_u:object_r:nfs_t:s0
Access: 2014-04-13 21:00:44.996908708 +0800
Modify: 2014-04-13 21:00:44.996908708 +0800
Change: 2014-04-13 21:00:45.033908705 +0800
 Birth: -

#echo 12324 > hello; stat hello; stat /nfstest/hello
  File: ‘hello’
  Size: 6               Blocks: 0          IO Block: 262144 regular file
Device: 24h/36d Inode: 786434      Links: 1
Access: (6777/-rwsrwsrwx)  Uid: (    0/    root)   Gid: (    0/    root)
         ^^^^^ it should be 0777
Context: system_u:object_r:nfs_t:s0
Access: 2014-04-13 21:00:44.996908708 +0800
Modify: 2014-04-13 21:00:45.061908703 +0800
Change: 2014-04-13 21:00:45.061908703 +0800
 Birth: -
  File: ‘/nfstest/hello’
  Size: 6               Blocks: 8          IO Block: 4096   regular file
Device: 803h/2051d      Inode: 786434      Links: 1
Access: (0777/-rwxrwxrwx)  Uid: (    0/    root)   Gid: (    0/    root)
         ^^^^^ bits on the server
Context: system_u:object_r:default_t:s0
Access: 2014-04-13 21:00:44.996908708 +0800
Modify: 2014-04-13 21:00:45.061908703 +0800
Change: 2014-04-13 21:00:45.061908703 +0800
 Birth: -

Signed-off-by: Kinglong Mee <kinglongmee@gmail.com>
---
 fs/nfs/nfs4proc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
index 397be39..f234af7 100644
--- a/fs/nfs/nfs4proc.c
+++ b/fs/nfs/nfs4proc.c
@@ -2819,7 +2819,7 @@ static int _nfs4_server_capabilities(struct
nfs_server *server, struct nfs_fh *f

 		memcpy(server->cache_consistency_bitmask, res.attr_bitmask,
sizeof(server->cache_consistency_bitmask));
 		server->cache_consistency_bitmask[0] &=
FATTR4_WORD0_CHANGE|FATTR4_WORD0_SIZE;
-		server->cache_consistency_bitmask[1] &=
FATTR4_WORD1_TIME_METADATA|FATTR4_WORD1_TIME_MODIFY;
+		server->cache_consistency_bitmask[1] &=
FATTR4_WORD1_MODE|FATTR4_WORD1_TIME_METADATA|FATTR4_WORD1_TIME_MODIFY;
 		server->cache_consistency_bitmask[2] = 0;
 		server->acl_bitmask = res.acl_bitmask;
 		server->fh_expire_type = res.fh_expire_type;
-- 
1.9.0


^ permalink raw reply related	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2014-04-16  2:51 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-04-13 13:11 [PATCH] NFS: add FATTR4_WORD1_MODE flags for cache_consistency_bitmask Kinglong Mee
2014-04-13 14:28 ` Trond Myklebust
2014-04-13 14:53   ` Kinglong Mee
2014-04-13 15:24     ` Trond Myklebust
2014-04-14 12:59       ` Kinglong Mee
2014-04-14 13:12         ` Trond Myklebust
2014-04-14 13:31           ` Kinglong Mee
2014-04-14 15:00             ` Trond Myklebust
2014-04-15  5:02               ` Kinglong Mee
2014-04-15 13:22                 ` Trond Myklebust
2014-04-15 14:24                   ` Trond Myklebust
2014-04-16  2:50                     ` Kinglong Mee

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).