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

Reply via email to