All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jaegeuk Kim <jaegeuk@kernel.org>
To: Andreas Dilger <adilger@dilger.ca>
Cc: linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org,
	linux-f2fs-devel@lists.sourceforge.net, stable@vger.kernel.org
Subject: Re: [PATCH] f2fs: fix wrong bfree and bavail
Date: Tue, 5 Sep 2017 15:41:37 -0700	[thread overview]
Message-ID: <20170905224137.GA49767@jaegeuk-macbookpro.roam.corp.google.com> (raw)
In-Reply-To: <3A56CCE1-34B3-4EBA-9871-DAF175AB89BD@dilger.ca>

On 09/05, Andreas Dilger wrote:
> On Sep 5, 2017, at 3:06 PM, Jaegeuk Kim <jaegeuk@kernel.org> wrote:
> > 
> > This patch fixes bavail and bfree finally.
> > 
> > long    f_bfree;    /* free blocks in fs */
> > long    f_bavail;   /* free blocks avail to non-superuser */
> > 
> > So, bfree represents all the reserved blocks, while bavail does the space only
> > visible to normal user.
> > 
> > Fix: 3e6d0b4d9c1c ("f2fs: fix incorrect f_bfree calculation in ->statfs")
> > Cc: <stable@vger.kernel.org> # 4.8+
> > Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
> > ---
> > fs/f2fs/super.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> > 
> > diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c
> > index 7e29db227910..17cca4cb93af 100644
> > --- a/fs/f2fs/super.c
> > +++ b/fs/f2fs/super.c
> > @@ -955,8 +955,8 @@ static int f2fs_statfs(struct dentry *dentry, struct kstatfs *buf)
> > 	buf->f_bsize = sbi->blocksize;
> > 
> > 	buf->f_blocks = total_count - start_count;
> > -	buf->f_bfree = user_block_count - valid_user_blocks(sbi) + ovp_count;
> > -	buf->f_bavail = user_block_count - valid_user_blocks(sbi) -
> > +	buf->f_bfree = user_block_count - valid_user_blocks(sbi);
> > +	buf->f_bavail = user_block_count - valid_user_blocks(sbi) - ovp_count -
> > 						sbi->reserved_blocks;
> 
> To keep the statfs data more consistent, you could use:
> 
> 	buf->f_bavail = buf->f_bfree - ovp_count - sbi->reserved_blocks;
> 
> That avoids the extra subtraction, and avoids (minor) issues if these values
> change while this syscall is running.

Much better. Thank you so much for correcting me.

> 
> Cheers, Andreas
> 
> 
> 
> 
> 

  reply	other threads:[~2017-09-05 22:41 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-05 21:06 [PATCH] f2fs: fix wrong bfree and bavail Jaegeuk Kim
2017-09-05 21:20 ` Andreas Dilger
2017-09-05 22:41   ` Jaegeuk Kim [this message]
2017-09-06  3:07 ` Chao Yu
2017-09-06  3:07   ` Chao Yu
2017-09-06  3:10   ` Jaegeuk Kim
2017-09-06  3:19     ` Chao Yu
2017-09-06  3:19       ` Chao Yu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170905224137.GA49767@jaegeuk-macbookpro.roam.corp.google.com \
    --to=jaegeuk@kernel.org \
    --cc=adilger@dilger.ca \
    --cc=linux-f2fs-devel@lists.sourceforge.net \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.