Skip to contentSkip to conversation

XFS filesystem support

PATCH New Christoph Hellwig 1 participant 1 message Sep 3, 2002

Subsystems (4)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 XFS filesystem support

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

	ftp://ftp.kernel.org/pub/linux/kernel/people/hch/xfs/xfs-2.5.33-20020903.tar.gz

or

	ftp://ftp.kernel.org/pub/linux/kernel/people/hch/xfs/xfs-2.5.33-20020903.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
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	0x00080000	/* inside a filesystem transaction */
 
 /*
  * Ptrace flags
include/linux/sysctl.h +2 -0
@@ -150,6 +150,7 @@ enum
 	VM_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=17		/* struct: Control pagebuf parameters */
 };
 
 
@@ -553,6 +554,7 @@ enum
 	FS_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);