Lập Trình Linux

XFS: Teaching an Old Dog Old Tricks

Dave Chinner

XFS has been in production for more than 20 years and has been in the linux
kernel for 15 of them – it is the oldest of the current mainstream
Linux filesystems. The design of XFS was state of the art in the late 1980s,
when btrees, extents and journalling were shiny new concepts. While development
of XFS still continues, it’s design and architecture is largely unchanged. many
of the tricks that XFS brought to Linux can now be found in other Linux
filesystems, too. It’s the old dog of the pack.

We recently introduced a late-90s technology to XFS: shared data extents and a
copy-on-write IO path. The copy-on-write tree structure that first appeared in
the late 90s can be found in ZFS and BTRFS, but not XFS. So while XFS can now
provide some data manipulations like clones and deduplication, it doesn’t provide
any of the more advanced CoW functionality like snapshots that traditional CoW
filesystems inherently provide.

Given that XFS doesn’t have a copy-on-write architecture, can we use the new
functionality to provide a similar feature set to native COW filesystems? What
other old tricks do we need to pull out of the bag to make this a reality? And
how much will the result look like XFS?

In this talk I’ll outline my crazy plan to add filesystem management concepts to
XFS that only copy-on-write filesystems current provide to Linux users. There
won’t be anything “new” here – I’ll describe the old tech that inspired the
algorithms and structures that we’ll use and, more importantly, some of the
pitfalls and hard lessons learned from the original implementations of these

With any luck, I’ll present a coherent story of how we are going to bring
subvolumes, snapshots, writeable clones, send/receive remote snapshot
replication, page cache sharing and more to XFS without needing to change it’s
underlying 1980s architecture. XFS may be an old dog, but there’s still some
old tricks we can teach it to keep it shiny, new and relevant to users for years
to come.

This talk was given at Linux.conf.au 2018 (LCA2018) which was held on 22-26 January 2018 in Sydney Australia.

linux.conf.au is a conference about the Linux operating system, and all aspects of the thriving ecosystem of Free and Open Source Software that has grown up around it. Run since 1999, in a different Australian or New Zealand city each year, by a team of local volunteers, LCA invites more than 500 people to learn from the people who shape the future of Open Source. For more information on the conference see

#linux.conf.au #linux #foss #opensource


Xem Thêm Bài Viết Khác:https://ftlinuxcourse.com/lap-trinh-linux

Lập Trình Linux
Bài 9: Cài database MySQL phân quyền User trên AWS EC2 Linux
Công Nghệ
Tháo loa bluetooth giá 400k xem bên trong có gì ???🤔
Xiaomi Black Shark Helo test ARK Survival và TALION – Game khủng nặng 4GB
  • Compared to FreeBSD Linux is a weird place.

  • Thank you, better than an Immolation live 😉

    XFS is my favourite fs and I use it everywhere I can, I'm excited for cow and maybe replication and decuplication.

    Thanks for your work !

  • True pleasure listening.

  • XFS will never die just like Rock & Roll. Matter of fact, XFS will come back better than Jesus!

  • I really like XFS , but compared to BTRFS there is a few nuggets that is worth thinking about that XFS as far as I know does not support. 1. Checksums for data + metadata. 2. Online instant repair of corrupted data, 3. Multi device support for RAID-like functionality and the ability to reshape the filesystem to different RAID-like profiles. 4. I did not quite get if you can finally shrink XFS, because if you can't why would you run XFS on a subvolume. 5. Compression, 6. Send and receive functionality, 7. Online device add/removal

  • My question is: should we get more speed and scalability from XFS snapshots than with the COW FSs?

  • Are there slides available?