If we return 0 as a measure of success, that is actually taken
by userspace as "we wrote 0 bytes, but there's no error, so
they want us to retry". So tell them we ate all their data
instead to make them happy.
Interesting that when you do shell-redirect it enters the
retry loop, but badarea_io does not.
Change-Id: Ieb0f8bcd4f010ab4375ea6f65f6ea00248a236cb
Signed-off-by: Oleg Drokin <green@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/38304
Tested-by: jenkins <devops@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
ssize_t ping_store(struct kobject *kobj, struct attribute *attr,
const char *buffer, size_t count)
{
- return ping_show(kobj, attr, (char *)buffer);
+ int rc = ping_show(kobj, attr, (char *)buffer);
+
+ return (rc < 0) ? rc : count;
}
EXPORT_SYMBOL(ping_store);