%patch Index: 2.4.x-xfs/Documentation/Configure.help =================================================================== --- 2.4.x-xfs.orig/Documentation/Configure.help 2004-04-19 19:58:40.000000000 +1000 +++ 2.4.x-xfs/Documentation/Configure.help 2004-04-19 19:59:02.000000000 +1000 @@ -17393,6 +17393,20 @@ system of your root partition is compiled as a module, you'll need to use an initial ramdisk (initrd) to boot. +DMAPI support +CONFIG_XFS_DMAPI + The Data Management API is a system interface used to implement + the interface defined in the X/Open document: + "Systems Management: Data Storage Management (XDSM) API", + dated February 1997. This interface is used by hierarchical + storage management systems. + + If XFS is built as module (= code which can be inserted in and + removed from the running kernel whenever you want), this code will + also be built as module. It is called xfs_dmapi.o. + + If unsure, say N. + Quota support CONFIG_XFS_QUOTA If you say Y here, you will be able to set limits for disk usage on Index: 2.4.x-xfs/Documentation/filesystems/xfs.txt =================================================================== --- 2.4.x-xfs.orig/Documentation/filesystems/xfs.txt 2004-02-19 08:04:47.000000000 +1100 +++ 2.4.x-xfs/Documentation/filesystems/xfs.txt 2004-04-19 19:59:02.000000000 +1000 @@ -29,6 +29,10 @@ The preferred buffered I/O size can also be altered on an individual file basis using the ioctl(2) system call. + dmapi + Enable the DMAPI (Data Management API) event callouts. + Use with the "mtpt" option. + ikeep/noikeep When inode clusters are emptied of inodes, keep them around on the disk (ikeep) - this is the traditional XFS behaviour @@ -62,6 +66,11 @@ optional, and the log section can be separate from the data section or contained within it. + mtpt=mountpoint + Use with the "dmapi" option. The value specified here will be + included in the DMAPI mount event, and should be the path of + the actual mountpoint that is used. + noalign Data allocations will not be aligned at stripe unit boundaries. Index: 2.4.x-xfs/fs/Config.in =================================================================== --- 2.4.x-xfs.orig/fs/Config.in 2004-04-19 19:58:57.000000000 +1000 +++ 2.4.x-xfs/fs/Config.in 2004-04-19 19:59:02.000000000 +1000 @@ -104,6 +104,7 @@ tristate 'XFS filesystem support' CONFIG_XFS_FS dep_mbool ' POSIX ACL support' CONFIG_XFS_POSIX_ACL $CONFIG_XFS_FS dep_tristate ' Quota support' CONFIG_XFS_QUOTA $CONFIG_XFS_FS +dep_tristate ' DMAPI support' CONFIG_XFS_DMAPI $CONFIG_XFS_FS dep_mbool ' Realtime support (EXPERIMENTAL)' CONFIG_XFS_RT $CONFIG_XFS_FS $CONFIG_EXPERIMENTAL dep_mbool ' Tracing support (EXPERIMENTAL)' CONFIG_XFS_TRACE $CONFIG_XFS_FS $CONFIG_EXPERIMENTAL dep_mbool ' Debugging support (EXPERIMENTAL)' CONFIG_XFS_DEBUG $CONFIG_XFS_FS $CONFIG_EXPERIMENTAL Index: 2.4.x-xfs/include/linux/mm.h =================================================================== --- 2.4.x-xfs.orig/include/linux/mm.h 2004-03-11 20:33:16.000000000 +1100 +++ 2.4.x-xfs/include/linux/mm.h 2004-04-19 19:59:02.000000000 +1000 @@ -134,6 +134,8 @@ void (*open)(struct vm_area_struct * area); void (*close)(struct vm_area_struct * area); struct page * (*nopage)(struct vm_area_struct * area, unsigned long address, int unused); +#define HAVE_VMOP_MPROTECT + int (*mprotect)(struct vm_area_struct * area, unsigned int newflags); }; /* Index: 2.4.x-xfs/mm/mprotect.c =================================================================== --- 2.4.x-xfs.orig/mm/mprotect.c 2003-12-01 11:06:58.000000000 +1100 +++ 2.4.x-xfs/mm/mprotect.c 2004-04-19 19:59:02.000000000 +1000 @@ -300,6 +300,11 @@ goto out; } + if (vma->vm_ops && vma->vm_ops->mprotect) { + error = vma->vm_ops->mprotect(vma, newflags); + if (error < 0) + goto out; + } if (vma->vm_end > end) { error = mprotect_fixup(vma, &prev, nstart, end, newflags); goto out; %diffstat Documentation/Configure.help | 14 ++++++++++++++ Documentation/filesystems/xfs.txt | 9 +++++++++ fs/Config.in | 1 + include/linux/mm.h | 2 ++ mm/mprotect.c | 5 +++++ 5 files changed, 31 insertions(+)