From: Wu Fengguang <fengguang.wu@xxxxxxxxx> 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@xxxxxxxxx> Cc: Theodore Ts'o <tytso@xxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: Nick Piggin <npiggin@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- fs/libfs.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff -puN fs/libfs.c~libfs-return-error-code-on-failed-attr-set fs/libfs.c --- a/fs/libfs.c~libfs-return-error-code-on-failed-attr-set +++ a/fs/libfs.c @@ -739,10 +739,11 @@ ssize_t simple_attr_write(struct file *f if (copy_from_user(attr->set_buf, buf, size)) goto out; - ret = len; /* claim we got the whole input */ attr->set_buf[size] = '\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: mutex_unlock(&attr->mutex); return ret; _ -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html