Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
XFS
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==History== === First generation XFS === [[Silicon Graphics]] began development of XFS<ref>{{cite book |last1 = Smith |first1 = Roderick W. |title = Linux Administrator Street Smarts: A Real World Guide to Linux Certification Skills |url = https://books.google.com/books?id=Ll_ETPXJE5wC |series = Street smarts series |publisher = John Wiley & Sons |date = 2007 |page = 204 |isbn = 9780470116746 |access-date = 2016-03-21 |quote = Silicon Graphics (SGI) created its ''Extents File System (XFS)'' for its IRIX OS and [...] later donated the code to Linux. |archive-url = https://web.archive.org/web/20160821163053/https://books.google.com/books?id=Ll_ETPXJE5wC |archive-date = 2016-08-21 |url-status = live }}</ref> ("X" was meant to be filled in later but never was) in 1993 for its [[UNIX System V]] based [[IRIX]] operating system. The file system was released under the [[GNU General Public License]] (GPL) in May 1999.<ref>{{cite web | url= https://slashdot.org/story/99/05/20/0243235/sgi-open-sourcing-xfs | title= SGI open-sourcing XFS | website= [[slashdot.org]] | date= 1999-05-19 | access-date= 2023-04-12 }}</ref> === Second generation XFS === A team led by Steve Lord at SGI ported XFS to Linux,<ref>{{cite web | url= http://olstrans.sourceforge.net/release/OLS2000-xfs/OLS2000-xfs.html | title= Porting XFS to Linux | website= Olstrans.SourceForge.net | date= 2000-07-21 | access-date= 2013-04-29 | archive-url= https://web.archive.org/web/20130225112334/http://olstrans.sourceforge.net/release/OLS2000-xfs/OLS2000-xfs.html | archive-date= 2013-02-25 | url-status= live }}</ref> and first support by a [[Linux distribution]] came in 2001. This support gradually became available in almost all Linux distributions.{{citation needed|date=March 2016}} Initial support for XFS in the Linux kernel came through [[Patch (computing)|patches]] from SGI. It merged into the [[Linux kernel mainline]] for the 2.6 series, and separately merged in February 2004 into the 2.4 series in version 2.4.25,<ref>{{cite web | url= https://www.kernel.org/pub/linux/kernel/v2.4/ChangeLog-2.4.25 | title= Linux kernel 2.4.25 changelog | website= [[kernel.org]] | date= 2004-02-18 | access-date= 2014-08-14 | archive-url= https://web.archive.org/web/20140819083123/https://www.kernel.org/pub/linux/kernel/v2.4/ChangeLog-2.4.25 | archive-date= 2014-08-19 | url-status= live }}</ref> making XFS almost universally available on Linux systems.<ref>{{cite web |title= Common threads: Advanced filesystem implementor's guide, Part 9, Introducing XFS |author= Daniel Robbins |work= Developer Works |publisher= IBM |date= January 1, 2002 |url= http://www.ibm.com/developerworks/library/l-fs9/index.html | access-date=November 6, 2011 | url-status= dead | archive-url= https://web.archive.org/web/20150904032700/http://www.ibm.com/developerworks/library/l-fs9/index.html| archive-date= September 4, 2015 }}</ref> [[Gentoo Linux]] became the first [[Linux distribution]] to introduce an option for XFS as the default filesystem in mid-2002.<ref>{{cite web | title = Common threads: Advanced filesystem implementor's guide, Part 10, Deploying XFS | author = Daniel Robbins | work = Developer Works | publisher = IBM | date = April 1, 2002 | url = http://www.ibm.com/developerworks/linux/library/l-fs10/index.html | access-date = November 6, 2011 | archive-url = https://web.archive.org/web/20111224220036/http://www.ibm.com/developerworks/linux/library/l-fs10/index.html | archive-date = December 24, 2011 | url-status = live }}</ref> [[FreeBSD]] added [[File system permissions|read-only]] support for XFS in December 2005, and in June 2006 introduced experimental write support. However, this was intended only as an aid in migration from Linux, not as a "main" file system. FreeBSD 10 removed support for XFS.<ref name="freebsdremoved">{{cite web | url = http://lists.freebsd.org/pipermail/freebsd-questions/2013-October/254143.html | title = Has FreeBSD 10 Dropped Support For XFS? | website = Lists.freebsd.org | date = 2013-10-27 | access-date = 2014-03-30 | archive-url = https://web.archive.org/web/20140330082123/http://lists.freebsd.org/pipermail/freebsd-questions/2013-October/254143.html | archive-date = 2014-03-30 | url-status = live }}</ref> In 2009, version 5.4 of 64-bit [[Red Hat Enterprise Linux]] (RHEL) Linux distribution contained the necessary kernel support for the creation and usage of XFS file systems, but lacked the corresponding command-line tools. The tools available from [[CentOS]] could operate for that purpose, and Red Hat also provided them to RHEL customers on request.<ref>{{cite web | title = Bug 521173 -xfsprogs is missing in RHEL-5.4 | date = May 24, 2010 | website = RedHat.com | url = http://bugzilla.redhat.com/show_bug.cgi?id=521173 | access-date = November 6, 2011 | archive-url = https://archive.today/20120710060100/http://bugzilla.redhat.com/show_bug.cgi?id=521173 | archive-date = July 10, 2012 | url-status = live }}</ref> RHEL 6.0, released in 2010, includes XFS support for a fee as part of Red Hat's "scalable file system add-on".<ref>{{cite web | title = Red Hat Enterprise Linux Scalable File System Add-On | url = http://ca.redhat.com/products/enterprise-linux-add-ons/file-systems/ | access-date = 2014-05-22 | website = RedHat.com | archive-url = https://web.archive.org/web/20140529025913/http://ca.redhat.com/products/enterprise-linux-add-ons/file-systems/ | archive-date = 2014-05-29 | url-status = live }}</ref> [[Oracle Linux]] 6, released in 2011, also includes an option for using XFS.<ref>{{cite web |url = https://oss.oracle.com/el6/docs/RELEASE-NOTES-GA-en.html |title = Oracle Linux 6 Release Notes |date = February 2011 |publisher = Oracle Corporation |access-date = 2013-04-07 |quote = Oracle Linux 6 includes many new features, including [...] XFS [:] Oracle Linux 6 includes XFS as an optional filesystem. |archive-url = https://web.archive.org/web/20120328031356/http://oss.oracle.com/el6/docs/RELEASE-NOTES-GA-en.html |archive-date = 2012-03-28 |url-status = live }}</ref> RHEL 7.0, released in June 2014, uses XFS as its default file system,<ref>{{cite web |url = http://www.redhat.com/about/news/press-archive/2014/6/red-hat-unveils-rhel-7 |title = Red Hat Unveils Red Hat Enterprise Linux 7, Redefining the Enterprise Operating System |date = 2014-06-10 |access-date = 2014-06-10 |publisher = [[Red Hat]] |archive-url = https://web.archive.org/web/20140613005526/http://www.redhat.com/about/news/press-archive/2014/6/red-hat-unveils-rhel-7 |archive-date = 2014-06-13 |url-status = live }}</ref> including support for using XFS for the <code>/boot</code> partition, which previously was not practical due to bugs in the [[GRUB]] bootloader.<ref>{{cite web | title = Bug 250843 -grub-install hangs on xfs | date = May 4, 2009 | website = Redhat.com | url = http://bugzilla.redhat.com/show_bug.cgi?id=250843 | access-date = November 6, 2011 | archive-url = https://archive.today/20120710160608/http://bugzilla.redhat.com/show_bug.cgi?id=250843 | archive-date = July 10, 2012 | url-status = live }}</ref> Linux kernel 4.8 in August 2016 added a new feature, "reverse mapping". This is the foundation for a large set of planned features: [[Snapshot (computer storage)|snapshots]], [[copy-on-write]] (COW) data, [[data deduplication]], reflink copies, online data and metadata [[Data scrubbing|scrubbing]], highly accurate reporting of data loss or bad sectors, and significantly improved reconstruction of damaged or corrupted filesystems. This work required changes to XFS's on-disk format.<ref>{{cite web|url=https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=0cbbc422d56668528f6efd1234fe908010284082|title=kernel/git/torvalds/linux.git - Linux kernel source tree|website=git.kernel.org}}</ref><ref>{{Cite web |url=https://kernelnewbies.org/Linux_4.8#XFS_reverse_mapping |title=Linux_4.8 - Linux Kernel Newbies |access-date=2018-10-19 |archive-url=https://web.archive.org/web/20181019164144/https://kernelnewbies.org/Linux_4.8#XFS_reverse_mapping |archive-date=2018-10-19 |url-status=live }}</ref> === Third generation XFS=== [[File:XFS v4 Linux Kernel Option.jpg|thumb|XFS v4 is deprecated. Partitions have to be reformatted with XFS v5.]] Linux kernel 5.10, released in December 2020, included the new on-disk format XFS v5. This was a hard break, since the deprecated XFS v4 can not be converted to XFS v5. Data on partitions formatted with XFS v4 has to be backed up to another partition or media in order to restore it after formatting the old partition with XFS v5, which completely wipes all data on it. The support for XFS v4 will be removed from the Linux kernel in September 2030.<ref>https://www.haiku-os.org/docs/develop/file_systems/xfs.html</ref> XFS v5 introduced "bigtime", to store inode timestamps as a 64-bit nanosecond counter instead of the traditional 32-bit seconds counter. This postpones the previous [[Year 2038 problem]] until the year 2486.<ref name="bigtime"/> It also introduced metadata checksums. The Gentoo Handbook, [[Gentoo Linux]]'s official installation manual, has recommended XFS as the "all-purpose all-platform filesystem" since 28 Jun 2023, succeeding [[Ext4]].<ref>{{Cite web |title=Difference between revisions of "Handbook:Parts/Installation/Disks" - Gentoo wiki |url=https://wiki.gentoo.org/index.php?title=Handbook:Parts/Installation/Disks&diff=prev&oldid=1248552 |access-date=2024-04-25 |website=wiki.gentoo.org}}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)