diff options
author | André Fabian Silva Delgado <emulatorman@parabola.nu> | 2015-12-15 14:52:16 -0300 |
---|---|---|
committer | André Fabian Silva Delgado <emulatorman@parabola.nu> | 2015-12-15 14:52:16 -0300 |
commit | 8d91c1e411f55d7ea91b1183a2e9f8088fb4d5be (patch) | |
tree | e9891aa6c295060d065adffd610c4f49ecf884f3 /fs/aufs/super.h | |
parent | a71852147516bc1cb5b0b3cbd13639bfd4022dc8 (diff) |
Linux-libre 4.3.2-gnu
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); |