diff options
author | Jeff Layton <jlayton@primarydata.com> | 2014-08-11 14:09:35 -0400 |
---|---|---|
committer | Jeff Layton <jlayton@primarydata.com> | 2014-08-11 14:24:22 -0400 |
commit | 566709bd627caf933ab8edffaf598203a0c5c8b2 (patch) | |
tree | 5a9b57da3e5b11e827d25dc2b95ff1b36a6701cb /fs/locks.c | |
parent | 8144f1f69943f447fd1bcb2d26ca011002d5df63 (diff) | |
download | lwn-566709bd627caf933ab8edffaf598203a0c5c8b2.tar.gz lwn-566709bd627caf933ab8edffaf598203a0c5c8b2.zip |
locks: don't call locks_release_private from locks_copy_lock
All callers of locks_copy_lock pass in a brand new file_lock struct, so
there's no need to call locks_release_private on it. Replace that with
a warning that fires in the event that we receive a target lock that
doesn't look like it's properly initialized.
Acked-by: J. Bruce Fields <bfields@fieldses.org>
Signed-off-by: Jeff Layton <jlayton@primarydata.com>
Diffstat (limited to 'fs/locks.c')
-rw-r--r-- | fs/locks.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/locks.c b/fs/locks.c index 356667a434c1..2c2d4f5022a7 100644 --- a/fs/locks.c +++ b/fs/locks.c @@ -285,7 +285,8 @@ EXPORT_SYMBOL(__locks_copy_lock); void locks_copy_lock(struct file_lock *new, struct file_lock *fl) { - locks_release_private(new); + /* "new" must be a freshly-initialized lock */ + WARN_ON_ONCE(new->fl_ops); __locks_copy_lock(new, fl); new->fl_file = fl->fl_file; |