On 2018/4/3 17:24, Chao Yu wrote: > Hi Junling, > > On 2018/4/3 10:15, Junling Zheng wrote: >> Hi, Chao >> >> On 2018/4/2 21:35, Chao Yu wrote: >>> On 2018/4/2 12:19, Junling Zheng wrote: >>>> Now one "-O" option can support multiple features separated >>>> by a comma or blank, such as: >>>> feature1,feature2,... or "feature1 feature2 ..." >>> >>> At a glance, can last sector number be parsed as feature name? >>> >> >> No, we should use quotation marks to wrap whole features while separating >> them with blanks. > > Sorry, that's right. > >> >> Thanks, >> Junling >> >>> Thanks, >>> >>>> >>>> Signed-off-by: Junling Zheng <zhengjunl...@huawei.com> >>>> --- >>>> mkfs/f2fs_format_main.c | 30 +++++++++++++++++++++++++++--- >>>> 1 file changed, 27 insertions(+), 3 deletions(-) >>>> >>>> diff --git a/mkfs/f2fs_format_main.c b/mkfs/f2fs_format_main.c >>>> index 741600e..76ff296 100644 >>>> --- a/mkfs/f2fs_format_main.c >>>> +++ b/mkfs/f2fs_format_main.c >>>> @@ -80,10 +80,8 @@ static void f2fs_show_info() >>>> MSG(0, "Info: Trim is %s\n", c.trim ? "enabled": "disabled"); >>>> } >>>> >>>> -static void parse_feature(const char *features) >>>> +static void set_feature_bits(char *features) >>>> { >>>> - while (*features == ' ') >>>> - features++; >>>> if (!strcmp(features, "encrypt")) { >>>> c.feature |= cpu_to_le32(F2FS_FEATURE_ENCRYPT); >>>> } else if (!strcmp(features, "verity")) { >>>> @@ -108,6 +106,32 @@ static void parse_feature(const char *features) >>>> } >>>> } >>>> >>>> +static void parse_feature(const char *features) >>>> +{ >>>> + char *buf, *sub, *next; >>>> + >>>> + buf = calloc(strlen(features) + 1, sizeof(char)); >>>> + ASSERT(buf); >>>> + strncpy(buf, features, strlen(features) + 1); >>>> + >>>> + for (sub = buf; sub && *sub; sub = next ? next + 1 : NULL) { >>>> + /* Skip the beginning blanks */ >>>> + while (*sub && *sub == ' ') >>>> + sub++; >>>> + next = sub; >>>> + /* Skip a feature word */ >>>> + while (*next && *next != ' ' && *next != ',') >>>> + next++; >>>> + >>>> + if (*next == 0) >>>> + next = NULL; >>>> + else >>>> + *next = 0; >>>> + >>>> + set_feature_bits(sub); >>>> + } > > free(buf);? >
Sorry :( I'll send patch v2... > Thanks, > >>>> +} >>>> + >>>> static void f2fs_parse_options(int argc, char *argv[]) >>>> { >>>> static const char *option_string = "qa:c:d:e:E:il:mo:O:s:S:z:t:f"; >>>> >>> >>> . >>> >> >> >> >> . >> > > > . > ------------------------------------------------------------------------------ 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