ext4: Fix circular locking dependency with migrate and rm.
authorAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Sun, 10 Feb 2008 06:20:05 +0000 (01:20 -0500)
committerTheodore Ts'o <tytso@mit.edu>
Sun, 10 Feb 2008 06:20:05 +0000 (01:20 -0500)
commit8009f9fb3067fef6c2ca0c16f6bac786ae28639d
treeacf8bbfd2833a63baa9d2194ed30bf7e7dcb3075
parent0040d9875dcccfcb2131417b10fbd9841bc5f05b
ext4: Fix circular locking dependency with migrate and rm.

In order to prevent a circular locking dependency when an unlink
operation is racing with an ext4 migration, we delay taking i_data_sem
until just before switch the inode format, and use i_mutex to prevent
writes and truncates during the first part of the migration operation.

Acked-by: Jan Kara <jack@suse.cz>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Mingming Cao <cmm@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
fs/ext4/migrate.c