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

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

Revision 1.9, Fri Oct 1 15:10:15 2004 UTC (13 years ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.8: +20 -19 lines

Upgrade kernel to 2.6.9-rc3 and kdb to 4.4
Merge of 2.6.x-xfs-melb:linux:19628a by kenmcd.

%patch
Index: 2.6.x-xfs/Documentation/filesystems/xfs.txt
===================================================================
--- 2.6.x-xfs.orig/Documentation/filesystems/xfs.txt	Fri Oct  1 12:36:49 2004
+++ 2.6.x-xfs/Documentation/filesystems/xfs.txt	Fri Oct  1 12:45:52 2004
@@ -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.6.x-xfs/MAINTAINERS
===================================================================
--- 2.6.x-xfs.orig/MAINTAINERS	Fri Oct  1 12:36:49 2004
+++ 2.6.x-xfs/MAINTAINERS	Fri Oct  1 12:45:52 2004
@@ -2503,6 +2503,14 @@
 W:	http://oss.sgi.com/projects/xfs
 S:	Supported
 
+DMAPI
+P:	Silicon Graphics Inc
+M:	xfs-masters@oss.sgi.com
+M:	roehrich@sgi.com
+L:	linux-xfs@oss.sgi.com
+W:	http://oss.sgi.com/projects/xfs
+S:	Supported
+
 X86 3-LEVEL PAGING (PAE) SUPPORT
 P:	Ingo Molnar
 M:	mingo@redhat.com
Index: 2.6.x-xfs/fs/Kconfig
===================================================================
--- 2.6.x-xfs.orig/fs/Kconfig	Fri Oct  1 12:45:48 2004
+++ 2.6.x-xfs/fs/Kconfig	Fri Oct  1 12:45:52 2004
@@ -294,6 +294,7 @@
 
 config XFS_FS
 	tristate "XFS filesystem support"
+	select DMAPI if XFS_DMAPI
 	help
 	  XFS is a high performance journaling filesystem which originated
 	  on the SGI IRIX platform.  It is completely multi-threaded, can
@@ -345,6 +346,19 @@
 	  with or without the generic quota support enabled (CONFIG_QUOTA) -
 	  they are completely independent subsystems.
 
+config XFS_DMAPI
+	bool "DMAPI support"
+	depends on XFS_FS
+	help
+	  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.
+	  You should enable generic DMAPI support for this.
+
+	  If unsure, say N.
+
 config XFS_SECURITY
 	bool "Security Label support"
 	depends on XFS_FS
@@ -427,6 +441,25 @@
 	  If you don't know whether you need it, then you don't need it:
 	  answer N.
 
+config DMAPI
+	tristate "DMAPI support"
+	help
+	  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 any DMAPI-capable filesystem is built into the kernel, then
+	  DMAPI must also be built into the kernel.
+
+config DMAPI_DEBUG
+	bool "DMAPI debugging support"
+	depends on DMAPI
+	help
+	  If you don't know whether you need it, then you don't need it:
+	  answer N.
+
 config QUOTA
 	bool "Quota support"
 	help
Index: 2.6.x-xfs/fs/Makefile
===================================================================
--- 2.6.x-xfs.orig/fs/Makefile	Fri Oct  1 12:36:53 2004
+++ 2.6.x-xfs/fs/Makefile	Fri Oct  1 12:45:52 2004
@@ -89,6 +89,7 @@
 obj-$(CONFIG_SUN_OPENPROMFS)	+= openpromfs/
 obj-$(CONFIG_JFS_FS)		+= jfs/
 obj-$(CONFIG_XFS_FS)		+= xfs/
+obj-$(CONFIG_DMAPI)		+= dmapi/
 obj-$(CONFIG_AFS_FS)		+= afs/
 obj-$(CONFIG_BEFS_FS)		+= befs/
 obj-$(CONFIG_HOSTFS)		+= hostfs/
Index: 2.6.x-xfs/include/linux/mm.h
===================================================================
--- 2.6.x-xfs.orig/include/linux/mm.h	Fri Oct  1 12:36:56 2004
+++ 2.6.x-xfs/include/linux/mm.h	Fri Oct  1 12:45:52 2004
@@ -175,6 +175,8 @@
 	void (*close)(struct vm_area_struct * area);
 	struct page * (*nopage)(struct vm_area_struct * area, unsigned long address, int *type);
 	int (*populate)(struct vm_area_struct * area, unsigned long address, unsigned long len, pgprot_t prot, unsigned long pgoff, int nonblock);
+#define HAVE_VMOP_MPROTECT
+	int (*mprotect)(struct vm_area_struct * area, unsigned int newflags);
 #ifdef CONFIG_NUMA
 	int (*set_policy)(struct vm_area_struct *vma, struct mempolicy *new);
 	struct mempolicy *(*get_policy)(struct vm_area_struct *vma,
Index: 2.6.x-xfs/mm/mprotect.c
===================================================================
--- 2.6.x-xfs.orig/mm/mprotect.c	Fri Oct  1 12:36:56 2004
+++ 2.6.x-xfs/mm/mprotect.c	Fri Oct  1 12:45:52 2004
@@ -265,6 +265,11 @@
 		if (error)
 			goto out;
 
+		if (vma->vm_ops && vma->vm_ops->mprotect) {
+			error = vma->vm_ops->mprotect(vma, newflags);
+			if (error < 0)
+				goto out;
+		}
 		tmp = vma->vm_end;
 		if (tmp > end)
 			tmp = end;
Index: 2.6.x-xfs/mm/prio_tree.c
===================================================================
--- 2.6.x-xfs.orig/mm/prio_tree.c	Fri Oct  1 12:36:56 2004
+++ 2.6.x-xfs/mm/prio_tree.c	Fri Oct  1 12:45:52 2004
@@ -654,3 +654,4 @@
 	} else
 		return NULL;
 }
+EXPORT_SYMBOL(vma_prio_tree_next);