diff options
Diffstat (limited to 'fs')
-rw-r--r-- | fs/ocfs2/locks.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/fs/ocfs2/locks.c b/fs/ocfs2/locks.c index d56f0079b858..b11acd34001a 100644 --- a/fs/ocfs2/locks.c +++ b/fs/ocfs2/locks.c | |||
@@ -52,6 +52,7 @@ static int ocfs2_do_flock(struct file *file, struct inode *inode, | |||
52 | if (lockres->l_flags & OCFS2_LOCK_ATTACHED && | 52 | if (lockres->l_flags & OCFS2_LOCK_ATTACHED && |
53 | lockres->l_level > LKM_NLMODE) { | 53 | lockres->l_level > LKM_NLMODE) { |
54 | int old_level = 0; | 54 | int old_level = 0; |
55 | struct file_lock request; | ||
55 | 56 | ||
56 | if (lockres->l_level == LKM_EXMODE) | 57 | if (lockres->l_level == LKM_EXMODE) |
57 | old_level = 1; | 58 | old_level = 1; |
@@ -66,11 +67,10 @@ static int ocfs2_do_flock(struct file *file, struct inode *inode, | |||
66 | * level. | 67 | * level. |
67 | */ | 68 | */ |
68 | 69 | ||
69 | locks_lock_file_wait(file, | 70 | locks_init_lock(&request); |
70 | &(struct file_lock) { | 71 | request.fl_type = F_UNLCK; |
71 | .fl_type = F_UNLCK, | 72 | request.fl_flags = FL_FLOCK; |
72 | .fl_flags = FL_FLOCK | 73 | locks_lock_file_wait(file, &request); |
73 | }); | ||
74 | 74 | ||
75 | ocfs2_file_unlock(file); | 75 | ocfs2_file_unlock(file); |
76 | } | 76 | } |