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/