[ ... ]

>>> Snapshots work fine with nodatacow, each block gets CoW'ed
>>> once when it's first written to, and then goes back to being
>>> NOCOW.
>>> The only caveat is that you probably want to defrag either
>>> once everything has been rewritten, or right after the
>>> snapshot.

>> I thought defrag would unshare the reflinks?
 
> Which is exactly why you might want to do it. It will get rid
> of the overhead of the single CoW operation, and it will make
> sure there is minimal fragmentation.
> IOW, when mixing NOCOW and snapshots, you either have to use
> extra space, or you deal with performance issues. Aside from
> that though, it works just fine and has no special issues as
> compared to snapshots without NOCOW.

The above illustrates my guess as to why RHEL 7.4 dropped Btrfs
support, which is:

  * RHEL is sold to managers who want to minimize the cost of
    upgrades and sysadm skills.
  * Every time a customer creates a ticket, RH profits fall.
  * RH had adopted 'ext3' because it was an in-place upgrade
    from 'ext2' and "just worked", 'ext4' because it was an
    in-place upgrade from 'ext3' and was supposed to "just
    work", and then was looking at Btrfs as an in-place upgrade
    from 'ext4', and presumably also a replacement for MD RAID,
    that would "just work".
  * 'ext4' (and XFS before that) already created a few years ago
    trouble because of the 'O_PONIES' controversy.
  * Not only Btrfs still has "challenges" as to multi-device
    functionality, and in-place upgrades from 'ext4' have
    "challenges" too, it has many "special cases" that need
    skill and discretion to handle, because it tries to cover so
    many different cases, and the first thing many a RH customer
    would do is to create a ticket to ask what to do, or how to
    fix a choice already made.

Try to imagine the impact on the RH ticketing system of a switch
from 'ext4' to Btrfs, with explanations like the above, about
NOCOW, defrag, snapshots, balance, reflinks, and the exact order
in which they have to be performed for best results.
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to