diff options
author | André Fabian Silva Delgado <emulatorman@parabola.nu> | 2016-09-11 04:34:46 -0300 |
---|---|---|
committer | André Fabian Silva Delgado <emulatorman@parabola.nu> | 2016-09-11 04:34:46 -0300 |
commit | 863981e96738983919de841ec669e157e6bdaeb0 (patch) | |
tree | d6d89a12e7eb8017837c057935a2271290907f76 /fs/aufs/dir.h | |
parent | 8dec7c70575785729a6a9e6719a955e9c545bcab (diff) |
Linux-libre 4.7.1-gnupck-4.7.1-gnu
Diffstat (limited to 'fs/aufs/dir.h')
-rw-r--r-- | fs/aufs/dir.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/fs/aufs/dir.h b/fs/aufs/dir.h index b0a79d722..4f3945ab8 100644 --- a/fs/aufs/dir.h +++ b/fs/aufs/dir.h @@ -29,7 +29,10 @@ struct au_vdir_destr { struct au_vdir_dehstr { struct hlist_node hash; - struct au_vdir_destr *str; + union { + struct au_vdir_destr *str; + struct llist_node lnode; /* delayed free */ + }; } ____cacheline_aligned_in_smp; struct au_vdir_de { @@ -67,7 +70,10 @@ struct au_vdir { unsigned long vd_version; unsigned int vd_deblk_sz; - unsigned long vd_jiffy; + union { + unsigned long vd_jiffy; + struct llist_node vd_lnode; /* delayed free */ + }; } ____cacheline_aligned_in_smp; /* ---------------------------------------------------------------------- */ @@ -91,7 +97,7 @@ int au_nhash_test_known_wh(struct au_nhash *whlist, char *name, int nlen); int au_nhash_append_wh(struct au_nhash *whlist, char *name, int nlen, ino_t ino, unsigned int d_type, aufs_bindex_t bindex, unsigned char shwh); -void au_vdir_free(struct au_vdir *vdir); +void au_vdir_free(struct au_vdir *vdir, int atonce); int au_vdir_init(struct file *file); int au_vdir_fill_de(struct file *file, struct dir_context *ctx); |