Skip to content
Snippets Groups Projects
Commit b6478740 authored by Dominique Martinet's avatar Dominique Martinet Committed by Linus Torvalds
Browse files

9p: do not overwrite return code when locking fails


If the remote locking fail, we run a local vfs unlock that should work and
return success to userland when we didn't actually lock at all.  We need
to tell the application that tried to lock that it didn't get it, not that
all went well.

Signed-off-by: default avatarDominique Martinet <dominique.martinet@cea.fr>
Cc: Eric Van Hensbergen <ericvh@gmail.com>
Cc: Ron Minnich <rminnich@sandia.gov>
Cc: Latchesar Ionkov <lucho@ionkov.net>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 720abae3
No related branches found
No related tags found
No related merge requests found
...@@ -231,7 +231,8 @@ static int v9fs_file_do_lock(struct file *filp, int cmd, struct file_lock *fl) ...@@ -231,7 +231,8 @@ static int v9fs_file_do_lock(struct file *filp, int cmd, struct file_lock *fl)
if (res < 0 && fl->fl_type != F_UNLCK) { if (res < 0 && fl->fl_type != F_UNLCK) {
fl_type = fl->fl_type; fl_type = fl->fl_type;
fl->fl_type = F_UNLCK; fl->fl_type = F_UNLCK;
res = posix_lock_file_wait(filp, fl); /* Even if this fails we want to return the remote error */
posix_lock_file_wait(filp, fl);
fl->fl_type = fl_type; fl->fl_type = fl_type;
} }
out: out:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment