Hi, Jaegeuk:

On 2018/3/28 1:19, Jaegeuk Kim wrote:
> From: katao <ka...@xiaomi.com>
> 
> The args of wanted_total_sectors is calculated based
> on the DEFAULT_SECTOR_SIZE(512Bytes).get_device_info(i)
> may be reset dev_sector_size, we should reset the number
> of wanted_total_sectors.
> 
> This bug was reported to Google Issue Tracker.
> Link: https://issuetracker.google.com/issues/76407663
> 

This fix is puzzling...

IMO, we should not recalculate wanted_total_sectors here.
c.wanted_total_sectors is got from user in f2fs_parse_options.
Users must know the sector size of device they use, and they need to
pass a correct wanted_total_sectors to mkfs.f2fs.

Thanks,
Junling

> Signed-off-by: katao <ka...@xiaomi.com>
> Signed-off-by: Jaegeuk Kim <jaeg...@google.com>
> ---
>  lib/libf2fs.c | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/lib/libf2fs.c b/lib/libf2fs.c
> index 0c684d5..5f11796 100644
> --- a/lib/libf2fs.c
> +++ b/lib/libf2fs.c
> @@ -799,8 +799,15 @@ int get_device_info(int i)
>  #ifdef BLKSSZGET
>               if (ioctl(fd, BLKSSZGET, &sector_size) < 0)
>                       MSG(0, "\tError: Using the default sector size\n");
> -             else if (dev->sector_size < sector_size)
> +             else if (dev->sector_size < sector_size){
> +                     /*
> +                      * wanted_total_sectors need to be reset by new
> +                      * sector_size.
> +                      */
> +                     c.wanted_total_sectors = (c.wanted_total_sectors *
> +                                             dev->sector_size) / sector_size;
>                       dev->sector_size = sector_size;
> +             }
>  #endif
>  #ifdef BLKGETSIZE64
>               if (ioctl(fd, BLKGETSIZE64, &dev->total_sectors) < 0) {
> 



------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to