On Mon, 16.06.14 10:17, Russell Coker (russ...@coker.com.au) wrote: > > I am not really following though why this trips up btrfs though. I am > > not sure I understand why this breaks btrfs COW behaviour. I mean, > > fallocate() isn't necessarily supposed to write anything really, it's > > mostly about allocating disk space in advance. I would claim that > > journald's usage of it is very much within the entire reason why it > > exists... > > I don't believe that fallocate() makes any difference to fragmentation on > BTRFS. Blocks will be allocated when writes occur so regardless of an > fallocate() call the usage pattern in systemd-journald will cause > fragmentation.
journald's write pattern looks something like this: append something to the end, make sure it is written, then update a few offsets stored at the beginning of the file to point to the newly appended data. This is of course not easy to handle for COW file systems. But then again, it's probably not too different from access patterns of other database or database-like engines... Lennart -- Lennart Poettering, Red Hat _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel