linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] nfsd: getattr for FATTR4_WORD0_FILES_AVAIL needs the statfs buffer
@ 2014-05-28  8:46 Christoph Hellwig
  2014-05-28 19:35 ` J. Bruce Fields
  0 siblings, 1 reply; 3+ messages in thread
From: Christoph Hellwig @ 2014-05-28  8:46 UTC (permalink / raw)
  To: J. Bruce Fields; +Cc: linux-nfs

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 fs/nfsd/nfs4xdr.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/fs/nfsd/nfs4xdr.c b/fs/nfsd/nfs4xdr.c
index d23412e..4bfe880c 100644
--- a/fs/nfsd/nfs4xdr.c
+++ b/fs/nfsd/nfs4xdr.c
@@ -2049,8 +2049,8 @@ nfsd4_encode_fattr(struct xdr_stream *xdr, struct svc_fh *fhp,
 	err = vfs_getattr(&path, &stat);
 	if (err)
 		goto out_nfserr;
-	if ((bmval0 & (FATTR4_WORD0_FILES_FREE | FATTR4_WORD0_FILES_TOTAL |
-			FATTR4_WORD0_MAXNAME)) ||
+	if ((bmval0 & (FATTR4_WORD0_FILES_AVAIL | FATTR4_WORD0_FILES_FREE |
+			FATTR4_WORD0_FILES_TOTAL | FATTR4_WORD0_MAXNAME)) ||
 	    (bmval1 & (FATTR4_WORD1_SPACE_AVAIL | FATTR4_WORD1_SPACE_FREE |
 		       FATTR4_WORD1_SPACE_TOTAL))) {
 		err = vfs_statfs(&path, &statfs);
-- 
1.7.10.4


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

* Re: [PATCH] nfsd: getattr for FATTR4_WORD0_FILES_AVAIL needs the statfs buffer
  2014-05-28  8:46 [PATCH] nfsd: getattr for FATTR4_WORD0_FILES_AVAIL needs the statfs buffer Christoph Hellwig
@ 2014-05-28 19:35 ` J. Bruce Fields
  2014-05-28 19:38   ` Christoph Hellwig
  0 siblings, 1 reply; 3+ messages in thread
From: J. Bruce Fields @ 2014-05-28 19:35 UTC (permalink / raw)
  To: Christoph Hellwig; +Cc: linux-nfs

Thanks, applying for 3.16 and stable.

But, I don't get it: we've been returning random uninitialized data in
FILES_AVAIL since forever, and nobody's noticed till now?

Oh, I see: probably every client requests at least one other thing on
that list at the same time it requests FILES_AVAIL.

--b.

On Wed, May 28, 2014 at 10:46:13AM +0200, Christoph Hellwig wrote:
> Signed-off-by: Christoph Hellwig <hch@lst.de>
> ---
>  fs/nfsd/nfs4xdr.c |    4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/fs/nfsd/nfs4xdr.c b/fs/nfsd/nfs4xdr.c
> index d23412e..4bfe880c 100644
> --- a/fs/nfsd/nfs4xdr.c
> +++ b/fs/nfsd/nfs4xdr.c
> @@ -2049,8 +2049,8 @@ nfsd4_encode_fattr(struct xdr_stream *xdr, struct svc_fh *fhp,
>  	err = vfs_getattr(&path, &stat);
>  	if (err)
>  		goto out_nfserr;
> -	if ((bmval0 & (FATTR4_WORD0_FILES_FREE | FATTR4_WORD0_FILES_TOTAL |
> -			FATTR4_WORD0_MAXNAME)) ||
> +	if ((bmval0 & (FATTR4_WORD0_FILES_AVAIL | FATTR4_WORD0_FILES_FREE |
> +			FATTR4_WORD0_FILES_TOTAL | FATTR4_WORD0_MAXNAME)) ||
>  	    (bmval1 & (FATTR4_WORD1_SPACE_AVAIL | FATTR4_WORD1_SPACE_FREE |
>  		       FATTR4_WORD1_SPACE_TOTAL))) {
>  		err = vfs_statfs(&path, &statfs);
> -- 
> 1.7.10.4
> 

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

* Re: [PATCH] nfsd: getattr for FATTR4_WORD0_FILES_AVAIL needs the statfs buffer
  2014-05-28 19:35 ` J. Bruce Fields
@ 2014-05-28 19:38   ` Christoph Hellwig
  0 siblings, 0 replies; 3+ messages in thread
From: Christoph Hellwig @ 2014-05-28 19:38 UTC (permalink / raw)
  To: J. Bruce Fields; +Cc: Christoph Hellwig, linux-nfs

On Wed, May 28, 2014 at 03:35:55PM -0400, J. Bruce Fields wrote:
> Thanks, applying for 3.16 and stable.
> 
> But, I don't get it: we've been returning random uninitialized data in
> FILES_AVAIL since forever, and nobody's noticed till now?
> 
> Oh, I see: probably every client requests at least one other thing on
> that list at the same time it requests FILES_AVAIL.

Yeah.  I only found this when prototyping schemes to split
nfsd4_encode_fattr into easier manageable chunks.


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

end of thread, other threads:[~2014-05-28 19:38 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-05-28  8:46 [PATCH] nfsd: getattr for FATTR4_WORD0_FILES_AVAIL needs the statfs buffer Christoph Hellwig
2014-05-28 19:35 ` J. Bruce Fields
2014-05-28 19:38   ` Christoph Hellwig

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).