SU+J Lost files after a power failure
Charles Swiger
cswiger at mac.com
Mon Oct 14 18:48:28 UTC 2013
On Oct 14, 2013, at 11:33 AM, CeDeROM <cederom at tlen.pl> wrote:
> On Mon, Oct 14, 2013 at 7:54 PM, Bruce Cran <bruce at cran.org.uk> wrote:
>> On 10/14/2013 6:16 PM, CeDeROM wrote:
>>> Isn't there Journal to prevent and reverse such damage?
>>
>> Unlike other journaling filesystems, UFS+J only protects the metadata, not
>> the data itself - i.e. I think it ensures you won't have to run a manual
>> fsck, but just like plain old UFS files may be truncated as the journal is
>> replayed.
>
> Thank you for explaining :-) So it looks that it would be sensible to
> force filesystem check every n-th mount..?
You shouldn't ever need to recheck the filesystem if it was shutdown cleanly.
However, it doesn't hurt to fire off an fsck once a year or so just to look for
any unexpected issues.
> Or to do a filesystem check after crash..?
Yes. Without journalling, you'd normally perform the full timeconsuming fsck
in the foreground. With journalling, it should be able to do a journal replay
to restore the filesystem to an OK state, but sometimes that doesn't restore
consistency, in which case it usually fires off a background fsck rather than
the foreground fsck.
> Are there any flags like that to mark filesystem
> unclean and to force fsck after n-th mount? That would assume
> disabling journal and soft updates journaling I guess..?
/etc/rc.conf should support something like the following to do what you ask:
fsck_y_enable="YES"
background_fsck="NO"
force_fsck="YES"
> What would be the best option for best data integrity in case of
> crash? That would be helpful for development systems I guess :-)
Well, you can use mount -o sync and disable write caching via hw.ata.wc=0 or
similar depending on what kind of drives you use.
This will cause a massive loss of write performance, but will greatly improve
reliability-- i.e. fsync() and such are not as likely to lie about whether bits
have made it to disk, even in the face of hardware which lies about ATA_FLUSHCACHE
(or SCSI "SYNCHRONIZE CACHE", etc).
Regards,
--
-Chuck
More information about the freebsd-questions
mailing list