After I use open(TESTFILE,O_RDWR | O_CREAT,0644),and then close it, then I get gid and uid,I found that the uid and gid is -2.But after 3S, I can get the right uid and gid. The reason is that when opening a file,we can get the right uid andgid.but after decode,we lost it and the client set the value to 2. whenclosing it,we also get the stat info,but only fo size,ctime and mtime.After 3s,local attribute become invalidated,and then ge the stat from disk. In order to resolver that problem,I made a change innfs4_xdr_dec_open(); change if(decode_getfatr(&xdr,res->f_attr,res->server,!RPC_IS_ASYNC(rqstp->rq_task))!=0) to if(decode_getfatr(&xdr,res->f_attr,res->server,1) -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html