mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	ovl: use OVL_E() and OVL_E_FLAGS() accessors
Instead of open coded instances, because we are about to split the two apart. Reviewed-by: Alexander Larsson <alexl@redhat.com> Signed-off-by: Amir Goldstein <amir73il@gmail.com> Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
This commit is contained in:
		
							parent
							
								
									b07d5cc93e
								
							
						
					
					
						commit
						a6ff2bc0be
					
				
					 5 changed files with 21 additions and 16 deletions
				
			
		| 
						 | 
					@ -341,7 +341,7 @@ static struct dentry *ovl_obtain_alias(struct super_block *sb,
 | 
				
			||||||
/* Get the upper or lower dentry in stack whose on layer @idx */
 | 
					/* Get the upper or lower dentry in stack whose on layer @idx */
 | 
				
			||||||
static struct dentry *ovl_dentry_real_at(struct dentry *dentry, int idx)
 | 
					static struct dentry *ovl_dentry_real_at(struct dentry *dentry, int idx)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct ovl_entry *oe = dentry->d_fsdata;
 | 
						struct ovl_entry *oe = OVL_E(dentry);
 | 
				
			||||||
	int i;
 | 
						int i;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (!idx)
 | 
						if (!idx)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -790,7 +790,7 @@ struct dentry *ovl_lookup_index(struct ovl_fs *ofs, struct dentry *upper,
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
int ovl_path_next(int idx, struct dentry *dentry, struct path *path)
 | 
					int ovl_path_next(int idx, struct dentry *dentry, struct path *path)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct ovl_entry *oe = dentry->d_fsdata;
 | 
						struct ovl_entry *oe = OVL_E(dentry);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	BUG_ON(idx < 0);
 | 
						BUG_ON(idx < 0);
 | 
				
			||||||
	if (idx == 0) {
 | 
						if (idx == 0) {
 | 
				
			||||||
| 
						 | 
					@ -833,8 +833,8 @@ struct dentry *ovl_lookup(struct inode *dir, struct dentry *dentry,
 | 
				
			||||||
	struct ovl_entry *oe;
 | 
						struct ovl_entry *oe;
 | 
				
			||||||
	const struct cred *old_cred;
 | 
						const struct cred *old_cred;
 | 
				
			||||||
	struct ovl_fs *ofs = dentry->d_sb->s_fs_info;
 | 
						struct ovl_fs *ofs = dentry->d_sb->s_fs_info;
 | 
				
			||||||
	struct ovl_entry *poe = dentry->d_parent->d_fsdata;
 | 
						struct ovl_entry *poe = OVL_E(dentry->d_parent);
 | 
				
			||||||
	struct ovl_entry *roe = dentry->d_sb->s_root->d_fsdata;
 | 
						struct ovl_entry *roe = OVL_E(dentry->d_sb->s_root);
 | 
				
			||||||
	struct ovl_path *stack = NULL, *origin_path = NULL;
 | 
						struct ovl_path *stack = NULL, *origin_path = NULL;
 | 
				
			||||||
	struct dentry *upperdir, *upperdentry = NULL;
 | 
						struct dentry *upperdir, *upperdentry = NULL;
 | 
				
			||||||
	struct dentry *origin = NULL;
 | 
						struct dentry *origin = NULL;
 | 
				
			||||||
| 
						 | 
					@ -1157,7 +1157,7 @@ struct dentry *ovl_lookup(struct inode *dir, struct dentry *dentry,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
bool ovl_lower_positive(struct dentry *dentry)
 | 
					bool ovl_lower_positive(struct dentry *dentry)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct ovl_entry *poe = dentry->d_parent->d_fsdata;
 | 
						struct ovl_entry *poe = OVL_E(dentry->d_parent);
 | 
				
			||||||
	const struct qstr *name = &dentry->d_name;
 | 
						const struct qstr *name = &dentry->d_name;
 | 
				
			||||||
	const struct cred *old_cred;
 | 
						const struct cred *old_cred;
 | 
				
			||||||
	unsigned int i;
 | 
						unsigned int i;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -124,6 +124,11 @@ static inline struct ovl_entry *OVL_E(struct dentry *dentry)
 | 
				
			||||||
	return (struct ovl_entry *) dentry->d_fsdata;
 | 
						return (struct ovl_entry *) dentry->d_fsdata;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static inline unsigned long *OVL_E_FLAGS(struct dentry *dentry)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						return &OVL_E(dentry)->flags;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
struct ovl_inode {
 | 
					struct ovl_inode {
 | 
				
			||||||
	union {
 | 
						union {
 | 
				
			||||||
		struct ovl_dir_cache *cache;	/* directory */
 | 
							struct ovl_dir_cache *cache;	/* directory */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -138,7 +138,7 @@ static int ovl_revalidate_real(struct dentry *d, unsigned int flags, bool weak)
 | 
				
			||||||
static int ovl_dentry_revalidate_common(struct dentry *dentry,
 | 
					static int ovl_dentry_revalidate_common(struct dentry *dentry,
 | 
				
			||||||
					unsigned int flags, bool weak)
 | 
										unsigned int flags, bool weak)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct ovl_entry *oe = dentry->d_fsdata;
 | 
						struct ovl_entry *oe = OVL_E(dentry);
 | 
				
			||||||
	struct inode *inode = d_inode_rcu(dentry);
 | 
						struct inode *inode = d_inode_rcu(dentry);
 | 
				
			||||||
	struct dentry *upper;
 | 
						struct dentry *upper;
 | 
				
			||||||
	unsigned int i;
 | 
						unsigned int i;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -143,7 +143,7 @@ bool ovl_dentry_weird(struct dentry *dentry)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
enum ovl_path_type ovl_path_type(struct dentry *dentry)
 | 
					enum ovl_path_type ovl_path_type(struct dentry *dentry)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct ovl_entry *oe = dentry->d_fsdata;
 | 
						struct ovl_entry *oe = OVL_E(dentry);
 | 
				
			||||||
	enum ovl_path_type type = 0;
 | 
						enum ovl_path_type type = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (ovl_dentry_upper(dentry)) {
 | 
						if (ovl_dentry_upper(dentry)) {
 | 
				
			||||||
| 
						 | 
					@ -176,7 +176,7 @@ void ovl_path_upper(struct dentry *dentry, struct path *path)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void ovl_path_lower(struct dentry *dentry, struct path *path)
 | 
					void ovl_path_lower(struct dentry *dentry, struct path *path)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct ovl_entry *oe = dentry->d_fsdata;
 | 
						struct ovl_entry *oe = OVL_E(dentry);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (oe->numlower) {
 | 
						if (oe->numlower) {
 | 
				
			||||||
		path->mnt = oe->lowerstack[0].layer->mnt;
 | 
							path->mnt = oe->lowerstack[0].layer->mnt;
 | 
				
			||||||
| 
						 | 
					@ -188,7 +188,7 @@ void ovl_path_lower(struct dentry *dentry, struct path *path)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void ovl_path_lowerdata(struct dentry *dentry, struct path *path)
 | 
					void ovl_path_lowerdata(struct dentry *dentry, struct path *path)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct ovl_entry *oe = dentry->d_fsdata;
 | 
						struct ovl_entry *oe = OVL_E(dentry);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (oe->numlower) {
 | 
						if (oe->numlower) {
 | 
				
			||||||
		path->mnt = oe->lowerstack[oe->numlower - 1].layer->mnt;
 | 
							path->mnt = oe->lowerstack[oe->numlower - 1].layer->mnt;
 | 
				
			||||||
| 
						 | 
					@ -231,14 +231,14 @@ struct dentry *ovl_dentry_upper(struct dentry *dentry)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
struct dentry *ovl_dentry_lower(struct dentry *dentry)
 | 
					struct dentry *ovl_dentry_lower(struct dentry *dentry)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct ovl_entry *oe = dentry->d_fsdata;
 | 
						struct ovl_entry *oe = OVL_E(dentry);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return oe->numlower ? oe->lowerstack[0].dentry : NULL;
 | 
						return oe->numlower ? oe->lowerstack[0].dentry : NULL;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const struct ovl_layer *ovl_layer_lower(struct dentry *dentry)
 | 
					const struct ovl_layer *ovl_layer_lower(struct dentry *dentry)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct ovl_entry *oe = dentry->d_fsdata;
 | 
						struct ovl_entry *oe = OVL_E(dentry);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return oe->numlower ? oe->lowerstack[0].layer : NULL;
 | 
						return oe->numlower ? oe->lowerstack[0].layer : NULL;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -251,7 +251,7 @@ const struct ovl_layer *ovl_layer_lower(struct dentry *dentry)
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
struct dentry *ovl_dentry_lowerdata(struct dentry *dentry)
 | 
					struct dentry *ovl_dentry_lowerdata(struct dentry *dentry)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct ovl_entry *oe = dentry->d_fsdata;
 | 
						struct ovl_entry *oe = OVL_E(dentry);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return oe->numlower ? oe->lowerstack[oe->numlower - 1].dentry : NULL;
 | 
						return oe->numlower ? oe->lowerstack[oe->numlower - 1].dentry : NULL;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -331,17 +331,17 @@ void ovl_set_dir_cache(struct inode *inode, struct ovl_dir_cache *cache)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void ovl_dentry_set_flag(unsigned long flag, struct dentry *dentry)
 | 
					void ovl_dentry_set_flag(unsigned long flag, struct dentry *dentry)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	set_bit(flag, &OVL_E(dentry)->flags);
 | 
						set_bit(flag, OVL_E_FLAGS(dentry));
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void ovl_dentry_clear_flag(unsigned long flag, struct dentry *dentry)
 | 
					void ovl_dentry_clear_flag(unsigned long flag, struct dentry *dentry)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	clear_bit(flag, &OVL_E(dentry)->flags);
 | 
						clear_bit(flag, OVL_E_FLAGS(dentry));
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
bool ovl_dentry_test_flag(unsigned long flag, struct dentry *dentry)
 | 
					bool ovl_dentry_test_flag(unsigned long flag, struct dentry *dentry)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	return test_bit(flag, &OVL_E(dentry)->flags);
 | 
						return test_bit(flag, OVL_E_FLAGS(dentry));
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
bool ovl_dentry_is_opaque(struct dentry *dentry)
 | 
					bool ovl_dentry_is_opaque(struct dentry *dentry)
 | 
				
			||||||
| 
						 | 
					@ -1017,7 +1017,7 @@ int ovl_check_metacopy_xattr(struct ovl_fs *ofs, const struct path *path)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
bool ovl_is_metacopy_dentry(struct dentry *dentry)
 | 
					bool ovl_is_metacopy_dentry(struct dentry *dentry)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct ovl_entry *oe = dentry->d_fsdata;
 | 
						struct ovl_entry *oe = OVL_E(dentry);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (!d_is_reg(dentry))
 | 
						if (!d_is_reg(dentry))
 | 
				
			||||||
		return false;
 | 
							return false;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue