& xfsTemplate,top=>1,side=>1 &> Linux XFS FAQ
Prefix: i will make this a little bit better looking soon ...
Q: Where can i find this FAQ ?
Currently at
http://oss.sgi.com/projects/xfs/faq.html
If you have any comments or suggestions just let me know
Q: What is XFS ?
XFS is a filesystem now also available under GPL for linux which is used in the SGI os IRIX for some years now up to realtively big installations. It features things like journaling (no fsck on boot- up), btrees (operates well on large directories) and lots more.
Q: Where can i find information about XFS for linux ?
Just point your web-browser to
http://oss.sgi.com/projects/xfs/
Q: What do i need to build an XFS ready kernel ?
the best way to do this is to checkout the SGI XFS kernel from their cvs tree. How to do this is described at
http://oss.sgi.com/projects/xfs/cvs_download.html
After that you have two subtrees of importance: linux and cmd. The firsts one - linux - is a normal linux kernel source tree containing the XFS code. It is updated to the latest available linux kernel from time to time but it may be a bit (not much) behind. Just build your kernel the way you are used to do it and don't forget to enable XFS and pagebuf under filesystems. You also need to enable the ask for experimental features option in the "Code maturity level options" menu. Also keep in mind that currently the option for using kiobufs only works on scsi drives. The other tree - cmd - contains all the tools you need - most important: mkfs_xfs and repair_xfs - just go to the xfs subdirectory in cmd and type make (maybe followed by make install to install the binaries). One thing which is also important to note is that you need to have the e2fs-devel package installed in order to build the cmd tools - because they require the uuid stuff in them. You may also build src and binary rpms by running
./Makepkgs verbose
in the cmd/xfs directory. Also important to note is that mkfs_xfs is installed as /sbin/mkfs.xfs so use this name or mkfs -t xfs if you use the installed version. The tools also have man-pages which you may consult for interesting options like
mkfs -t xfs -l size=16000b /dev/foo
for ... - just find it out yourself :-) In the near future the mkfs_xfs in the build tree will also be changed to mkfs.xfs so that there is less confusion with names. There exists also another way to get an xfs ready kernel - you may get kernel patches relativ to a official kernel from
and apply then to the kernel sources the patch is for. This is a good way for all the people who don't want to use cvs or do not have the bandwidth to checkout the whole kernel tree.
Q: How do i use XFS ?
Just reboot the new build kernel and create a filesytem on an empty partition
mkfs_xfs /dev/foo
where /dev/foo is the the partition you want to use (you may have to use the -f option of mkfs_xfs if this partition already con- tains an old filesystem which you want to overwrite). Now you can mount the filesystem using:
mount -t xfs /dev/foo /somewhere
Q: How stable is XFS ?
It is quite useable now but i would not recommend it for production use right now - but i think it will be there quite soon. I am using it here in a test scenario for a 50 people squid and a ~20 mb/day newsfeed with 30 simulated users on an xfs only machine and had no problems so far. Also SGI is doing quite a lot of stress tests with it (see the stress subdir of the cmd tree).
Q: Does it run on platformas other than i386 ?
Not yet - but work is underway to get it going on ppc and alpha - but it should not be too hard to find the remaining bugs (i hope :-) - so far it compiles and you can mount a filesystem. The tools will be compilable soon too. Once it is running on these two i expect no bigger problems on other arches because we then have all the little/big-endian and 32/64 bit stuff tested.
If you are interested in this you may have a look at
http://innominate.org/~graichen/projects/xfs/
Q: Do quotas work on XFS ?
Not at the moment - but XFS usually has quota support (as one would expect it for a modern filesystem). The question is how to use them on the linux port: the linux or the IRIX way. This has to be ironed out and implemented but i think they will appear in the not too distant future.
Q: Is there any dump/restore for XFS ?
xfsdump and xfsrestore for linux will soon be available. But keep in mind that the on-tape format of them is not the same as the classic unix dump but they should work fine for things like amanda. Also you can use the normal dump to restore files backed up from ext2 to an xfs filesystem.
Q: Does lilo work with XFS ?
Yes it works.
Q: Can i run XFS on top of LVM ?
Yes you can but you need to use a patch for LVM because the xfs kernel contains stephen tweedies sard patches which change the format of /proc/partitions. Also for using XFS on LVM you should not enable the kiobuf option in the kernel xfs compile options. You may get a patch (created by William L Jones) to start from at
See the head of it for details and a list of contributors.
Q: Can i use xfs on loopback block devices ?
No currently not.
Q: Can XFS be used as / filesystem ?
In principle yes - but there has to be added some code so that the unmounting so that it works in a clean way. So it is better to wait a bit with it. (But it definitely works - i tried it this way)
Q: What partition type should I use for XFS ?
Linux native filesystem (83).
Q: Mounting the xfs filesystem does not work - what is wrong ?
If you get something like
mount: /dev/hda5 has wrong major or minor number
you either don't have XFS compiled into the kernel (or you forgot to load the modules) or you did not use the "-t xfs" options to mount without having xfs in /etc/filesystems.
Q: Does XFS run with the linux sw RAID md driver ?
Nobody has tested it so far but expect it not to work like for all the other journaling filesystems due to internal buffer locking problems i think. If anyone tries this - please let me know. Also keep in mind - if you want to try it - also the md driver will definitely not work with the kiobuf option enabled.
Q: Does XFS run on hw RAID ?
Yes - hw RAID is like a normal disk to XFS (like to any other filesystem) and this should not be a problem.
Q: Can i run NFS on top of an XFS partition ?
I have not deeply tested it - for light tests it worked - but it has to be investigated deeper. If anyone has more details here - please let me know.
Q: Is there a way to resise an XFS filesystem ?
There is as far as i know a resize utility for XFS (which can grow XFS filesystems) but i don't know what the state of this in linux is. If you know more - please let me know.
Q: Will i be able to use my old IRIX XFS disks on linux ?
As fas as i know this is a design goal of XFS on linux.
Q: Is there anything around to understand how XFS works ?
There are some papers available on the SGI XFS project page (mentioned above) and i have set up an lxr indexed version of the SGI XFS cvs tree at
http://innominate.org/~graichen/projects/lxr/source?v=xfswhich might help to find an easy and good way through the sources. I plan to keep this tree automatically updated to the current SGI XFS cvs version on a daily basis within the next days. If anyone has pointers to other XFS related docs - just send me a mail (address - see above).
<& xfsTemplate,bottom=>1 &>