[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.26, Mon Jan 7 15:11:45 2008 UTC (9 years, 9 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.25: +60 -69 lines

Merge up to 2.6.24-rc6
Merge of 2.6.x-xfs-melb:linux:30301a by kenmcd.

diff -Naur linux-2.6.23.orig/fs/exec.c linux-2.6.23/fs/exec.c
--- linux-2.6.23.orig/fs/exec.c	2008-01-04 17:05:32.000000000 +1100
+++ linux-2.6.23/fs/exec.c	2008-01-04 17:14:20.000000000 +1100
@@ -660,6 +660,13 @@
 			if (!err) {
 				file = nameidata_to_filp(&nd, O_RDONLY);
 				if (!IS_ERR(file)) {
+					if (file->f_op && file->f_op->open_exec) {
+						err = file->f_op->open_exec(inode);
+						if (err) {
+							fput(file);
+							return ERR_PTR(err);
+						}
+					}
 					err = deny_write_access(file);
 					if (err) {
 						fput(file);
diff -Naur linux-2.6.23.orig/fs/Kconfig linux-2.6.23/fs/Kconfig
--- linux-2.6.23.orig/fs/Kconfig	2008-01-04 17:05:35.000000000 +1100
+++ linux-2.6.23/fs/Kconfig	2008-01-04 17:14:20.000000000 +1100
@@ -531,6 +531,25 @@
 
 	  If unsure, say Y.
 
+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
diff -Naur linux-2.6.23.orig/fs/Makefile linux-2.6.23/fs/Makefile
--- linux-2.6.23.orig/fs/Makefile	2008-01-04 17:05:32.000000000 +1100
+++ linux-2.6.23/fs/Makefile	2008-01-04 17:14:20.000000000 +1100
@@ -53,6 +53,8 @@
 obj-$(CONFIG_QFMT_V2)		+= quota_v2.o
 obj-$(CONFIG_QUOTACTL)		+= quota.o
 
+obj-$(CONFIG_DMAPI)		+= dmapi/
+
 obj-$(CONFIG_DNOTIFY)		+= dnotify.o
 
 obj-$(CONFIG_PROC_FS)		+= proc/
diff -Naur linux-2.6.23.orig/include/linux/fs.h linux-2.6.23/include/linux/fs.h
--- linux-2.6.23.orig/include/linux/fs.h	2008-01-04 17:05:22.000000000 +1100
+++ linux-2.6.23/include/linux/fs.h	2008-01-04 17:14:20.000000000 +1100
@@ -1187,6 +1187,8 @@
 	int (*flock) (struct file *, int, struct file_lock *);
 	ssize_t (*splice_write)(struct pipe_inode_info *, struct file *, loff_t *, size_t, unsigned int);
 	ssize_t (*splice_read)(struct file *, loff_t *, struct pipe_inode_info *, size_t, unsigned int);
+#define HAVE_FOP_OPEN_EXEC
+	int (*open_exec) (struct inode *);
 	int (*setlease)(struct file *, long, struct file_lock **);
 };
 
diff -Naur linux-2.6.23.orig/include/linux/mm.h linux-2.6.23/include/linux/mm.h
--- linux-2.6.23.orig/include/linux/mm.h	2008-01-04 17:05:22.000000000 +1100
+++ linux-2.6.23/include/linux/mm.h	2008-01-04 17:14:20.000000000 +1100
@@ -168,6 +168,9 @@
 	unsigned long (*nopfn)(struct vm_area_struct *area,
 			unsigned long address);
 
+#define HAVE_VMOP_MPROTECT
+	int (*mprotect)(struct vm_area_struct * area, unsigned int newflags);
+
 	/* notification that a previously read-only page is about to become
 	 * writable, if an error is returned it will cause a SIGBUS */
 	int (*page_mkwrite)(struct vm_area_struct *vma, struct page *page);
diff -Naur linux-2.6.23.orig/MAINTAINERS linux-2.6.23/MAINTAINERS
--- linux-2.6.23.orig/MAINTAINERS	2008-01-04 17:06:21.000000000 +1100
+++ linux-2.6.23/MAINTAINERS	2008-01-04 17:39:29.000000000 +1100
@@ -1292,6 +1292,13 @@
 L:	netdev@vger.kernel.org
 S:	Maintained
 
+DMAPI
+P:	Silicon Graphics Inc
+M:	xfs-masters@oss.sgi.com
+L:	xfs@oss.sgi.com
+W:	http://oss.sgi.com/projects/xfs
+S:	Supported
+
 DMA GENERIC OFFLOAD ENGINE SUBSYSTEM
 P:	Shannon Nelson
 M:	shannon.nelson@intel.com
diff -Naur linux-2.6.23.orig/mm/mprotect.c linux-2.6.23/mm/mprotect.c
--- linux-2.6.23.orig/mm/mprotect.c	2008-01-04 17:06:37.000000000 +1100
+++ linux-2.6.23/mm/mprotect.c	2008-01-04 17:14:20.000000000 +1100
@@ -286,6 +286,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;