This is because the block devices have moved to page cache, but the
internal filesystem code is still using the buffer cache - this means
that changes from user space are not seen in the kernel, and are lost
the next time that the superblock is written by the kernel.
When the block-devices-in-pagecache issue came up last, I had advocated
waiting for 2.5 to do this so that we can move ext2/ext3 into pagecache
as well (the superblock at least). This could be done by changing the
bread/getblk stuff to be backed by pagecache as well, but nobody has
has time to do this yet.
For now, you need to do the tune2fs on an unmounted filesystem. Since
this does not immediately "convert" the mounted filesystem to ext3
right away (you need to remount it as ext3 to get journaling to start),
then you need to unmount the fs at some time anyways. It _does_ pose a
bit of a problem for converting the root fs, however - you will need to
boot from a rescue disk to run tune2fs on the unmounted filesystem, but
it is a one-time effort for the root fs, and it also ensures that you
have a rescue disk you can use in case of problems ;-).
The presence or absence of the ".journal" file does not indicate whether
or not the filesystem is journaled. It is "tune2fs -l" which matters.
Cheers, Andreas
-- Andreas Dilger \ "If a man ate a pound of pasta and a pound of antipasto, \ would they cancel out, leaving him still hungry?" http://www-mddsp.enel.ucalgary.ca/People/adilger/ -- Dogbert- 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/