mirror of https://github.com/torvalds/linux.git
btrfs: sysfs: accept size suffixes for read policy values
We now parse human-friendly size values (e.g. '1G', '2M') when setting read policies. Signed-off-by: Anand Jain <anand.jain@oracle.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
19eaf5fd8c
commit
a66b39f699
|
|
@ -1342,17 +1342,18 @@ int btrfs_read_policy_to_enum(const char *str, s64 *value_ret)
|
|||
/* Separate value from input in policy:value format. */
|
||||
value_str = strchr(param, ':');
|
||||
if (value_str) {
|
||||
int ret;
|
||||
char *retptr;
|
||||
|
||||
*value_str = 0;
|
||||
value_str++;
|
||||
if (!value_ret)
|
||||
return -EINVAL;
|
||||
ret = kstrtos64(value_str, 10, value_ret);
|
||||
if (ret)
|
||||
|
||||
*value_ret = memparse(value_str, &retptr);
|
||||
/* There could be any trailing typos after the value. */
|
||||
retptr = skip_spaces(retptr);
|
||||
if (*retptr != 0 || *value_ret <= 0)
|
||||
return -EINVAL;
|
||||
if (*value_ret < 0)
|
||||
return -ERANGE;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue