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

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

Revision 1.2, Thu Apr 22 03:40:20 2004 UTC (13 years, 6 months ago) by nathans
Branch: MAIN
Changes since 1.1: +36 -5 lines

Recreate DMAPI split patch for 2.6 after Deans update.

%patch
Index: 2.6.x-xfs/fs/Kconfig
===================================================================
--- 2.6.x-xfs.orig/fs/Kconfig	Tue Apr 20 11:23:19 2004
+++ 2.6.x-xfs/fs/Kconfig	Tue Apr 20 11:30:03 2004
@@ -344,6 +344,18 @@
 	  with or without the generic quota support enabled (CONFIG_QUOTA) -
 	  they are completely independent subsystems.
 
+config XFS_DMAPI
+	tristate "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.
+
+	  If unsure, say N.
+
 config XFS_SECURITY
 	bool "Security Label support"
 	depends on XFS_FS
Index: 2.6.x-xfs/include/linux/mm.h
===================================================================
--- 2.6.x-xfs.orig/include/linux/mm.h	Thu Apr 22 13:36:59 2004
+++ 2.6.x-xfs/include/linux/mm.h	Thu Apr 22 13:38:17 2004
@@ -148,6 +148,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);
 };
 
 /* forward declaration; pte_chain is meant to be internal to rmap.c */
Index: 2.6.x-xfs/mm/mprotect.c
===================================================================
--- 2.6.x-xfs.orig/mm/mprotect.c	Thu Apr 22 13:36:38 2004
+++ 2.6.x-xfs/mm/mprotect.c	Thu Apr 22 13:38:17 2004
@@ -293,6 +293,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;
+		}
 		if (vma->vm_end > end) {
 			error = mprotect_fixup(vma, &prev, nstart, end, newflags);
 			goto out;

%diffstat
 fs/Kconfig         |   12 ++++++++++++
 include/linux/mm.h |    2 ++
 mm/mprotect.c      |    5 +++++
 3 files changed, 19 insertions(+)