Re: [patch 9/16] direct-to-BIO writeback for writeback-mode ext3

Andreas Dilger (adilger@clusterfs.com)
Sat, 1 Jun 2002 14:51:24 -0600


On Jun 01, 2002 13:14 -0700, Andrew Morton wrote:
> Andreas Dilger wrote:
> > On Jun 01, 2002 01:42 -0700, Andrew Morton wrote:
> > > Turn on direct-to-BIO writeback for ext3 in data=writeback mode.
> >
> > A minor note on this (especially minor since I believe data=journal
> > doesn't even work in 2.5), but you should probably also change the
> > address ops in ext3/ioctl.c if you enable/disable per-inode data
> > journaling.
>
> hrm. Actually, changing journalling mode against a file while
> modifications are happening against it is almost certain to explode
> if the timing is right. ISTR that we have seen bug reports against
> this on ext3-users. This is just waaaay too hard to do.

Actually, if you look at the code in ioctl.c for changing the journaling
mode of a file, it basically stops _all_ I/O to the filesystem and waits
for it to complete before changing the journal data flag, so it should
also be possible to change the aops pointer at the same time. The "stop
all I/O" is one of the reasons why enabling data journaling on files is
only allowed for root/privileged users.

> But we can fix it by doing the opposite: create three separate
> a_ops instances, one for each journalling mode. Assign it at
> new_inode/read_inode time.

Sure, as long as this doesn't increase the amount of code duplication.

Cheers, Andreas

--
Andreas Dilger
http://www-mddsp.enel.ucalgary.ca/People/adilger/
http://sourceforge.net/projects/ext2resize/

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/