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: Dominique Martinet <dominique.marti...@cea.fr>
---
 fs/9p/vfs_file.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/fs/9p/vfs_file.c b/fs/9p/vfs_file.c
index 1ef16bd..be641f1 100644
--- a/fs/9p/vfs_file.c
+++ b/fs/9p/vfs_file.c
@@ -231,7 +231,8 @@ out_unlock:
        if (res < 0 && fl->fl_type != F_UNLCK) {
                fl_type = fl->fl_type;
                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;
        }
 out:
-- 
1.8.3.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to