The patch titled locks: clean up locks_remove_posix() has been removed from the -mm tree. Its filename is locks-clean-up-locks_remove_posix.patch This patch was dropped because it was merged into mainline or a subsystem tree ------------------------------------------------------ Subject: locks: clean up locks_remove_posix() From: Miklos Szeredi <miklos@xxxxxxxxxx> locks_remove_posix() can use posix_lock_file() instead of doing the lock removal by hand. posix_lock_file() now does exacly the same. The comment about pids no longer applies, posix_lock_file() takes only the owner into account. Signed-off-by: Miklos Szeredi <miklos@xxxxxxxxxx> Cc: Trond Myklebust <trond.myklebust@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- fs/locks.c | 25 +++++-------------------- 1 file changed, 5 insertions(+), 20 deletions(-) diff -puN fs/locks.c~locks-clean-up-locks_remove_posix fs/locks.c --- a/fs/locks.c~locks-clean-up-locks_remove_posix +++ a/fs/locks.c @@ -1896,15 +1896,14 @@ out: */ void locks_remove_posix(struct file *filp, fl_owner_t owner) { - struct file_lock lock, **before; + struct file_lock lock; /* * If there are no locks held on this file, we don't need to call * posix_lock_file(). Another process could be setting a lock on this * file at the same time, but we wouldn't remove that lock anyway. */ - before = &filp->f_dentry->d_inode->i_flock; - if (*before == NULL) + if (!filp->f_dentry->d_inode->i_flock) return; lock.fl_type = F_UNLCK; @@ -1917,25 +1916,11 @@ void locks_remove_posix(struct file *fil lock.fl_ops = NULL; lock.fl_lmops = NULL; - if (filp->f_op && filp->f_op->lock != NULL) { + if (filp->f_op && filp->f_op->lock != NULL) filp->f_op->lock(filp, F_SETLK, &lock); - goto out; - } + else + posix_lock_file(filp, &lock); - /* Can't use posix_lock_file here; we need to remove it no matter - * which pid we have. - */ - lock_kernel(); - while (*before != NULL) { - struct file_lock *fl = *before; - if (IS_POSIX(fl) && posix_same_owner(fl, &lock)) { - locks_delete_lock(before); - continue; - } - before = &fl->fl_next; - } - unlock_kernel(); -out: if (lock.fl_ops && lock.fl_ops->fl_release_private) lock.fl_ops->fl_release_private(&lock); } _ Patches currently in -mm which might be from miklos@xxxxxxxxxx are origin.patch fuse-use-misc_major.patch fuse-no-backgrounding-on-interrupt.patch fuse-add-control-filesystem.patch fuse-add-control-filesystem-get_sb_single-fix.patch fuse-add-control-filesystem-printk-fix.patch fuse-add-posix-file-locking-support.patch fuse-ensure-flush-reaches-userspace.patch fuse-rename-the-interrupted-flag.patch fuse-add-request-interruption.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html