diff options
Diffstat (limited to 'fs/aufs/super.h')
-rw-r--r-- | fs/aufs/super.h | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/fs/aufs/super.h b/fs/aufs/super.h index 8ec54fa6e..e0f588ef2 100644 --- a/fs/aufs/super.h +++ b/fs/aufs/super.h @@ -178,6 +178,9 @@ struct au_sbinfo { /* file list */ struct au_sphlhead si_files; + /* with/without getattr, brother of sb->s_d_op */ + struct inode_operations *si_iop_array; + /* * sysfs and lifetime management. * this is not a small structure and it may be a waste of memory in case @@ -209,8 +212,8 @@ struct au_sbinfo { * if it is false, refreshing dirs at access time is unnecesary */ #define AuSi_FAILED_REFRESH_DIR 1 - #define AuSi_FHSM (1 << 1) /* fhsm is active now */ +#define AuSi_NO_DREVAL (1 << 2) /* disable all d_revalidate */ #ifndef CONFIG_AUFS_FHSM #undef AuSi_FHSM @@ -246,7 +249,7 @@ static inline unsigned char au_do_ftest_si(struct au_sbinfo *sbi, #define AuLock_IR (1 << 1) /* read-lock inode */ #define AuLock_IW (1 << 2) /* write-lock inode */ #define AuLock_FLUSH (1 << 3) /* wait for 'nowait' tasks */ -#define AuLock_DIR (1 << 4) /* target is a dir */ +#define AuLock_DIRS (1 << 4) /* target is a pair of dirs */ #define AuLock_NOPLM (1 << 5) /* return err in plm mode */ #define AuLock_NOPLMW (1 << 6) /* wait for plm mode ends */ #define AuLock_GEN (1 << 7) /* test digen/iigen */ @@ -261,10 +264,11 @@ static inline unsigned char au_do_ftest_si(struct au_sbinfo *sbi, /* super.c */ extern struct file_system_type aufs_fs_type; struct inode *au_iget_locked(struct super_block *sb, ino_t ino); -typedef unsigned long long (*au_arraycb_t)(void *array, unsigned long long max, - void *arg); +typedef unsigned long long (*au_arraycb_t)(struct super_block *sb, void *array, + unsigned long long max, void *arg); void au_array_free(void *array); -void *au_array_alloc(unsigned long long *hint, au_arraycb_t cb, void *arg); +void *au_array_alloc(unsigned long long *hint, au_arraycb_t cb, + struct super_block *sb, void *arg); struct inode **au_iarray_alloc(struct super_block *sb, unsigned long long *max); void au_iarray_free(struct inode **a, unsigned long long max); |