[Discuss] File systems that support file cloning

Rich Pieri richard.pieri at gmail.com
Thu Nov 17 08:43:22 EST 2022


On Wed, 16 Nov 2022 20:35:14 -0500
"Dale R. Worley" <worley at alum.mit.edu> wrote:

> I tried out btrfs, and it has some management problems.  "df" doesn't
> report free space correctly.  And apparently there is a need to run a
> "rebalancing" program occasionally to keep free space accessible.

Every file system requires periodic maintenance. Scrubbing and
balancing is part of Btrfs maintenance.

Due to how Unix and Linux file systems work, no df is 100% accurate.
Or, more correctly, df does not report *file* usage; it reports *file
system* usage. The output from du and df will almost never perfectly
align, and guaranteed not to align for root vs non-root users due to
overhead reservation.

> Also, later when I was researching xfs, there were comments
> suggesting that though btrfs had been around for many years, it was
> still not fully reliable and people had seen filesystem crashes that
> left the partition readable.

That's FUD. Any crash can potentially damage any file system. Btrfs is
no more or less potentially vulnerable than any other file system.

> I checked into zfs.  zfs has an integral volume manager.  I don't need
> that, as I use LVM.  But unfortunately zfs's volume manager can't be
> ignored by default.  So zfs has additional management overhead, like
> btrfs.

No, it doesn't. It just looks that way when you frame it in the context
of traditional file systems and volumes. To wit: a data set is not a
volume. It is a logical collection (a set) of data within a directory
hierarchy. Where a volume is fixed size, the data in a data set can
grow to fill the entire zpool, though you can limit this with quotas.


> The only feature that I desire that xfs doesn't have is file system
> shrinking.  It does have file system expansion, and oddly, it is
> *only* available when the file system is mounted.  I'm a little
> surprised that nobody has implemented shrinking yet.

Because it's hard. The only file system I can recall supporting volume
shrinking is IBM's JFS.

Going back to ZFS, you never need to shrink a ZFS data set because it
doesn't have a fixed size because it's not a volume.

-- 
\m/ (--) \m/


More information about the Discuss mailing list