2
0
mirror of https://github.com/xcat2/xcat-dep.git synced 2024-11-21 09:01:46 +00:00

Added user submitted patch for SLES10 AUFS support.

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.
This commit is contained in:
datajerk 2008-10-20 20:06:50 +00:00
parent 4189ba07b1
commit faad264d8b

111
aufs/aufs-aa-hack.patch Normal file
View File

@ -0,0 +1,111 @@
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)