Bug 1650453

Summary: Turn on reflink by default
Product: [Fedora] Fedora Reporter: Daniel Walsh <dwalsh>
Component: xfsprogsAssignee: Eric Sandeen <esandeen>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: esandeen, pasik, ttomecek, yaneti
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: xfsprogs-5.1.0 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-07-19 22:13:48 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Daniel Walsh 2018-11-16 08:37:02 UTC
We need to turn on xfs `reflink` by default.  

Since containers can really take advantage of it.Podman (A
replacement for Docker CLI) popularity has really taken off, especially
when running as non root.   When podman runs as non root, it defaults
currently to using the VFS storage driver, which is a very slow driver
and uses a lot of storage.  Basically each container you create copies
the entire lower layers into a new directory.  It would be a very big
improvement if it was run on top of xfs with reflink.  Sadly almost know
one uses this since it is not on by default, and impossible to turn on
during the GUI installation of Fedora, Centos and RHEL.  You basically
have to be a storage expert to turn it on with the mkfs.xfs command. 
Here is a link to a github issue for someone requesting that we turn
this on in podman.

https://github.com/containers/libpod/issues/1815

No one is using reflink now, because it is not on by default, and many people would really be able to see improvements with it.

Comment 1 Eric Sandeen 2018-11-16 15:51:23 UTC
Reflink is not yet on by default upstream - i.e. the upstream development community has not yet deemed it ready for widespread public use.  Indeed, several data corruption bugs in clone_range & friends have recently been found in the kernel, and more work in that area is ongoing.  So it's a balancing act.  I'm still hesitant to unleash this on every Fedora user just yet, because as a filesystem developer my version of the Hippocratic Oath is "First Lose No Data."

If you'd like to help push this forward, encourage i.e. the Podman community to actually test this stuff heavily and report back, whether it's success or failure.  More data points help, that's the whole oint of the semi-slow rollout from experimental to optional to default.  It's there and available for use, please test it and give us more confidence.

Thanks,
-Eric

Comment 2 Daniel Walsh 2018-11-16 20:54:57 UTC
Understood, but by the same token, if no one ever turns on the feature, does the feature really exists.  :^)

I would think turning it on in Rawhide for a few months and then pulling it out if it causes problems.  My biggest issue with it, is I can not toggle it on in the graphical installer. So I end up having to deal with it at the mkfs level, and I really do not want to document how to do this at that level.

Comment 3 Eric Sandeen 2019-07-19 22:13:48 UTC
From the better-late-than-never department, reflink is now on by default in xfsprogs-5.1.0 pushed to rawhide.