On Tue, Jan 04, 2011 at 01:39:44AM -0500, Christoph Hellwig wrote:
Agree and as I said I'll change inode_writeback_begin/end to do the
locking and just return the dirty bit mask etc.
Right if you want a helper to get the correct mask of bits required
that's fine and I agree, but locking is a different issue too: if
filesystems are trying to keep private state in sync with vfs state,
then they _need_ to do it properly with the proper locking. I think
your hfsplus implementation had a bug or two in this area didn't it?
(although I ended up getting side tracked with all these bugs half
way through looking at that).
I disagree, but we'll explore it further later.
It is a couple of lines to check and clear dirty bits. Not rocket
science and I think it is far better to make it explicit what is
happening to the filesystem. The disconnect between what the vfs is
doing and what the filesystems throught should be happening is what
caused all these bugs to start with.
Anyway, long story short, I'll drop the inode_lock export and move the
locking and manipulation into inode_writeback_begin/end for now.
Thanks,
Nick
--