On Sat, Oct 08, 2016 at 09:08:54AM +0800, Junling Zheng wrote: > On 2016/10/1 0:25, Jaegeuk Kim wrote: > > On Thu, Sep 29, 2016 at 06:38:37PM +0800, Junling Zheng wrote: > >> Currently, versions in f2fs_configuration have one more byte, so versions > >> in f2fs_super_block may not end with '\0', which will cause errors while > >> printing it in print_raw_sb_info(). Unify the length of versions to fix it. > > > > This is to handle non-zero terminated version characters in > > f2fs_super_block. > > What is your point? > > > > Thanks, > > > > If version characters are non-zero terminated in f2fs_super_block, it will get > incorrect results while printing it in print_raw_sb_info(): > ... > DISP("%s", sb, version); > ...
Then, I think we need to fix this line to avoid garbage when printing out. Thanks, > > Thanks, > Junling > > >> > >> Signed-off-by: Junling Zheng <zhengjunl...@huawei.com> > >> --- > >> include/f2fs_fs.h | 6 +++--- > >> lib/libf2fs.c | 4 ++-- > >> 2 files changed, 5 insertions(+), 5 deletions(-) > >> > >> diff --git a/include/f2fs_fs.h b/include/f2fs_fs.h > >> index 1345e2d..e666076 100644 > >> --- a/include/f2fs_fs.h > >> +++ b/include/f2fs_fs.h > >> @@ -270,9 +270,9 @@ struct f2fs_configuration { > >> u_int64_t target_sectors; > >> u_int32_t sectors_per_blk; > >> u_int32_t blks_per_seg; > >> - __u8 init_version[VERSION_LEN + 1]; > >> - __u8 sb_version[VERSION_LEN + 1]; > >> - __u8 version[VERSION_LEN + 1]; > >> + __u8 init_version[VERSION_LEN]; > >> + __u8 sb_version[VERSION_LEN]; > >> + __u8 version[VERSION_LEN]; > >> char *vol_label; > >> int heap; > >> int32_t fd, kd; > >> diff --git a/lib/libf2fs.c b/lib/libf2fs.c > >> index 706cc34..0a9436b 100644 > >> --- a/lib/libf2fs.c > >> +++ b/lib/libf2fs.c > >> @@ -570,11 +570,11 @@ int f2fs_dev_is_umounted(struct f2fs_configuration > >> *c) > >> void get_kernel_version(__u8 *version) > >> { > >> int i; > >> - for (i = 0; i < VERSION_LEN; i++) { > >> + for (i = 0; i < VERSION_LEN - 1; i++) { > >> if (version[i] == '\n') > >> break; > >> } > >> - memset(version + i, 0, VERSION_LEN + 1 - i); > >> + memset(version + i, 0, VERSION_LEN - i); > >> } > >> > >> int f2fs_get_device_info(struct f2fs_configuration *c) > >> -- > >> 2.7.4 > >> > >> > >> ------------------------------------------------------------------------------ > >> _______________________________________________ > >> Linux-f2fs-devel mailing list > >> Linux-f2fs-devel@lists.sourceforge.net > >> https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel > > > > . > > > ------------------------------------------------------------------------------ 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