diff --git a/fs/cachefiles/io.c b/fs/cachefiles/io.c index f7a507ddd668d050c2b75af89aa4b11f7595ba68..2ba98f3861e850354ce73283ea834b34ef620206 100644 --- a/fs/cachefiles/io.c +++ b/fs/cachefiles/io.c @@ -357,8 +357,6 @@ int __cachefiles_write(struct cachefiles_object *object, default: ki->was_async = false; cachefiles_write_complete(&ki->iocb, ret); - if (ret > 0) - ret = 0; break; } diff --git a/fs/cachefiles/ondemand.c b/fs/cachefiles/ondemand.c index 6a0921f31a8a36113c9e8db45b3d84e48d6ab43a..8b0d123b51b14c2269ed22a5ce073e72a3284131 100644 --- a/fs/cachefiles/ondemand.c +++ b/fs/cachefiles/ondemand.c @@ -84,10 +84,8 @@ static ssize_t cachefiles_ondemand_fd_write_iter(struct kiocb *kiocb, trace_cachefiles_ondemand_fd_write(object, file_inode(file), pos, len); ret = __cachefiles_write(object, file, pos, iter, NULL, NULL); - if (!ret) { - ret = len; + if (ret > 0) kiocb->ki_pos += ret; - } out: fput(file); return ret;