btrfs: sysfs: use sysfs_streq for string matching
We have own string matching helper that duplicates what sysfs_streq does, with a slight difference that it skips initial whitespace. So far this is used for the drive allocation policy. The initial whitespace of written sysfs values should be rather discouraged and we should use a standard helper. Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com> Reviewed-by: Anand Jain <anand.jain@oracle.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
f9eab5f0bb
commit
7f298f224e
|
@ -1150,25 +1150,6 @@ static ssize_t btrfs_generation_show(struct kobject *kobj,
|
|||
}
|
||||
BTRFS_ATTR(, generation, btrfs_generation_show);
|
||||
|
||||
/*
|
||||
* Look for an exact string @string in @buffer with possible leading or
|
||||
* trailing whitespace
|
||||
*/
|
||||
static bool strmatch(const char *buffer, const char *string)
|
||||
{
|
||||
const size_t len = strlen(string);
|
||||
|
||||
/* Skip leading whitespace */
|
||||
buffer = skip_spaces(buffer);
|
||||
|
||||
/* Match entire string, check if the rest is whitespace or empty */
|
||||
if (strncmp(string, buffer, len) == 0 &&
|
||||
strlen(skip_spaces(buffer + len)) == 0)
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
static const char * const btrfs_read_policy_name[] = { "pid" };
|
||||
|
||||
static ssize_t btrfs_read_policy_show(struct kobject *kobj,
|
||||
|
@ -1202,7 +1183,7 @@ static ssize_t btrfs_read_policy_store(struct kobject *kobj,
|
|||
int i;
|
||||
|
||||
for (i = 0; i < BTRFS_NR_READ_POLICY; i++) {
|
||||
if (strmatch(buf, btrfs_read_policy_name[i])) {
|
||||
if (sysfs_streq(buf, btrfs_read_policy_name[i])) {
|
||||
if (i != fs_devices->read_policy) {
|
||||
fs_devices->read_policy = i;
|
||||
btrfs_info(fs_devices->fs_info,
|
||||
|
|
Loading…
Reference in New Issue