summaryrefslogtreecommitdiff
path: root/fs/aufs
diff options
context:
space:
mode:
Diffstat (limited to 'fs/aufs')
-rw-r--r--fs/aufs/inode.c7
-rw-r--r--fs/aufs/inode.h6
2 files changed, 6 insertions, 7 deletions
diff --git a/fs/aufs/inode.c b/fs/aufs/inode.c
index 6db3d6f62..cedc53420 100644
--- a/fs/aufs/inode.c
+++ b/fs/aufs/inode.c
@@ -273,8 +273,7 @@ out:
static int reval_inode(struct inode *inode, struct dentry *dentry)
{
int err;
- unsigned int gen;
- struct au_iigen iigen;
+ unsigned int gen, igflags;
aufs_bindex_t bindex, bend;
struct inode *h_inode, *h_dinode;
struct dentry *h_dentry;
@@ -299,9 +298,9 @@ static int reval_inode(struct inode *inode, struct dentry *dentry)
continue;
err = 0;
- gen = au_iigen(inode, &iigen);
+ gen = au_iigen(inode, &igflags);
if (gen == au_digen(dentry)
- && !au_ig_ftest(iigen.ig_flags, HALF_REFRESHED))
+ && !au_ig_ftest(igflags, HALF_REFRESHED))
break;
/* fully refresh inode using dentry */
diff --git a/fs/aufs/inode.h b/fs/aufs/inode.h
index 31e31f43a..c3e26940f 100644
--- a/fs/aufs/inode.h
+++ b/fs/aufs/inode.h
@@ -409,7 +409,7 @@ static inline void au_icntnr_init(struct au_icntnr *c)
#endif
}
-static inline unsigned int au_iigen(struct inode *inode, struct au_iigen *iigen_arg)
+static inline unsigned int au_iigen(struct inode *inode, unsigned int *igflags)
{
unsigned int gen;
struct au_iinfo *iinfo;
@@ -418,8 +418,8 @@ static inline unsigned int au_iigen(struct inode *inode, struct au_iigen *iigen_
iinfo = au_ii(inode);
iigen = &iinfo->ii_generation;
spin_lock(&iigen->ig_spin);
- if (iigen_arg)
- *iigen_arg = *iigen;
+ if (igflags)
+ *igflags = iigen->ig_flags;
gen = iigen->ig_generation;
spin_unlock(&iigen->ig_spin);