Discussion:
article on btrfs, comparison with zfs
James C. McPherson
2009-07-31 04:33:48 UTC
Permalink
An introduction to btrfs, from somebody who used to work on ZFS:

http://www.osnews.com/story/21920/A_Short_History_of_btrfs



James C. McPherson
--
Senior Kernel Software Engineer, Solaris
Sun Microsystems
http://blogs.sun.com/jmcp http://www.jmcp.homeunix.com/blog
Kernel Conference Australia - http://au.sun.com/sunnews/events/2009/kernel
C. Bergström
2009-07-31 05:37:13 UTC
Permalink
Post by James C. McPherson
http://www.osnews.com/story/21920/A_Short_History_of_btrfs
*very* interesting article.. Not sure why James didn't directly link to
it, but courteous of Valerie Aurora (formerly Henson)

http://lwn.net/Articles/342892/
Mario Goebbels
2009-07-31 12:54:48 UTC
Permalink
Post by C. Bergström
Post by James C. McPherson
http://www.osnews.com/story/21920/A_Short_History_of_btrfs
*very* interesting article.. Not sure why James didn't directly link to
it, but courteous of Valerie Aurora (formerly Henson)
http://lwn.net/Articles/342892/
I'm trying to understand the argument against the SLAB allocator
approach. If I understood correctly how BTRFS allocates space, changing
and deleting files may just punch randomly sized holes into the disk
layout. How's that better?

Regards,
-mg
Henk Langeveld
2009-08-01 18:44:12 UTC
Permalink
Post by Mario Goebbels
Post by C. Bergström
Post by James C. McPherson
http://www.osnews.com/story/21920/A_Short_History_of_btrfs
*very* interesting article.. Not sure why James didn't directly link to
it, but courteous of Valerie Aurora (formerly Henson)
http://lwn.net/Articles/342892/
I'm trying to understand the argument against the SLAB allocator
approach. If I understood correctly how BTRFS allocates space, changing
and deleting files may just punch randomly sized holes into the disk
layout. How's that better?
It's an interesting article, for sure. The core of the article is actually
how a solution (b+trees with copy-on-write) found a problem (file systems).

To answer the question, the article claims that reallocation is part of the
Post by Mario Goebbels
Defragmentation is an ongoing process - repacking the items
efficiently is part of the normal code path preparing extents to be
written to disk. Doing checksums, reference counting, and other
assorted metadata busy-work on a per-extent basis reduces overhead
and makes new features (such as fast reverse mapping from an extent
to everything that references it) possible.
It sure suggests what is happening, but I haven't got a clue on how the above
makes a difference. Translating this to the ZFS design, I guess it involves
delaying the block layout to the actual txg i/o phase, while zfs already
decides this when a block enters the txg, it's layout has been decided already.

This allows for blocks to be dumped into a slog device as soon as it is available.

Cheers,
Henk
Roch
2009-08-04 08:16:09 UTC
Permalink
Post by Henk Langeveld
Post by Mario Goebbels
Post by C. Bergström
Post by James C. McPherson
http://www.osnews.com/story/21920/A_Short_History_of_btrfs
*very* interesting article.. Not sure why James didn't directly link to
it, but courteous of Valerie Aurora (formerly Henson)
http://lwn.net/Articles/342892/
I'm trying to understand the argument against the SLAB allocator
approach. If I understood correctly how BTRFS allocates space, changing
and deleting files may just punch randomly sized holes into the disk
layout. How's that better?
It's an interesting article, for sure. The core of the article is actually
how a solution (b+trees with copy-on-write) found a problem (file systems).
To answer the question, the article claims that reallocation is part of the
Post by Mario Goebbels
Defragmentation is an ongoing process - repacking the items
efficiently is part of the normal code path preparing extents to be
written to disk. Doing checksums, reference counting, and other
assorted metadata busy-work on a per-extent basis reduces overhead
and makes new features (such as fast reverse mapping from an extent
to everything that references it) possible.
It sure suggests what is happening, but I haven't got a clue on how the above
makes a difference. Translating this to the ZFS design, I guess it involves
delaying the block layout to the actual txg i/o phase, while zfs already
decides this when a block enters the txg, it's layout has been decided already.
Henk,

I don't know what 'enters the txg' exactly is but ZFS disk-block
allocation is done in the ZIO pipeline at the latest
possible time.
Post by Henk Langeveld
This allows for blocks to be dumped into a slog device as soon as it is available.
I'm not sure what this refers to.

-r
Post by Henk Langeveld
Cheers,
Henk
_______________________________________________
zfs-discuss mailing list
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss
Henk Langeveld
2009-08-05 21:30:17 UTC
Permalink
Post by Roch
I don't know what 'enters the txg' exactly is but ZFS disk-block
allocation is done in the ZIO pipeline at the latest
possible time.
Thanks Roch,
I stand corrected in my assumptions.

Cheers,
Henk

Roch
2009-08-04 08:05:01 UTC
Permalink
Post by C. Bergström
Post by James C. McPherson
http://www.osnews.com/story/21920/A_Short_History_of_btrfs
*very* interesting article.. Not sure why James didn't directly link to
it, but courteous of Valerie Aurora (formerly Henson)
http://lwn.net/Articles/342892/
In terms of the ZFS comparison, Valerie gets it wrong. ZFS
allocates out of metaslabs and space maps which take arbitrary size as an
argument :


http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/common/fs/zfs/metaslab.c#388


Further reading :

http://blogs.sun.com/bonwick/entry/space_maps


-r
Post by C. Bergström
_______________________________________________
zfs-discuss mailing list
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss
Loading...