XFS Merged into Linux 2.4
Alphix writes "As noted on KernelTrap Marcelo has merged XFS into 2.4 after a code review by Christoph Hellwig. The mail from Marcelo on LKML is here. Apparently it touched very little VFS code so people not using XFS shouldn't see any ill effects from this (it's even supposed to fix some VFS bugs).
XFS is described by SGI as '...a journalling filesystem developed by SGI and used in SGI's IRIX operating system. It is now also available under GPL for linux. It is extremely scalable, using btrees extensively to support large and/or sparse files, and extremely large directories. The journalling capability means no more waiting for fsck's or worrying about meta-data corruption.' Let the stability vs. new-features flamewar begin."
What Dave has to say about this.
The site where: "I'm right, as long as you ignore the things that prove me wrong", became a valid method of debate.
Not.
Original ntfs.sys
The site where: "I'm right, as long as you ignore the things that prove me wrong", became a valid method of debate.
back in the days when ext3 was still in our dreams i downloaded the SGI XFS kernel from their site and installed it on my wife's laptop. it was extremely stable and had the advantage, that her "oops, i have to run off and just close the lid"-atacks would not corrupt the filesystem (which i would have to clean up...).
nowadays i use ext3 on my machines because it comes default with RH (by the way EL is now available for academia, woohoo!). hence my question:
can someone offer a nice comparison of ext3 versus XFS?
Any up-to-date comparisons between the 3 main journalling filesystems (ext3, xfs, reiserfs), for both speed and reliability ?
:-)
I like xfs on the SGI - it's never let me down yet. I have to admit I'll be sorely tempted to try out xfs now that it's passed the 'seal-of-approval' and made it into the kernel - surely the best benchmark of all
Simon
Physicists get Hadrons!
Let the stability vs. new-features flamewar begin.
It's already been stable for years, since VERY early in the 2.4.x cycle. It's just a detail in the naming that makes it merged as part of 2.4.x itself.
Be careful those of you who still use lilo
Q: Does LILO work with XFS?
This depens on where you install LILO. For MBR installation: Yes. For root partitions: No, because the XFS superblock goes where LILO would be installed. This is to maintain compatibility with the Irix on-disk format. This will not be changed. Putting the Superblock on the swap partition is reported to work but not guaranteed.
SGI has an overview on the XFS filesystem, just briefly pointing out some highlights. I also recall reading somewhere that it was possible (moreso than ext* filesystems) to undelete files on an XFS filesystem, although I'm skeptical.
Trolls lurk everywhere. Mod them down.
For all those that are looking for a filesystem comparison, I found this story to be quite interesting...or go here for the test details and results.
I use XFS on serveral different servers, mainly because I belive it performs better then ext3, or any other fs. Also because Alot of the servers I run are samba servers and the ACL support is built native into XFS. And last I looked ACL support was still not quite stable in ext2/3 it has been awhile so it could be stable by now.
SGI released XFS into "the wild" and has ensured its longevity with little to no support on their part and increased the number of "out of box" coders they can hire to work on FS projects.
Microsoft....hasn't. Heck, MS is preparing to charge media makers (CF, SM, MMC, etc) to use FAT.
I say media makers switch to using XFS or another GPL'd journaling file systems. Won't take long for other platforms to support it in bulk (make/ config.....) and for stuff like flash where corruptions can occur often, I'd like a bit of journaling to minimize the impact.
I've been on slashdot so long I'm starting to get out of touch with the cool stuff if it ain't on slashdot.
Faster, More trusted (SGI's been using it for how many years now?), not sure how it compares cpu-wise.
The main thing that keeps me on ext3 is ext2 backwards compatability. You dont have to worry about having custom repair/bootdisks to recognize your install, and its easier to do stuff like mount under windows (great for dual booting)
Pain lasts, kid. Its how you know you're alive. Sometimes I think this growing up thing is just pain management-TheMaxx
Back in the day I would always just use ext2. Then I realized, hey there are other filesystems to choose from, so I decided to shoot in the dark and try reiser and xfs and ext3. xfs has always been the most awesome.
Just one thing. Now that we've got the source code for dealing with xfs, can someone write a driver so I can mount my xfs partitions from windows xp? It would really help out a lot of us dual booting types. I would do it myself, but I don't know jack about how filesystems work. I just know which ones do what.
I hope they put the xfs into 2.6 also. Maybe it wont be necessary to have seperate xfs-sources in gentoo anymore and xfs will finally be included in the gentoo-sources.
The GeekNights podcast is going strong. Listen!
I have been using it for for almost 3 years now. It has never let me down unlike some of the other journaling filesystems. No corrupt superblock like jfs. Kinda slow for small files when the parttions reach around 80% full. Plus its sure to piss SCO off :) but for video editing or files over 100kb it can't be beat. Reiserfs is great for directories like /var since 2.4.18 but I have lost too much data in the past to the bugger.
Just wondering, why does everyone get so excited about journaling filesystems? Many distros default to ext3/reiserfs now for even home boxes, but it's like a big band-aid.
If your box is crashing enough to make fscking a chore, you already have bigger problems. Sure, I can see where JFSs are sometimes useful, but on dekstops and most other machines the better-performing ext2 is a much more appropriate choice.
I agree with Marcelo's action on this. We're still in a very early stage of the 2.6 (stable) branch to feature freeze 2.4.
:)
I know we need the maximum user base for 2.6 testing, debugging and to recieve those "My TV stopped working when I installed kernel 2.6" messages. But we have to take it easy.
2.6 rocks. And a lot of distros have plans to release 2.6 based releases in the first quarter of 2004, which will greatly improve the user base.
IMHO, a good feature freeze, as Marcelo said somewhere in LKML, is 2.4.24 or even 2.4.25.
It's no time for a flamewar to begin. The Beaver is in the building.
.. what SCO will have to say about this...
Fun for the whole family with guess where the patch was applied From the snapshot directory
bk6 - 424K
bk7 - 964k
bk8 - 1.2M
Well thats increased the kernel by about another 5-10%. However I would say I do like xfs and its proven quite stable now.
Rus
Cheap UK and US VPS
after a code review by Christoph Hellwig
Incidentally, this is the Christoph Hellwig who contributed code to the kernel on Calderas behalf. His contributions may become an important point in the SCO-IBM-RedHat battle.
Any sufficiently advanced libertarian utopia is indistinguishable from government.
After patching every single kernel thats come out since the early 2.4s, I now have a kernel that I don't need to patch. WOW, about darn time!! Perhaps I'll even get lucky enough that RedHat and others that do not support XFS yet will build it into their kernels. That will make MY life easier, and updates go faster.
We chose XFS after lots of serious testing. It beat all comers at the time and we've been using it ever since. The only downside to XFS is file deletion times are a bit long, especially compared to Reiser, but when you have a server that is uner HEAVY load (Databses, mail servers) and with LARGE files (log server) nothing beats XFS.
Thanks guys, this is one of those merges that has made me estatic!
Angry People Rule
"Science is about ego as much as it is about discovery and truth " - I said it, so sue me.
yeah, they probably sent Vito down to visit Marcelo with a suite case full of jacksons and a simple message to deliver. "Marc... look we've got this fine filesystem here. you've seen the code. its nice code. but, you've got our competitor filesystem code in your kernel. now before we get our brawls all in an up roar, all we're asking is you HIGHLY consider putting this here XFS filesystem into that there kernel you're maintinging. Now, be a good boy, Marc, I know you'll do the right thing"
me i always hate seeing commercial quality products ending up on free software. the disgust.
Mandrake has offered XFS since at least 9.0, my first Linux distro. I've been using XFS (at the suggestion of my friend who helped with the install) for at least 6 months now, with only instance of a problem (not sure if it was a fault in the filesystem itself): lost or corrupted an inode or two, and fixed very easily once I knew what to do.
It works with both GRUB and LILO, is reasonably speedy, and has enormous partition and file size limits.
Count me a happy customer.
~~LF
This "big merge" has nothing to do with vendor pressure. The XFS patches have been available and well-tested throughout most of the 2.4 kernel's life cycle and since its (XFS') stability has already been proven to play nicely with the rest of the kernel, it's quite appropriate to do a merge so late in the 2.4 tree's live cycle. The team at SGI that handles merging the XFS code into the kernel have done a very good job of keeping up with bug reports and changes in the kernel vfs code.
Marcelo probably shares my opinion in that the current XFS code has been around long enough, demonstrated stability, and successfully merged with every recent 2.4 kernel back to at least 2.4.1x, that it's more than suitable for inclusion in the main kernel source without risk of introducing instability.
The only clashes I've ever seen with XFS and other code was with other 3rd-party patches, such as the ACL support in grsecurity. Those are now "switchable", anyway.
That is not true. The biggest hold back during the past 3 years has been the fact that the VFS layer needed a number of alterations and so far Marcello did not merge XFS because of this.
It wasn't untill Cristoph OK'd the VFS changes that Marcello merged the XFS core.
SGI as a vendor has had nothing to do with it. Buy a altix 3000 and they would happily maintain any special patch you would need for that (IA64) machine.
I think I know what I'm talking about since it's my name on the XFS FAQ. And no I don't work for SGI.
Where's the light switch. Seth
well, ext3 is built over ext2, and still suffers ext2's dataloss problems.
I wouldn't even dare put ext3 on a production system. It isn't worth the advantage over ext2 (counting my own experiances)
Here is the same article, but in English.
This was just mentioned here on /. the other day, but according to this article on Groklaw, Christoph Hellwig is (was?) a Caldera (SCO) employee.
SCO is going after SGI for XFS, when one of their own employees was working on it.
Extended ACLs, btree filesystem structures to facilitate huge files, fast sparse files, large directories, fast deletes, and a couple other niceties that would have required huge functional changes to ext2/ext3 to implement. It's also completely 64-bit clean, as it has from its conception.
The btree-based storage structure is already employed by reiserfs in a similar manner, but XFS' implementation has been stable (used in IRIX) for quite a bit longer.
I've been using XFS in production servers for more than two years already without any problem, it was time that it was merged into 2.4 kernel...
Maybe this way RedHat begins to support it for their installations
May the source be with you!
The main thing that keeps me on ext3 is ext2 backwards compatability. You dont have to worry about having custom repair/bootdisks to recognize your install...
you don't need a custom repair disk for xfs if you can boot from CD. Knoppix comes with xfs support and with the xfsrepair utility. (as I found out one day, when my debian system suddenly refused to mount the corrupted xfs partition, which also happened to be the filesystem root. Booting Knoppix allowed me to fix the problem in minutes.)
I haven't used ext3 or reiserfs yet, so I can't make a direct comparison.
So?
Windows doesn't even have read support for reiserfs, XFS og JFS. What is your point?
from the journals-are-for-girls dept.
:-)
Huh? I always thought it was diaries that were for girls... at least, that's what I told my friends when they made fun of my journal.
Laugh at stupidity: mod idiots +1 Funny.
Performance; scaleability (something around 9 million terabytes, if memory serves); stability - in the sense of a longer proven track-record - while ext3 is quite stable, XFS is simply a lot more mature; features, like ACLs and other small things.
sic transit gloria mundi
I seem to recall XFS has some issue with bad blocks.. if there is a bad block in the FS, it will unmount, and cannot remount. It has no facility to scan the FS and map around bad blocks, either.
Iirc, isn't he a former SCO/Caldera employee who was heavily involved in developing SMP and the Linux port of JFS? Iirc, Groklaw has a thing on this.
Now he works for SGI. The question I have is this-- it seems as if he has a conflict of interest to give his employer a beneficial review of the driver in order to ensure that it is included. I wonder how independent he is in his review.
That being said, he has been an important contributor to the kernel, and so I will give him the benefit of the doubt. I just wish that some sort of third-party review would have been done.
OTOH, there has been some speculation that Marcelo was biased against the inclusion, so maybe this balances things out.
LedgerSMB: Open source Accounting/ERP
From what I could find out XFS is the only Linux filesystem which stores quota information as meta-data-- there's no risk of an XFS filesystem getting its quotas "out of sync" with the contents of the disc and having to run a tedious quotacheck. We recently deployed it as a backup server and it's working very well!
Matthew @ Bytemark Hosting
I've been patching XFS support into my distro for a few months now. Let me get you caught up briefly. We had ext3 patched with acl support. That patch tends to lag behind kernel versions a little, which is not a problem if you're running a distro's standard back-ported kernel. However, I just undertook a migration on a live production box from ext3+acl to XFS on a second attached disk array, so I've been in Patch Hell for the last few weeks. I will say up front that I am not a k3rn31 h4ck0rz, but I get more done with it than probably anyone I personally know. That I got as far as I did in this story amazes me even today!
:-D
SGI ports their patch up to the latest kernel within a few days, but they have a nasty habit of removing older versions from their downloads when newer versions come out. When I only had the ext3+acl patches for kernel 2.4.20, and acl.bestbits.at was down for over a week ('grumble'), SGI only had XFS patches out for kernel 2.4.22. Andreas was kind enough to personally provide me some 2.4.22 ext3 patches. By the hardest, I got my 2.4.22 kernel built on my file server with ext3+acl and XFS.
The next DAY, I read of a root exploit in 2.4.22. The patch from kernel.org rendered my ext3+acl patches incompatible, and I'm not the type of guy yet to divvy up patches into even smaller pieces on any sort of schedule. I had to either forego backward compatibility or maintain a shell exploit in an environment where people do have shells.
I found, just yesterday, that Red Hat's newest kernel package includes xattrs and acls for ext3 and the 2.4.22 exploit's bugfix. It won't accept my xfs patch for 2.4.23 over some posix_acl and kdb conflicts. I found yesterday that SGI's latest kernel image has XFS and ext3+acl, but not the bugfix. The 2.4.23 patch broke my build. I find today that XFS is about to be added onto the native kernel tree, which just received both the bugfix and the ext3+acl extensions.
It's about TIME!
-j
http://epoxy.mrs.umn.edu/~minerg/fstests/results.
Of course your mileage may vary but I generally got results consistent with those cited.
My own experiences (I have used both reiserfs and xfs with 2.4.20 kernel:
You can defy gravity... for a short time
(from http://www.sgi.com/software/xfs/overview.html)
Guaranteed Rate I/O
XFS is the only file system available that provides a guaranteed rate I/O system, which allows applications to reserve specific bandwidth to or from the file system. The file system can determine the available bandwidth and guarantee that a requested level of performance is met for a given time. This functionality is critical for media delivery systems such as video-on-demand or data acquisition.
Expanded Dump Capabilities
Unlike traditional file systems, which must be dismounted to guarantee a consistent dump image, you can dump an XFS file system while it is being used. The XFS dump utility, XFSdump, can dump an entire filesystem, a directory tree, or specific files. XFSdump is restartable, which allows a large dump to be spread over an extended period of time or to be resumed after a system restart.
-->tech stuff
... not sure how it compares cpu-wise.
In my testing, not good. But it makes a good server filesystem.
XFS seems to steal cycles from deep in the kernel itself therefore making it fairly fast for file operations but at the expense of everything else.
I didn't like it for a desktop system. It uses too much CPU and user responsiveness suffers.
The ratio of people to cake is too big
I'm about to move a lot of my data over to a new disk. I want to use a filesystem that's readable (and preferably writable) by both Linux, and Windows.
So far, my best bet seems to be NTFS. But do anybody know if there exists XFS drivers for Win32?
How small a thought it takes to fill a whole life
Plus its sure to piss SCO off :)
;-)
That is not the half of it. You see-- Hellwig is a former SCO employee who when he worked there, worked with IBM closely on their port of JFS to Linux. He was also heavily involved in the SMP development process too. Just do a search for his name and SCO and Caldera on your favorite search engine. I think it will be hard for him to avoid a deposition
Now he works for SGI.
LedgerSMB: Open source Accounting/ERP
Christoph was not working on XFS while he was employed by Caldera.
XFS journals quota info, so you won't have to
wait for a quotacheck on a huge filesystem.
I happened to stumble on the thread while browsing the lkml a while ago.. I noticed that someone from Fermilab tossed in their support for merging it, as they run a 300TB or so setup. You think, maybe, this has something to do with it?
On a different note, I've been running XFS on my 2.6.0-test box for a while.. Now that it's going to be in a stable kernel, I can't wait to back up everything and switch. =D
This statement is false.
AFAIK, ext3 can't, so when you run out, you get to backup, recreate the filesystem with more, then restore.
That's certaintly very interesting, but to run it requires a copy of windows NT. Makes it a bit hard for a rescue disk.
GRIO is not available on Linux, because it requires a lot of other support in the kernel proper, in the various I/O subsystems etc.
however, the realtime subvolume, which is a component of GRIO, is available for use on Linux.
MS licensing the use of FAT is for flash media devices.. like all the digital cameras and PDAs out there... they use FAT because everything recognizes it. Using XFS would be pointless, as only linux and irix would be able to read it. Further, for flash, xfs would be rediculous anyway.. there are better systems specifically designed for flash.
If you don't use a format windows recognizes... there is no point.
When using the shred utility, I get warnings about not using the utility for journaled filesystems.
So what utility can I use to securely delete data on a journaled file system?
And being a previous windows user, I really liked the BCWipe utility that securely wiped unused areas of a partition. Is there an equivalent in linux systems?
I remember way back in the v7 days, there was a command called sync, which wouldn't return, until all data had been flushed to disk.
It would seem that his would take care of that problem, at least on a non-active system, which is what you'd want for a backup anyway.
as near as I can figure it the above either means
They are trying to restrict the GPL version of XFS to Linux.
or
XFS has been released under the GPL and a linux implementation is available.
I'm not entirely sure. Can someone clarify this for me please?
Not really, since you can get ntfs.sys off the NTFS drive using the Linux-NTFS ReadOnly driver. It's quite likely that a system will have ntfs.sys somewhere on it if it contains NTFS formatted drives!
XFS would help 12,000,000 people if those people used XFS. I'm sure 12,000,000 people would agree that having a more reliable filesystem that's less likely to be corrupted or lose data during a power failure or emergency-laptop-shutting, and takes no more than 5 seconds to run consistency checks during startup, regardless of filesystem size, is more important than something that improves the responsiveness of the system in certain high-load situations.
Now, do your part and advise 12,000,000 linux users that there are low-latency preemptive kernel patches and a filesystem more robust/stable/reliable than ext2/ext3. Let them decide, instead of assuming that everyone in the world is like you.
Now that the VFS layer has been stabilized and supportive of such FS drivers as XFS, very little needs to be changed to add XFS support. It's almost completely "additive", rather than modifying the existing code.
You make this sound as if we couldn't have both.
Of course any new feature should only be added if it's stable and doesn't affect the rest of the kernel when it's not used (for all the people who cry everytime a line of code is added to the stable kernel)...
Anyway, personally I'm waiting for 2.6 with great anticipation. I've had some problems with my USB mouse in 2.6-test11. Hopefully Slackware 9.2 will ship with it and it'll be better set than what I could do with my modest h4x0r skills...
Treehugger? Treehugger... Treehugger!
When we first tested JFS wasn't really ready. We couldn't get it to work on the boot partition and had some bad oopses under heavy load. I understand that these have been fixed now. As far as straight testing is concerned they were pretty close. When the DB files got really big (1.3 GB or larger) XFS started to outshine JFS.
Angry People Rule
"Science is about ego as much as it is about discovery and truth " - I said it, so sue me.
I've read in a few places that XFS takes a bit more of your CPU than some of the other popular file-systems (such as reiser).
I was considering using XFS on my desktop, but since my CPU is getting old (K6-2 450mhz), I'm now hesitating; does it really make a noticeable difference?
Right now I'm using reiserFS; lets say that it's 100%. How much more would XFS take? 105%? 115%?
Thanks,
Treehugger? Treehugger... Treehugger!
Against your comments, there are many of us
who have managed lans of ext3 systems in
*ahem* differently-powered environments and
found that it is, in its current state of
maturity, bullet-proof.
Compared to the relatively few users of
SGI machines, I think the RedHat userbase
constitutes a much more reliable statistical
base.
-I like my women like I like my tea: green-
We've been using XFS in production from the start.
We're a film and TV VFX / animation company, and have XFS on everything - about 600 machines, from large servers to workstations and render machines. It's absolutely core to our business. We came to XFS from using SGI machines, but it's nearly all linux now.
As far as I know, many of the other studios are doing the same.
Another thing that we've noticed recently is the proliferation of black box NAS servers, which when you look closely are linux/XFS boxes with a fancy gui.
Just to add my $0.02... I used XFS with several Mandrake versions running in server configuration and had good success overall. The thing that kept me coming back was just how fast the filesystem worked. I did have an issue once with the whole filesystem blowing up after a power outage. But most of the time the systems would come right back with no problems.
GRUB has changes in CVS as recently at October 21, 2003, which is less than two months prior to this writing. I'd say it's alive, and even if it's dead, who cares as long as it works properly?
Not for as many years as ext2 has been in use.
Now before I get modded down, I be to remind whoever might read this that what I am saying is FACT. - bogaboga
I've been patching XFS into 2.4 kernels and have had nothing but great performance so far. It's been extremely fast. Recovery when my machine hasn't been shut down properly has been worlds faster than ext3 and reiser3x (i've yet to try reiser4).
I haven't run into a SINGLE problem at all and recommend it to all, as it's speedy and does a good job. It's also encouraged me to install GRUB which just rocks, plain and simple.
if ain't broke, don't fix it.
Just for those who live behind the moon. XFS has been available in Su^HUSE Linux and UnitedLinux for quite a while now. Guess who Christoph Hellwig works for? So folks, there is no need to spread XFS FUD between the lines - I have been using it exclusively privately and for customers for ages (whatever is ages in the IT universe).
open (SIG, "</dev/zero"); $sig = <SIG>; close SIG;
You don't want to run write-behind filesystems and a harddisk write cache at the same time.
open (SIG, "</dev/zero"); $sig = <SIG>; close SIG;
UFS on Solaris can also be bitten by the same bug. :-(
:-)
You should always remount ro if possible before backing up; otherwise make a FS snapshot of the disc after syncing to ensure nothing changes underneath.
If you can't get sane access to the block device, not all is lost. The dangers of operating the dump utility at the device level doesn't always result in problems in that dump operates conservatively when scanning directories, etc. A common scenario is when a file is opened for writing between the time you read it's inode and the time you attempt to extract n blocks from it. In a simple case, this is okay since the copy of the blocks you pulled from the stat structure are probably still valid for the old copy of the file; any new blocks written are not likely to reuse the old blocks unless the filesystem is close to full. Backing up a file that is currently being accessed R/W is not advised, however. Quiesce any databases if you value them.
It's better than nothing. If you run the dumps often enough, you can recover from one bad one by merging in the missing directories from a previous one. I've never had to do this in the past, though, maybe I've been lucky.
Fuck Beta. Fuck Dice
What, did Molnar, Trovalds, and Tosatti all rent Rider trucks and run over your dog a few times?
Fuck Beta. Fuck Dice
I've had enough experience with XFS and ext3
to know that there is no or marginal gain
in reliability from moving to XFS. What there
is, is xfsdump, but, honestly, how many Linux
users will ever dump a filesystem?
*Everybody* wins from low-latency and preempt.
-I like my women like I like my tea: green-
When I have a power failure and my system comes back up (I'm running SuSE 8.1 with reiser) I get notices that truncations have been made. Does this mean that files have been deleted?
-Cnik
Well, I'm going put my own server up soon, I've had enough of static html, and my servlet skills are getting better.
Undeleting on ext2 is possible with for instance recover while it is afaik impossible on ext3. recover on ext2 does have its limits but it has saved my skin a ;)
couple of times.
ext2 has been around since early 1993:
http://web.mit.edu/tytso/www/linux/ext2int
XFS has been around on IRIX since late 1994:
http://www.ncsysadmin.org/files/xfs_linux.
Nice try, thanks for playing. Maybe you'd like a copy of our home game?
Now before I get modded down, I be to remind whoever might read this that what I am saying is FACT. - bogaboga