From: Zygo Blaxell Date: Sun, 5 Dec 2021 08:36:01 +0000 (-0500) Subject: Revert "btrfs: introduce new device-state read_preferred (rebased 5.13)" X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bf85940af6f6c2972f91ad14ce4a94f93e342222;p=linux Revert "btrfs: introduce new device-state read_preferred (rebased 5.13)" This reverts commit a6ad84dfbd80a1724d76098a130acb3ba813e1d8. --- diff --git a/fs/btrfs/sysfs.c b/fs/btrfs/sysfs.c index fc89812cb8d6..16237a9a82e3 100644 --- a/fs/btrfs/sysfs.c +++ b/fs/btrfs/sysfs.c @@ -1508,63 +1508,6 @@ static ssize_t btrfs_devinfo_type_show(struct kobject *kobj, } BTRFS_ATTR(devid, type, btrfs_devinfo_type_show); -static ssize_t btrfs_devinfo_read_pref_show(struct kobject *kobj, - struct kobj_attribute *a, char *buf) -{ - int val; - struct btrfs_device *device = container_of(kobj, struct btrfs_device, - devid_kobj); - - val = !!test_bit(BTRFS_DEV_STATE_READ_PREFERRED, &device->dev_state); - - return snprintf(buf, PAGE_SIZE, "%d\n", val); -} - -static ssize_t btrfs_devinfo_read_pref_store(struct kobject *kobj, - struct kobj_attribute *a, - const char *buf, size_t len) -{ - int ret; - unsigned long val; - struct btrfs_device *device; - - ret = kstrtoul(skip_spaces(buf), 0, &val); - if (ret) - return ret; - - if (val != 0 && val != 1) - return -EINVAL; - - /* - * lock is not required, the btrfs_device struct can't be freed while - * its kobject btrfs_device::devid_kobj is still open. - */ - device = container_of(kobj, struct btrfs_device, devid_kobj); - - if (val && - !test_bit(BTRFS_DEV_STATE_READ_PREFERRED, &device->dev_state)) { - set_bit(BTRFS_DEV_STATE_READ_PREFERRED, &device->dev_state); - btrfs_info(device->fs_devices->fs_info, - "set read preferred on devid %llu (%d)", - device->devid, task_pid_nr(current)); - } else if (!val && - test_bit(BTRFS_DEV_STATE_READ_PREFERRED, &device->dev_state)) { - clear_bit(BTRFS_DEV_STATE_READ_PREFERRED, &device->dev_state); - btrfs_info(device->fs_devices->fs_info, - "reset read preferred on devid %llu (%d)", - device->devid, task_pid_nr(current)); - } - - return len; -} -BTRFS_ATTR_RW(devid, read_preferred, btrfs_devinfo_read_pref_show, - btrfs_devinfo_read_pref_store); - -/* - * Information about one device. - * - * Path: /sys/fs/btrfs//devinfo// - */ static struct attribute *devid_attrs[] = { BTRFS_ATTR_PTR(devid, in_fs_metadata), BTRFS_ATTR_PTR(devid, missing), @@ -1572,7 +1515,6 @@ static struct attribute *devid_attrs[] = { BTRFS_ATTR_PTR(devid, scrub_speed_max), BTRFS_ATTR_PTR(devid, writeable), BTRFS_ATTR_PTR(devid, type), - BTRFS_ATTR_PTR(devid, read_preferred), NULL }; ATTRIBUTE_GROUPS(devid); diff --git a/fs/btrfs/volumes.h b/fs/btrfs/volumes.h index c3968a93ccc3..bfb06fb4b571 100644 --- a/fs/btrfs/volumes.h +++ b/fs/btrfs/volumes.h @@ -51,7 +51,6 @@ struct btrfs_io_geometry { #define BTRFS_DEV_STATE_REPLACE_TGT (3) #define BTRFS_DEV_STATE_FLUSH_SENT (4) #define BTRFS_DEV_STATE_NO_READA (5) -#define BTRFS_DEV_STATE_READ_PREFERRED (6) struct btrfs_zoned_device_info;