summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.com>2018-11-29 18:04:08 -0500
committerJeff Layton <jlayton@kernel.org>2018-11-30 11:26:12 -0500
commit4316c3c685f5bd949e75eb99df09a18e45cc8e5c (patch)
tree55cf6dfb3747d3976f4a214de60b4028853abbba /fs
parent4d62d3f70b9b24497e489af79b0d730be792380f (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.c10
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 }