XFS filesystem support
Subsystems (4)
PATCH 1/1 XFS filesystem support
Oookaaay Linus, I'll patchbomb you daily until it's merged or I'll get a useful comment..
The following patch adds the config/makefile/documentation infrastructure for XFS to the current BK tree (or 2.5.33). The actual XFS code is to big to be posted as patch to lkml so I've uploaded a tarball at kernel.orrg:
ftp://ftp.kernel.org/pub/linux/kernel/people/hch/xfs/xfs-2.5.33-20020905.tar.gz ftp://ftp.kernel.org/pub/linux/kernel/people/hch/xfs/xfs-2.5.33-20020905.tar.bz2
that can be just unpacked in the toplevel kernel source directory. The patch and the unpacked tarball give a fully functional XFS filesystem driver, but no additional features that would require VFS changes.
This XFS code is very different from the latest official release (XFS 1.1). Namely it uses the generic I/O path, has lots of dead code removed that was needed in IRIX but superceeded by VFS check in Linux (e.g. the famous rename checks).
Documentation/Changes | 16 +++++ Documentation/filesystems/00-INDEX | 2 Documentation/filesystems/xfs.txt | 118 +++++++++++++++++++++++++++++++++++++ MAINTAINERS | 8 ++ fs/Config.help | 47 ++++++++++++++ fs/Config.in | 7 ++ fs/Makefile | 1 include/linux/sched.h | 1 include/linux/sysctl.h | 2 kernel/ksyms.c | 1 10 files changed, 203 insertions
For users of XFS (Linux Distributors, Universities, etc..) take a look at the XFS users page: http://oss.sgi.com/projects/xfs/xfs_users.html.
Documentation/Changes +16 -0
@@ -56,6 +56,7 @@ o modutils 2.4.2 o e2fsprogs 1.25 # tune2fs o jfsutils 1.0.14 # fsck.jfs -V o reiserfsprogs 3.x.1b # reiserfsck 2>&1|grep reiserfsprogs +o xfsprogs 2.1.0 # xfs_db -V o pcmcia-cs 3.1.21 # cardmgr -V o PPP 2.4.0 # pppd --version o isdn4k-utils 3.1pre1 # isdnctrl 2>&1|grep version
@@ -182,6 +183,17 @@ The reiserfsprogs package should be used versions of mkreiserfs, resize_reiserfs, debugreiserfs and reiserfsck. These utils work on both i386 and alpha platforms. +Xfsprogs +-------- + +The latest version of xfsprogs contains mkfs.xfs, xfs_db, and the +xfs_repair utilities, among others, for the XFS filesystem. It is +architecture independent and any version from 2.0.0 onward should +work correctly with this version of the XFS kernel code. For the new +(v2) log format that has better support for stripe-size aligning on +LVM and MD devices at least xfsprogs 2.1.0 is needed. + + Pcmcia-cs ---------
@@ -316,6 +328,10 @@ Reiserfsprogs ------------- o <ftp://ftp.namesys.com/pub/reiserfsprogs/reiserfsprogs-3.x.1b.tar.gz> +Xfsprogs +-------- +o <ftp://oss.sgi.com/projects/xfs/download/cmd_tars/xfsprogs-2.1.0.src.tar.gz> + LVM toolset ----------- o <http://www.sistina.com/lvm/>
Documentation/filesystems/00-INDEX +2 -0
@@ -46,3 +46,5 @@ vfat.txt - info on using the VFAT filesystem used in Windows NT and Windows 95 vfs.txt - Overview of the Virtual File System +xfs.txt + - info and mount options for the XFS filesystem.
Documentation/filesystems/xfs.txt +118 -0
118 lines not on this page · raw message
MAINTAINERS +8 -0
@@ -1915,6 +1915,14 @@ M: [email protected] L: [email protected] S: Maintained +XFS FILESYSTEM +P: Silicon Graphics Inc +M: [email protected] +M: [email protected] +L: [email protected] +W: http://oss.sgi.com/projects/xfs +S: Supported + X86 3-LEVEL PAGING (PAE) SUPPORT P: Ingo Molnar M: [email protected]
fs/Config.help +47 -0
50 lines not on this page · raw message
fs/Config.in +7 -0
@@ -101,6 +101,13 @@ dep_mbool ' UDF write support (DANGEROU tristate 'UFS file system support (read only)' CONFIG_UFS_FS dep_mbool ' UFS file system write support (DANGEROUS)' CONFIG_UFS_FS_WRITE $CONFIG_UFS_FS $CONFIG_EXPERIMENTAL +tristate 'XFS filesystem support' CONFIG_XFS_FS +dep_mbool ' Realtime support (EXPERIMENTAL)' CONFIG_XFS_RT $CONFIG_XFS_FS $CONFIG_EXPERIMENTAL +dep_mbool ' Quota support' CONFIG_XFS_QUOTA $CONFIG_XFS_FS +if [ "$CONFIG_XFS_QUOTA" = "y" ]; then + define_bool CONFIG_QUOTACTL y +fi + if [ "$CONFIG_NET" = "y" ]; then mainmenu_option next_comment
fs/Makefile +1 -0
@@ -83,5 +83,6 @@ obj-$(CONFIG_ADFS_FS) += adfs/ obj-$(CONFIG_REISERFS_FS) += reiserfs/ obj-$(CONFIG_SUN_OPENPROMFS) += openpromfs/ obj-$(CONFIG_JFS_FS) += jfs/ +obj-$(CONFIG_XFS_FS) += xfs/ include $(TOPDIR)/Rules.make
include/linux/sched.h +1 -0
@@ -406,6 +406,7 @@ do { if (atomic_dec_and_test(&(tsk)->usa#define PF_IOTHREAD 0x00020000/* this thread is needed for doing I/O to swap */ #define PF_FROZEN 0x00040000/* frozen for system suspend */ #define PF_SYNC 0x00080000/* performing fsync(), etc */ +#define PF_FSTRANS 0x00100000/* inside a filesystem transaction */ /* * Ptrace flags
include/linux/sysctl.h +2 -0
@@ -150,6 +150,7 @@ enumVM_DIRTY_EXPIRE_CS =15 ,/* dirty_expire_centisecs */ VM_NR_PDFLUSH_THREADS =16 ,/* nr_pdflush_threads */ VM_OVERCOMMIT_RATIO =17 ,/* percent of RAM to allow overcommit in */ + VM_PAGEBUF=18 /* struct: Control pagebuf parameters */ };
@@ -553,6 +554,7 @@ enumFS_DIR_NOTIFY =14 ,/* int: directory notification enabled */ FS_LEASE_TIME =15 ,/* int: maximum time to wait for a lease break */ FS_DQSTATS =16 ,/* disc quota usage statistics */ + FS_XFS=17, /* struct: control xfs parameters */ };/* /proc/sys/fs/quota/ */
kernel/ksyms.c +1 -0
@@ -278,6 +278,7 @@ EXPORT_SYMBOL(find_lock_page);EXPORT_SYMBOL (find_or_create_page);EXPORT_SYMBOL (grab_cache_page_nowait);EXPORT_SYMBOL (read_cache_page); +EXPORT_SYMBOL (mark_page_accessed);EXPORT_SYMBOL (vfs_readlink);EXPORT_SYMBOL (vfs_follow_link);EXPORT_SYMBOL (page_readlink);