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); } /*