mirror of
https://github.com/adulau/aha.git
synced 2024-12-28 03:36:19 +00:00
libfs: return error code on failed attr set
Currently all simple_attr.set handlers return 0 on success and negative codes on error. Fix simple_attr_write() to return these error codes. Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Cc: Theodore Ts'o <tytso@mit.edu> Cc: Al Viro <viro@zeniv.linux.org.uk> Cc: Christoph Hellwig <hch@lst.de> Cc: Nick Piggin <npiggin@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
7a62cc1021
commit
05cc0cee69
1 changed files with 3 additions and 2 deletions
|
@ -739,10 +739,11 @@ ssize_t simple_attr_write(struct file *file, const char __user *buf,
|
||||||
if (copy_from_user(attr->set_buf, buf, size))
|
if (copy_from_user(attr->set_buf, buf, size))
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
ret = len; /* claim we got the whole input */
|
|
||||||
attr->set_buf[size] = '\0';
|
attr->set_buf[size] = '\0';
|
||||||
val = simple_strtol(attr->set_buf, NULL, 0);
|
val = simple_strtol(attr->set_buf, NULL, 0);
|
||||||
attr->set(attr->data, val);
|
ret = attr->set(attr->data, val);
|
||||||
|
if (ret == 0)
|
||||||
|
ret = len; /* on success, claim we got the whole input */
|
||||||
out:
|
out:
|
||||||
mutex_unlock(&attr->mutex);
|
mutex_unlock(&attr->mutex);
|
||||||
return ret;
|
return ret;
|
||||||
|
|
Loading…
Reference in a new issue