diff options
author | NeilBrown <neilb@suse.com> | 2018-11-29 18:04:08 -0500 |
---|---|---|
committer | Jeff Layton <jlayton@kernel.org> | 2018-11-30 11:26:12 -0500 |
commit | 4316c3c685f5bd949e75eb99df09a18e45cc8e5c (patch) | |
tree | 55cf6dfb3747d3976f4a214de60b4028853abbba /fs | |
parent | 4d62d3f70b9b24497e489af79b0d730be792380f (diff) |
ocfs2: properly initial file_lock used for unlock.
Rather than assuming all-zeros is sufficient, use the available API to
initialize the file_lock structure use for unlock. VFS-level changes
will soon make it important that the list_heads in file_lock are
always properly initialized.
Signed-off-by: NeilBrown <neilb@suse.com>
Reviewed-by: J. Bruce Fields <bfields@redhat.com>
Signed-off-by: Jeff Layton <jlayton@kernel.org>
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 | } |