mirror of
https://github.com/xcat2/xcat-dep.git
synced 2024-11-27 19:59:19 +00:00
faad264d8b
From Toni L. Harbaugh-Blackford (harbaugh@ncifcrf.gov): I looked at the patch 'aa-hack' that comes with opensuse 11.1's aufs source rpm, which appears to resolve this problem for opensuse. I adapted those changes and fixed another error that comes up, and then aufs *APPEARS* to work with SLES 10 SP2. The patch is attached, and assumes that aufs-standalone.patch has already been applied.
112 lines
3.4 KiB
Diff
112 lines
3.4 KiB
Diff
diff -urN aufs/f_op.c aufs.post/f_op.c
|
|
--- aufs/f_op.c 2008-02-03 23:22:46.000000000 -0500
|
|
+++ aufs.postf_op.c 2008-10-20 13:48:10.000000000 -0400
|
|
@@ -25,14 +25,8 @@
|
|
#include <linux/version.h>
|
|
#include "aufs.h"
|
|
|
|
-/* common function to regular file and dir */
|
|
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 18)
|
|
#define FlushArgs h_file, id
|
|
int aufs_flush(struct file *file, fl_owner_t id)
|
|
-#else
|
|
-#define FlushArgs h_file
|
|
-int aufs_flush(struct file *file)
|
|
-#endif
|
|
{
|
|
int err;
|
|
struct dentry *dentry;
|
|
diff -urN aufs/file.h aufs.post/file.h
|
|
--- aufs/file.h 2008-10-15 17:38:40.000000000 -0400
|
|
+++ aufs.post/file.h 2008-10-20 13:50:03.000000000 -0400
|
|
@@ -73,11 +73,7 @@
|
|
|
|
/* f_op.c */
|
|
extern struct file_operations aufs_file_fop;
|
|
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 18)
|
|
int aufs_flush(struct file *file, fl_owner_t id);
|
|
-#else
|
|
-int aufs_flush(struct file *file);
|
|
-#endif
|
|
|
|
/* finfo.c */
|
|
struct aufs_finfo *ftofi(struct file *file);
|
|
diff -urN aufs/vfsub.c aufs.post/vfsub.c
|
|
--- aufs/vfsub.c 2008-02-03 23:22:46.000000000 -0500
|
|
+++ aufs.post/vfsub.c 2008-10-20 13:45:45.000000000 -0400
|
|
@@ -1075,7 +1075,7 @@
|
|
if (!IS_IMMUTABLE(h_inode) && !IS_APPEND(h_inode)) {
|
|
vfsub_ignore(a->vargs);
|
|
lockdep_off();
|
|
- *a->errp = notify_change(a->h_dentry, a->ia);
|
|
+ *a->errp = notify_change(a->h_dentry, NULL, a->ia);
|
|
lockdep_on();
|
|
if (!*a->errp)
|
|
au_update_fuse_h_inode(NULL, a->h_dentry); /*ignore*/
|
|
diff -urN aufs/vfsub.h aufs.post/vfsub.h
|
|
--- aufs/vfsub.h 2008-02-03 23:22:46.000000000 -0500
|
|
+++ aufs.post/vfsub.h 2008-10-20 13:44:50.000000000 -0400
|
|
@@ -376,7 +376,7 @@
|
|
dir->i_ino, AuDLNPair(dentry), symname, mode);
|
|
IMustLock(dir);
|
|
|
|
- err = vfs_symlink(dir, dentry, symname, mode);
|
|
+ err = vfs_symlink(dir, dentry, NULL, symname, mode);
|
|
if (!err) {
|
|
/* dir inode is locked */
|
|
au_update_fuse_h_inode(NULL, dentry->d_parent); /*ignore*/
|
|
@@ -394,7 +394,7 @@
|
|
LKTRTrace("i%lu, %.*s, 0x%x\n", dir->i_ino, AuDLNPair(dentry), mode);
|
|
IMustLock(dir);
|
|
|
|
- err = vfs_mknod(dir, dentry, mode, dev);
|
|
+ err = vfs_mknod(dir, dentry, NULL, mode, dev);
|
|
if (!err) {
|
|
/* dir inode is locked */
|
|
au_update_fuse_h_inode(NULL, dentry->d_parent); /*ignore*/
|
|
@@ -414,7 +414,7 @@
|
|
IMustLock(dir);
|
|
|
|
lockdep_off();
|
|
- err = vfs_link(src_dentry, dir, dentry);
|
|
+ err = vfs_link(src_dentry, NULL, dir, dentry, 0);
|
|
lockdep_on();
|
|
if (!err) {
|
|
LKTRTrace("src_i %p, dst_i %p\n",
|
|
@@ -441,7 +441,7 @@
|
|
IMustLock(src_dir);
|
|
|
|
lockdep_off();
|
|
- err = vfs_rename(src_dir, src_dentry, dir, dentry);
|
|
+ err = vfs_rename(src_dir, src_dentry, NULL, dir, dentry, 0);
|
|
lockdep_on();
|
|
if (!err) {
|
|
/* dir inode is locked */
|
|
@@ -460,7 +460,7 @@
|
|
LKTRTrace("i%lu, %.*s, 0x%x\n", dir->i_ino, AuDLNPair(dentry), mode);
|
|
IMustLock(dir);
|
|
|
|
- err = vfs_mkdir(dir, dentry, mode);
|
|
+ err = vfs_mkdir(dir, dentry, NULL, mode);
|
|
if (!err) {
|
|
/* dir inode is locked */
|
|
au_update_fuse_h_inode(NULL, dentry->d_parent); /*ignore*/
|
|
@@ -477,7 +477,7 @@
|
|
IMustLock(dir);
|
|
|
|
lockdep_off();
|
|
- err = vfs_rmdir(dir, dentry);
|
|
+ err = vfs_rmdir(dir, dentry, 0);
|
|
lockdep_on();
|
|
/* dir inode is locked */
|
|
if (!err)
|
|
@@ -494,7 +494,7 @@
|
|
|
|
/* vfs_unlink() locks inode */
|
|
lockdep_off();
|
|
- err = vfs_unlink(dir, dentry);
|
|
+ err = vfs_unlink(dir, dentry, 0);
|
|
lockdep_on();
|
|
/* dir inode is locked */
|
|
if (!err)
|