[prev in list] [next in list] [prev in thread] [next in thread] 

List:       zfs-discuss
Subject:    Re: [zfs-discuss] about btrfs and zfs
From:       Pawel Jakub Dawidek <pjd () FreeBSD ! org>
Date:       2011-10-19 15:46:23
Message-ID: 20111019154622.GA1982 () garage ! freebsd ! pl
[Download RAW message or body]

[Attachment #2 (multipart/signed)]


On Wed, Oct 19, 2011 at 10:13:56AM -0400, David Magda wrote:
> On Wed, October 19, 2011 08:15, Pawel Jakub Dawidek wrote:
> 
> > Fsck can only fix known file system inconsistencies in file system
> > structures. Because there is no atomicity of operations in UFS and other
> > file systems it is possible that when you remove a file, your system can
> > crash between removing directory entry and freeing inode or blocks.
> > This is expected with UFS, that's why there is fsck to verify that no
> > such thing happend.
> 
> Slightly OT, but this non-atomic delay between meta-data updates and
> writes to the disk is exploited by "soft updates" with FreeBSD's UFS:
> 
> http://www.freebsd.org/doc/en/books/handbook/configtuning-disk.html#SOFT-UPDATES
> 
> It may be of some interest to the file system geeks on the list.

Well, soft-updates thanks to careful ordering of operation allow to
mount file system even in inconsistent state and run fsck in background,
as the only inconsistencies are resource leaks - directory entry will
never point at unallocated inode and an inode will never point at
unallocated block, etc. This is still not atomic.

With recent versions of FreeBSD, soft-updates were extended to journal
those resource leaks, so background fsck is not needed anymore.

-- 
Pawel Jakub Dawidek                       http://www.wheelsystems.com
FreeBSD committer                         http://www.FreeBSD.org
Am I Evil? Yes, I Am!                     http://yomoli.com

[Attachment #5 (application/pgp-signature)]

_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic