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/inode.h | |
parent | 8dec7c70575785729a6a9e6719a955e9c545bcab (diff) |
Linux-libre 4.7.1-gnupck-4.7.1-gnu
Diffstat (limited to 'fs/aufs/inode.h')
-rw-r--r-- | fs/aufs/inode.h | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/fs/aufs/inode.h b/fs/aufs/inode.h index 14f788268..60995c054 100644 --- a/fs/aufs/inode.h +++ b/fs/aufs/inode.h @@ -22,7 +22,10 @@ struct au_hnotify { /* never use fsnotify_add_vfsmount_mark() */ struct fsnotify_mark hn_mark; #endif - struct inode *hn_aufs_inode; /* no get/put */ + union { + struct inode *hn_aufs_inode; /* no get/put */ + struct llist_node hn_lnode; /* delayed free */ + }; #endif } ____cacheline_aligned_in_smp; @@ -65,7 +68,10 @@ struct au_iinfo { struct au_icntnr { struct au_iinfo iinfo; struct inode vfs_inode; - struct hlist_node plink; + union { + struct hlist_node plink; + struct llist_node lnode; /* delayed free */ + }; } ____cacheline_aligned_in_smp; /* au_pin flags */ @@ -98,7 +104,6 @@ struct au_pin { void au_pin_hdir_unlock(struct au_pin *p); int au_pin_hdir_lock(struct au_pin *p); int au_pin_hdir_relock(struct au_pin *p); -void au_pin_hdir_set_owner(struct au_pin *p, struct task_struct *task); void au_pin_hdir_acquire_nest(struct au_pin *p); void au_pin_hdir_release(struct au_pin *p); @@ -293,10 +298,10 @@ AuStubVoid(au_plink_half_refresh, struct super_block *sb, aufs_bindex_t br_id); int au_cpup_xattr(struct dentry *h_dst, struct dentry *h_src, int ignore_flags, unsigned int verbose); ssize_t aufs_listxattr(struct dentry *dentry, char *list, size_t size); -ssize_t aufs_getxattr(struct dentry *dentry, const char *name, void *value, - size_t size); -int aufs_setxattr(struct dentry *dentry, const char *name, const void *value, - size_t size, int flags); +ssize_t aufs_getxattr(struct dentry *dentry, struct inode *inode, + const char *name, void *value, size_t size); +int aufs_setxattr(struct dentry *dentry, struct inode *inode, const char *name, + const void *value, size_t size, int flags); int aufs_removexattr(struct dentry *dentry, const char *name); /* void au_xattr_init(struct super_block *sb); */ @@ -336,7 +341,8 @@ struct au_srxattr { } acl_set; } u; }; -ssize_t au_srxattr(struct dentry *dentry, struct au_srxattr *arg); +ssize_t au_srxattr(struct dentry *dentry, struct inode *inode, + struct au_srxattr *arg); #endif /* ---------------------------------------------------------------------- */ |