f32bf50d43
When the MDS of a pNFS service receives an Open/Create and the file already exists, it must do a Setattr of size == 0. Without this patch, this was eroneously done via a VOP_SETAATR() call, which would set the length of the MDS file to 0 (which is already is, since all data lives on the DSs). This patch fixes the problem by doing a nfsvno_setattr() instead of VOP_SETATTR(), which knows to do a proxied Setattr on the DSs. For a non-pNFS server, the change has no effect, since nfsvno_setattr() only does a VOP_SETATTR() for that case. This was found during a recent IETF NFSv4 testing event. MFC after: 2 weeks |
||
---|---|---|
.. | ||
nfs_fha_new.c | ||
nfs_fha_new.h | ||
nfs_nfsdcache.c | ||
nfs_nfsdkrpc.c | ||
nfs_nfsdport.c | ||
nfs_nfsdserv.c | ||
nfs_nfsdsocket.c | ||
nfs_nfsdstate.c | ||
nfs_nfsdsubs.c |