Cc: Andi Kleen <andi@...>, <linux-fsdevel@...>, Matthew Wilcox <matthew@...>, <linux-kernel@...>, Jan Kara <jack@...>, Al Viro <viro@...>, Andrew Morton <akpm@...>, Andi Kleen <ak@...>, Christoph Hellwig <hch@...>, Pekka Enberg <penberg@...>, Andreas Dilger <adilger@...>, <linux-ext4@...>
The patch is generally fine. I have just a few minor comments below:
> diff --git a/fs/ext2/super.c b/fs/ext2/super.c
I don't like this dropping of spinlock inside ext2_sync_super. Can we
just drop it here and retake it in ext2_sync_super? It's by far not a
performance critical path so it should not really matter.
As I'm reading the code s_lock protects some of the fieds but definitely
not all. I'd say it protects s_mount_state, s_blocks_last, s_overhead_last,
and a content of superblock's buffer pointed to by sbi->s_es. The rest just
either does not change during lifetime of the filesystem or has different
locks (either s_umount semaphore or other spinlocks).