how does ext3 handle no communication to storage
Sev Binello
sev at bnl.gov
Tue Aug 29 15:09:35 UTC 2006
Andreas Dilger wrote:
> On Aug 28, 2006 18:47 -0400, Sev Binello wrote:
>
>>so there are buffers in the cache that haven't been written out yet,
>>so by "flush" drop" you mean get rid of, or you mean make sure they are
>>written out ?
>>If the former, how does that prevent file system corruption ?
>
>
> If buffers are discarded outright (i.e. the first case) then the ext3
> journal recovery will handle the interruption at remount time as if
> the node had rebooted. If, on the other hand, some dirty buffers are
> sitting in memory but also some of the previous writes completed with
> an error, then you can get inconsistencies in the filesystem.
>
> Consider if a bunch of journal writes fail, but the journal commit block
> sits in memory until the FC link is restored. Then, upon remounting the
> filesystem, the old garbage that was at the location of the transaction
> gets copied into the filesystem because the commit block says "yup, this
> transaction is complete and safe to checkpoint to the filesystem".
>
> One solution that we have been looking at is the journal checksum patch
> from U. Wisconsin. This verifies that the journal transaction is complete
> before doing any recovery checkpointing, and would prevent such an error.
>
> Another option (to at least avoid gratiuitous damage, but haven't tried
> this yet) is to mark the whole block device read-only when the journal
> is aborted so that the block layer will prevent any writes to be submitted
> to the block device. The jbd code would need to clear the read-only flag
> after the filesystem is being unmounted and all the buffers have been
> discarded.
>
> Cheers, Andreas
> --
> Andreas Dilger
> Principal Software Engineer
> Cluster File Systems, Inc.
>
From a strictly practical and immediate stand point,
what is the best way to handle this situation if it should occur again in the near future ?
Thanks
-Sev
--
Sev Binello
Brookhaven National Laboratory
Upton, New York
631-344-5647
sev at bnl.gov
More information about the Ext3-users
mailing list