26 lines
846 B
Diff
26 lines
846 B
Diff
|
Adapted for 2.6.38 from http://www.fsl.cs.sunysb.edu/pipermail/unionfs/2011-March/006088.html
|
||
|
|
||
|
--- fs/unionfs/inode.c.orig 2011-03-29 09:19:23.477166008 +0200
|
||
|
+++ fs/unionfs/inode.c 2011-03-29 09:22:02.267303281 +0200
|
||
|
@@ -936,7 +936,8 @@ static int unionfs_setattr(struct dentry
|
||
|
err = -EINVAL;
|
||
|
goto out;
|
||
|
}
|
||
|
- lower_inode = unionfs_lower_inode(inode);
|
||
|
+ lower_inode = lower_dentry->d_inode;
|
||
|
+ BUG_ON(!lower_inode);
|
||
|
|
||
|
/* check if user has permission to change lower inode */
|
||
|
err = inode_change_ok(lower_inode, ia);
|
||
|
@@ -970,7 +971,9 @@ static int unionfs_setattr(struct dentry
|
||
|
goto out;
|
||
|
/* get updated lower_dentry/inode after copyup */
|
||
|
lower_dentry = unionfs_lower_dentry(dentry);
|
||
|
- lower_inode = unionfs_lower_inode(inode);
|
||
|
+ BUG_ON(!lower_inode);
|
||
|
+ lower_inode = lower_dentry->d_inode;
|
||
|
+ BUG_ON(!lower_inode);
|
||
|
}
|
||
|
|
||
|
/*
|