[BACK]Return to dmapi-enable CVS log [TXT][DIR] Up to [Development] / linux-2.4-xfs / split-patches

File: [Development] / linux-2.4-xfs / split-patches / dmapi-enable (download)

Revision 1.1, Mon Apr 19 11:06:40 2004 UTC (13 years, 6 months ago) by nathans
Branch: MAIN

Fix up merge - an over-eager script seems to have patched some files twice..

%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(+)