The patch titled Lockdep: add parent-child annotations to usbfs has been removed from the -mm tree. Its filename is lockdep-add-parent-child-annotations-to-usbfs.patch This patch was dropped because lockdep is being redone ------------------------------------------------------ Subject: Lockdep: add parent-child annotations to usbfs From: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> In usbfs's fs_remove_file() function, the aim is to remove a file or directory from usbfs. This is done by first taking the i_mutex of the parent directory of this file/dir via mutex_lock(&parent->d_inode->i_mutex); and then to call either usbfs_rmdir() for a directory or usbfs_unlink() for a file. Both these functions then take the i_mutex for the to-be-removed object themselves: mutex_lock(&inode->i_mutex); This is a classical parent->child locking order relationship that the VFS uses all over the place; the VFS locking rule is "you need to take the parent first". This patch annotates the usbfs code to make this explicit and thus informs the lockdep code that those two locks indeed have this relationship. The rules for unlink that we already use in the VFS for unlink are to use I_MUTEX_PARENT for the parent directory, and a normal mutex for the file itself; this patch follows that convention. Signed-off-by: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- drivers/usb/core/inode.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff -puN drivers/usb/core/inode.c~lockdep-add-parent-child-annotations-to-usbfs drivers/usb/core/inode.c --- devel/drivers/usb/core/inode.c~lockdep-add-parent-child-annotations-to-usbfs 2006-06-02 00:01:42.000000000 -0700 +++ devel-akpm/drivers/usb/core/inode.c 2006-06-02 00:01:42.000000000 -0700 @@ -528,7 +528,7 @@ static void fs_remove_file (struct dentr if (!parent || !parent->d_inode) return; - mutex_lock(&parent->d_inode->i_mutex); + mutex_lock_nested(&parent->d_inode->i_mutex, I_MUTEX_PARENT); if (usbfs_positive(dentry)) { if (dentry->d_inode) { if (S_ISDIR(dentry->d_inode->i_mode)) _ Patches currently in -mm which might be from arjan@xxxxxxxxxxxxxxx are origin.patch lock-validator-fix-ns83820c-irq-flags-bug.patch cpu_relax-smpbootc.patch cpu_relax-smpbootc-fix.patch add-export_unused_symbol-and-export_unused_symbol_gpl.patch add-export_unused_symbol-and-export_unused_symbol_gpl-default.patch spin-rwlock-init-cleanups.patch lock-validator-introduce-warn_on_oncecond.patch emu10k1-mark-midi_spinlock-as-used.patch epoll-use-unlocked-wqueue-operations.patch pi-futex-futex-code-cleanups.patch pi-futex-introduce-debug_check_no_locks_freed.patch pi-futex-add-plist-implementation.patch pi-futex-scheduler-support-for-pi.patch pi-futex-rt-mutex-core.patch pi-futex-rt-mutex-docs.patch pi-futex-rt-mutex-debug.patch pi-futex-rt-mutex-tester.patch pi-futex-rt-mutex-tester-fix.patch pi-futex-rt-mutex-futex-api.patch pi-futex-futex_lock_pi-futex_unlock_pi-support.patch lock-validator-special-locking-kgdb.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