> Yes, me too. generic_shutdown_super() takes lock_super(). And udf uses > lock_super for protecting its block allocation data strutures. Trivial > deadlock on unmount. > > Filesystems really shouldn't be using lock_super() for internal purposes, > and the main filesystems have been taught to not do that any more, but UDF > is a holdout. > > It seems that this deadlock was introduced on Jan 5 by the "udf: fix > reservation discarding" patch which added the udf_discard_prealloc() call > into udf_clear_inode(). The below dopey patch prevents the deadlock, but > perhaps we can think of something more appealing. Ideally, use a new lock > altogether?
Yes, the lock_super usage in UDF only protects it's block allocation and doesn't try to cross-protect anything with the VFS usage of it. I'll cook up a patch to add a balloc_mutex to the UDF superblock and give it some testing. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/