[systemd-devel] [ANNOUNCE] systemd 219

Zbigniew Jędrzejewski-Szmek zbyszek at in.waw.pl
Tue Feb 17 19:30:41 PST 2015


On Wed, Feb 18, 2015 at 06:22:38AM +0300, Andrei Borzenkov wrote:
> В Wed, 18 Feb 2015 01:14:44 +0100
> Zbigniew Jędrzejewski-Szmek <zbyszek at in.waw.pl> пишет:
> 
> > On Tue, Feb 17, 2015 at 08:05:29PM +0100, Goffredo Baroncelli wrote:
> > > Hi Lennart,
> > > 
> > > On 2015-02-16 23:59, Lennart Poettering wrote:
> > > >         * journald now sets the special FS_NOCOW file flag for its
> > > >           journal files. This should improve performance on btrfs, by
> > > >           avoiding heavy fragmentation when journald's write-pattern
> > > >           is used on COW file systems. It degrades btrfs' data
> > > >           integrity guarantees for the files to the same levels as for
> > > >           ext3/ext4 however. This should be OK though as journald does
> > > >           its own data integrity checks and all its objects are
> > > >           checksummed on disk. Also, journald should handle btrfs disk
> > > >           full events a lot more gracefully now, by processing SIGBUS
> > > >           errors, and not relying on fallocate() anymore.
> > > 
> > > If I read correctly the code, the FS_NOCOW is a temporary workaround, i.e.
> > > when the file is closed (or rotated ?) the FS_NOCOW flags is unset again. 
> > > It is true ?
> > Yes, but you miss the point in general. FS_NOCOW is set during the
> > entire time when the file is being written to, which could be months,
> > and then it is unset when the file will not be written to anymore. So
> > indeed, the file is not protected by btrfs checksums for the majority
> > of time, but journald does its own checksumming, so the contents are
> > protected in a different way.
> > 
> 
> btrfs checksumming theoretically allows you to transparently recover
> after media corruption if filesystem has redundancy (more than one copy
> of data). Journald checksum will probably detect corruption, but can it
> repair it?
No.

Zbyszek


More information about the systemd-devel mailing list