> @@ -762,6 +767,12 @@ static int ext2_fill_super(struct super_block *sb, void *data, int silent) > sbi->s_sb_block = sb_block; > > /* > + * mutex for protection of modifications of the superblock while being > + * write out by ext2_write_super() or ext2_sync_fs(). > + */ > + mutex_init(&sbi->s_mutex); I didn't go over all the code paths in detail, but if you replace the BKL with a mutex that is hold over a longer write-out sleep period you potentially limit IO parallelism a lot. In this case since the BKL didn't protect over the sleep anyways it might be reasonable to drop it during the IO operation (and possibly if you're sure nothing else sleeps use a spin lock) -Andi -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html