[f2fs-dev] [PATCH 4/4] f2fs: unify the length of versions

2016-09-29 Thread Junling Zheng
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.

Signed-off-by: Junling Zheng 
---
 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


Re: [f2fs-dev] [PATCH 4/4] f2fs: unify the length of versions

2016-09-30 Thread Jaegeuk Kim
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,

> 
> Signed-off-by: Junling Zheng 
> ---
>  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

--
___
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel


Re: [f2fs-dev] [PATCH 4/4] f2fs: unify the length of versions

2016-10-07 Thread Junling Zheng
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);
...

Thanks,
Junling

>>
>> Signed-off-by: Junling Zheng 
>> ---
>>  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


Re: [f2fs-dev] [PATCH 4/4] f2fs: unify the length of versions

2016-10-10 Thread Jaegeuk Kim
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 
> >> ---
> >>  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