diff --git a/lustre/kernel_patches/patches/vfs_intent-2.6-rhel4.patch b/lustre/kernel_patches/patches/vfs_intent-2.6-rhel4.patch index 8388cbcfad3109c7582ed0e769522c0ba17c4174..c29bc5c218476b45ad0be9fe7d775bc3710a306d 100644 --- a/lustre/kernel_patches/patches/vfs_intent-2.6-rhel4.patch +++ b/lustre/kernel_patches/patches/vfs_intent-2.6-rhel4.patch @@ -611,14 +611,18 @@ int nr_unused; --- linux-2.6.9.orig/include/linux/fs.h +++ linux-2.6.9/include/linux/fs.h -@@ -75,6 +75,7 @@ extern int leases_enable, dir_notify_ena - - #define FMODE_READ 1 - #define FMODE_WRITE 2 -+#define FMODE_EXEC 4 - - /* Internal kernel extensions */ - #define FMODE_LSEEK 4 +@@ -81,6 +81,11 @@ extern int leases_enable, dir_notify_ena + #define FMODE_PREAD 8 + #define FMODE_PWRITE FMODE_PREAD /* These go hand in hand */ + ++/* File is being opened for execution. Primary users of this flag are ++ distributed filesystems that can use it to achieve correct ETXTBUSY ++ behavior for cross-node execution/opening_for_writing of files */ ++#define FMODE_EXEC 16 ++ + #define RW_MASK 1 + #define RWA_MASK 2 + #define READ 0 @@ -259,6 +260,8 @@ typedef void (dio_iodone_t)(struct inode #define ATTR_ATTR_FLAG 1024 #define ATTR_KILL_SUID 2048 diff --git a/lustre/kernel_patches/patches/vfs_intent-2.6-sles10.patch b/lustre/kernel_patches/patches/vfs_intent-2.6-sles10.patch index 9d560be7b4bef4de17c402174820decfa98fd326..8cd62d5d3cd17da5b4c5070572926cf8d3610ccb 100644 --- a/lustre/kernel_patches/patches/vfs_intent-2.6-sles10.patch +++ b/lustre/kernel_patches/patches/vfs_intent-2.6-sles10.patch @@ -644,14 +644,18 @@ int nr_unused; --- linux-2.6.16.21-0.8.orig/include/linux/fs.h +++ linux-2.6.16.21-0.8/include/linux/fs.h -@@ -59,6 +59,7 @@ extern int dir_notify_enable; - - #define FMODE_READ 1 - #define FMODE_WRITE 2 -+#define FMODE_EXEC 16 - - /* Internal kernel extensions */ - #define FMODE_LSEEK 4 +@@ -81,6 +81,11 @@ extern int leases_enable, dir_notify_ena + #define FMODE_PREAD 8 + #define FMODE_PWRITE FMODE_PREAD /* These go hand in hand */ + ++/* File is being opened for execution. Primary users of this flag are ++ distributed filesystems that can use it to achieve correct ETXTBUSY ++ behavior for cross-node execution/opening_for_writing of files */ ++#define FMODE_EXEC 16 ++ + #define RW_MASK 1 + #define RWA_MASK 2 + #define READ 0 @@ -265,6 +266,8 @@ typedef void (dio_iodone_t)(struct kiocb #define ATTR_KILL_SUID 2048 #define ATTR_KILL_SGID 4096