Merge tag 'for-v5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power...
[platform/kernel/linux-rpi.git] / fs / btrfs / sysfs.c
index 3c10e78..a39bff6 100644 (file)
@@ -155,7 +155,7 @@ static ssize_t btrfs_feature_attr_show(struct kobject *kobj,
        } else
                val = can_modify_feature(fa);
 
-       return snprintf(buf, PAGE_SIZE, "%d\n", val);
+       return scnprintf(buf, PAGE_SIZE, "%d\n", val);
 }
 
 static ssize_t btrfs_feature_attr_store(struct kobject *kobj,
@@ -295,7 +295,7 @@ static const struct attribute_group btrfs_feature_attr_group = {
 static ssize_t rmdir_subvol_show(struct kobject *kobj,
                                 struct kobj_attribute *ka, char *buf)
 {
-       return snprintf(buf, PAGE_SIZE, "0\n");
+       return scnprintf(buf, PAGE_SIZE, "0\n");
 }
 BTRFS_ATTR(static_feature, rmdir_subvol, rmdir_subvol_show);
 
@@ -310,12 +310,12 @@ static ssize_t supported_checksums_show(struct kobject *kobj,
                 * This "trick" only works as long as 'enum btrfs_csum_type' has
                 * no holes in it
                 */
-               ret += snprintf(buf + ret, PAGE_SIZE - ret, "%s%s",
+               ret += scnprintf(buf + ret, PAGE_SIZE - ret, "%s%s",
                                (i == 0 ? "" : " "), btrfs_super_csum_name(i));
 
        }
 
-       ret += snprintf(buf + ret, PAGE_SIZE - ret, "\n");
+       ret += scnprintf(buf + ret, PAGE_SIZE - ret, "\n");
        return ret;
 }
 BTRFS_ATTR(static_feature, supported_checksums, supported_checksums_show);
@@ -350,7 +350,7 @@ static ssize_t btrfs_discardable_bytes_show(struct kobject *kobj,
 {
        struct btrfs_fs_info *fs_info = discard_to_fs_info(kobj);
 
-       return snprintf(buf, PAGE_SIZE, "%lld\n",
+       return scnprintf(buf, PAGE_SIZE, "%lld\n",
                        atomic64_read(&fs_info->discard_ctl.discardable_bytes));
 }
 BTRFS_ATTR(discard, discardable_bytes, btrfs_discardable_bytes_show);
@@ -361,7 +361,7 @@ static ssize_t btrfs_discardable_extents_show(struct kobject *kobj,
 {
        struct btrfs_fs_info *fs_info = discard_to_fs_info(kobj);
 
-       return snprintf(buf, PAGE_SIZE, "%d\n",
+       return scnprintf(buf, PAGE_SIZE, "%d\n",
                        atomic_read(&fs_info->discard_ctl.discardable_extents));
 }
 BTRFS_ATTR(discard, discardable_extents, btrfs_discardable_extents_show);
@@ -372,7 +372,7 @@ static ssize_t btrfs_discard_bitmap_bytes_show(struct kobject *kobj,
 {
        struct btrfs_fs_info *fs_info = discard_to_fs_info(kobj);
 
-       return snprintf(buf, PAGE_SIZE, "%lld\n",
+       return scnprintf(buf, PAGE_SIZE, "%lld\n",
                        fs_info->discard_ctl.discard_bitmap_bytes);
 }
 BTRFS_ATTR(discard, discard_bitmap_bytes, btrfs_discard_bitmap_bytes_show);
@@ -383,7 +383,7 @@ static ssize_t btrfs_discard_bytes_saved_show(struct kobject *kobj,
 {
        struct btrfs_fs_info *fs_info = discard_to_fs_info(kobj);
 
-       return snprintf(buf, PAGE_SIZE, "%lld\n",
+       return scnprintf(buf, PAGE_SIZE, "%lld\n",
                atomic64_read(&fs_info->discard_ctl.discard_bytes_saved));
 }
 BTRFS_ATTR(discard, discard_bytes_saved, btrfs_discard_bytes_saved_show);
@@ -394,7 +394,7 @@ static ssize_t btrfs_discard_extent_bytes_show(struct kobject *kobj,
 {
        struct btrfs_fs_info *fs_info = discard_to_fs_info(kobj);
 
-       return snprintf(buf, PAGE_SIZE, "%lld\n",
+       return scnprintf(buf, PAGE_SIZE, "%lld\n",
                        fs_info->discard_ctl.discard_extent_bytes);
 }
 BTRFS_ATTR(discard, discard_extent_bytes, btrfs_discard_extent_bytes_show);
@@ -405,7 +405,7 @@ static ssize_t btrfs_discard_iops_limit_show(struct kobject *kobj,
 {
        struct btrfs_fs_info *fs_info = discard_to_fs_info(kobj);
 
-       return snprintf(buf, PAGE_SIZE, "%u\n",
+       return scnprintf(buf, PAGE_SIZE, "%u\n",
                        READ_ONCE(fs_info->discard_ctl.iops_limit));
 }
 
@@ -435,7 +435,7 @@ static ssize_t btrfs_discard_kbps_limit_show(struct kobject *kobj,
 {
        struct btrfs_fs_info *fs_info = discard_to_fs_info(kobj);
 
-       return snprintf(buf, PAGE_SIZE, "%u\n",
+       return scnprintf(buf, PAGE_SIZE, "%u\n",
                        READ_ONCE(fs_info->discard_ctl.kbps_limit));
 }
 
@@ -465,7 +465,7 @@ static ssize_t btrfs_discard_max_discard_size_show(struct kobject *kobj,
 {
        struct btrfs_fs_info *fs_info = discard_to_fs_info(kobj);
 
-       return snprintf(buf, PAGE_SIZE, "%llu\n",
+       return scnprintf(buf, PAGE_SIZE, "%llu\n",
                        READ_ONCE(fs_info->discard_ctl.max_discard_size));
 }
 
@@ -530,7 +530,7 @@ static ssize_t btrfs_show_u64(u64 *value_ptr, spinlock_t *lock, char *buf)
        val = *value_ptr;
        if (lock)
                spin_unlock(lock);
-       return snprintf(buf, PAGE_SIZE, "%llu\n", val);
+       return scnprintf(buf, PAGE_SIZE, "%llu\n", val);
 }
 
 static ssize_t global_rsv_size_show(struct kobject *kobj,
@@ -576,7 +576,7 @@ static ssize_t raid_bytes_show(struct kobject *kobj,
                        val += block_group->used;
        }
        up_read(&sinfo->groups_sem);
-       return snprintf(buf, PAGE_SIZE, "%llu\n", val);
+       return scnprintf(buf, PAGE_SIZE, "%llu\n", val);
 }
 
 static struct attribute *raid_attrs[] = {
@@ -613,7 +613,7 @@ static ssize_t btrfs_space_info_show_total_bytes_pinned(struct kobject *kobj,
 {
        struct btrfs_space_info *sinfo = to_space_info(kobj);
        s64 val = percpu_counter_sum(&sinfo->total_bytes_pinned);
-       return snprintf(buf, PAGE_SIZE, "%lld\n", val);
+       return scnprintf(buf, PAGE_SIZE, "%lld\n", val);
 }
 
 SPACE_INFO_ATTR(flags);
@@ -670,7 +670,7 @@ static ssize_t btrfs_label_show(struct kobject *kobj,
        ssize_t ret;
 
        spin_lock(&fs_info->super_lock);
-       ret = snprintf(buf, PAGE_SIZE, label[0] ? "%s\n" : "%s", label);
+       ret = scnprintf(buf, PAGE_SIZE, label[0] ? "%s\n" : "%s", label);
        spin_unlock(&fs_info->super_lock);
 
        return ret;
@@ -718,7 +718,7 @@ static ssize_t btrfs_nodesize_show(struct kobject *kobj,
 {
        struct btrfs_fs_info *fs_info = to_fs_info(kobj);
 
-       return snprintf(buf, PAGE_SIZE, "%u\n", fs_info->super_copy->nodesize);
+       return scnprintf(buf, PAGE_SIZE, "%u\n", fs_info->super_copy->nodesize);
 }
 
 BTRFS_ATTR(, nodesize, btrfs_nodesize_show);
@@ -728,8 +728,8 @@ static ssize_t btrfs_sectorsize_show(struct kobject *kobj,
 {
        struct btrfs_fs_info *fs_info = to_fs_info(kobj);
 
-       return snprintf(buf, PAGE_SIZE, "%u\n",
-                       fs_info->super_copy->sectorsize);
+       return scnprintf(buf, PAGE_SIZE, "%u\n",
+                        fs_info->super_copy->sectorsize);
 }
 
 BTRFS_ATTR(, sectorsize, btrfs_sectorsize_show);
@@ -739,8 +739,7 @@ static ssize_t btrfs_clone_alignment_show(struct kobject *kobj,
 {
        struct btrfs_fs_info *fs_info = to_fs_info(kobj);
 
-       return snprintf(buf, PAGE_SIZE, "%u\n",
-                       fs_info->super_copy->sectorsize);
+       return scnprintf(buf, PAGE_SIZE, "%u\n", fs_info->super_copy->sectorsize);
 }
 
 BTRFS_ATTR(, clone_alignment, btrfs_clone_alignment_show);
@@ -752,7 +751,7 @@ static ssize_t quota_override_show(struct kobject *kobj,
        int quota_override;
 
        quota_override = test_bit(BTRFS_FS_QUOTA_OVERRIDE, &fs_info->flags);
-       return snprintf(buf, PAGE_SIZE, "%d\n", quota_override);
+       return scnprintf(buf, PAGE_SIZE, "%d\n", quota_override);
 }
 
 static ssize_t quota_override_store(struct kobject *kobj,
@@ -790,7 +789,7 @@ static ssize_t btrfs_metadata_uuid_show(struct kobject *kobj,
 {
        struct btrfs_fs_info *fs_info = to_fs_info(kobj);
 
-       return snprintf(buf, PAGE_SIZE, "%pU\n",
+       return scnprintf(buf, PAGE_SIZE, "%pU\n",
                        fs_info->fs_devices->metadata_uuid);
 }
 
@@ -802,7 +801,7 @@ static ssize_t btrfs_checksum_show(struct kobject *kobj,
        struct btrfs_fs_info *fs_info = to_fs_info(kobj);
        u16 csum_type = btrfs_super_csum_type(fs_info->super_copy);
 
-       return snprintf(buf, PAGE_SIZE, "%s (%s)\n",
+       return scnprintf(buf, PAGE_SIZE, "%s (%s)\n",
                        btrfs_super_csum_name(csum_type),
                        crypto_shash_driver_name(fs_info->csum_shash));
 }
@@ -960,7 +959,7 @@ void btrfs_sysfs_remove_mounted(struct btrfs_fs_info *fs_info)
        addrm_unknown_feature_attrs(fs_info, false);
        sysfs_remove_group(&fs_info->fs_devices->fsid_kobj, &btrfs_feature_attr_group);
        sysfs_remove_files(&fs_info->fs_devices->fsid_kobj, btrfs_attrs);
-       btrfs_sysfs_rm_device_link(fs_info->fs_devices, NULL);
+       btrfs_sysfs_remove_devices_dir(fs_info->fs_devices, NULL);
 }
 
 static const char * const btrfs_feature_set_names[FEAT_MAX] = {
@@ -992,7 +991,7 @@ char *btrfs_printable_features(enum btrfs_feature_set set, u64 flags)
                        continue;
 
                name = btrfs_feature_attrs[set][i].kobj_attr.attr.name;
-               len += snprintf(str + len, bufsize - len, "%s%s",
+               len += scnprintf(str + len, bufsize - len, "%s%s",
                                len ? "," : "", name);
        }
 
@@ -1149,7 +1148,7 @@ int btrfs_sysfs_add_space_info_type(struct btrfs_fs_info *fs_info,
 
 /* when one_device is NULL, it removes all device links */
 
-int btrfs_sysfs_rm_device_link(struct btrfs_fs_devices *fs_devices,
+int btrfs_sysfs_remove_devices_dir(struct btrfs_fs_devices *fs_devices,
                struct btrfs_device *one_device)
 {
        struct hd_struct *disk;
@@ -1201,11 +1200,11 @@ static ssize_t btrfs_devinfo_in_fs_metadata_show(struct kobject *kobj,
 
        val = !!test_bit(BTRFS_DEV_STATE_IN_FS_METADATA, &device->dev_state);
 
-       return snprintf(buf, PAGE_SIZE, "%d\n", val);
+       return scnprintf(buf, PAGE_SIZE, "%d\n", val);
 }
 BTRFS_ATTR(devid, in_fs_metadata, btrfs_devinfo_in_fs_metadata_show);
 
-static ssize_t btrfs_sysfs_missing_show(struct kobject *kobj,
+static ssize_t btrfs_devinfo_missing_show(struct kobject *kobj,
                                        struct kobj_attribute *a, char *buf)
 {
        int val;
@@ -1214,9 +1213,9 @@ static ssize_t btrfs_sysfs_missing_show(struct kobject *kobj,
 
        val = !!test_bit(BTRFS_DEV_STATE_MISSING, &device->dev_state);
 
-       return snprintf(buf, PAGE_SIZE, "%d\n", val);
+       return scnprintf(buf, PAGE_SIZE, "%d\n", val);
 }
-BTRFS_ATTR(devid, missing, btrfs_sysfs_missing_show);
+BTRFS_ATTR(devid, missing, btrfs_devinfo_missing_show);
 
 static ssize_t btrfs_devinfo_replace_target_show(struct kobject *kobj,
                                                 struct kobj_attribute *a,
@@ -1228,7 +1227,7 @@ static ssize_t btrfs_devinfo_replace_target_show(struct kobject *kobj,
 
        val = !!test_bit(BTRFS_DEV_STATE_REPLACE_TGT, &device->dev_state);
 
-       return snprintf(buf, PAGE_SIZE, "%d\n", val);
+       return scnprintf(buf, PAGE_SIZE, "%d\n", val);
 }
 BTRFS_ATTR(devid, replace_target, btrfs_devinfo_replace_target_show);
 
@@ -1241,7 +1240,7 @@ static ssize_t btrfs_devinfo_writeable_show(struct kobject *kobj,
 
        val = !!test_bit(BTRFS_DEV_STATE_WRITEABLE, &device->dev_state);
 
-       return snprintf(buf, PAGE_SIZE, "%d\n", val);
+       return scnprintf(buf, PAGE_SIZE, "%d\n", val);
 }
 BTRFS_ATTR(devid, writeable, btrfs_devinfo_writeable_show);
 
@@ -1269,7 +1268,7 @@ static struct kobj_type devid_ktype = {
        .release        = btrfs_release_devid_kobj,
 };
 
-int btrfs_sysfs_add_device_link(struct btrfs_fs_devices *fs_devices,
+int btrfs_sysfs_add_devices_dir(struct btrfs_fs_devices *fs_devices,
                                struct btrfs_device *one_device)
 {
        int error = 0;
@@ -1371,7 +1370,7 @@ int btrfs_sysfs_add_fsid(struct btrfs_fs_devices *fs_devs)
        if (!fs_devs->devices_kobj) {
                btrfs_err(fs_devs->fs_info,
                          "failed to init sysfs device interface");
-               kobject_put(&fs_devs->fsid_kobj);
+               btrfs_sysfs_remove_fsid(fs_devs);
                return -ENOMEM;
        }
 
@@ -1395,13 +1394,13 @@ int btrfs_sysfs_add_mounted(struct btrfs_fs_info *fs_info)
 
        btrfs_set_fs_info_ptr(fs_info);
 
-       error = btrfs_sysfs_add_device_link(fs_devs, NULL);
+       error = btrfs_sysfs_add_devices_dir(fs_devs, NULL);
        if (error)
                return error;
 
        error = sysfs_create_files(fsid_kobj, btrfs_attrs);
        if (error) {
-               btrfs_sysfs_rm_device_link(fs_devs, NULL);
+               btrfs_sysfs_remove_devices_dir(fs_devs, NULL);
                return error;
        }