Commit 0dd48a43 authored by Oleg Drokin's avatar Oleg Drokin Committed by Greg Kroah-Hartman
Browse files

staging/lustre/osc: Do not use lprocfs_write_helper in sysfs store methods



sysfs store methods provide us with a kernel buffer already, but
lprocfs_write_helper is expecting a user buffer.
Replace lprocfs_write_helper with kstrto[u]int() calls instead in
contention_seconds_store() and lockless_truncate_store()

Signed-off-by: default avatarOleg Drokin <green@linuxhacker.ru>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent cadffe60
Loading
Loading
Loading
Loading
+21 −4
Original line number Diff line number Diff line
@@ -480,9 +480,19 @@ static ssize_t contention_seconds_store(struct kobject *kobj,
	struct obd_device *obd = container_of(kobj, struct obd_device,
					      obd_kobj);
	struct osc_device *od  = obd2osc_dev(obd);
	int rc;
	int val;

	rc = kstrtoint(buffer, 10, &val);
	if (rc)
		return rc;

	if (val < 0)
		return -EINVAL;

	od->od_contention_time = val;

	return lprocfs_write_helper(buffer, count, &od->od_contention_time) ?:
		count;
	return count;
}
LUSTRE_RW_ATTR(contention_seconds);

@@ -505,9 +515,16 @@ static ssize_t lockless_truncate_store(struct kobject *kobj,
	struct obd_device *obd = container_of(kobj, struct obd_device,
					      obd_kobj);
	struct osc_device *od  = obd2osc_dev(obd);
	int rc;
	unsigned int val;

	return lprocfs_write_helper(buffer, count, &od->od_lockless_truncate) ?:
		count;
	rc = kstrtouint(buffer, 10, &val);
	if (rc)
		return rc;

	od->od_lockless_truncate = val;

	return count;
}
LUSTRE_RW_ATTR(lockless_truncate);