diff --git a/fs/fuse/dev.c b/fs/fuse/dev.c index 15baef8fdc7a..ad25fb0bb882 100644 --- a/fs/fuse/dev.c +++ b/fs/fuse/dev.c @@ -1913,8 +1913,8 @@ static ssize_t fuse_dev_do_write(struct fuse_dev *fud, char *path = (char *)req->args->out_args[0].value; path[req->args->out_args[0].size - 1] = 0; - req->out.h.error = - kern_path(path, 0, req->args->canonical_path); + if (req->out.h.error != -ENOSYS) + req->out.h.error = kern_path(path, 0, req->args->canonical_path); } spin_lock(&fpq->lock);