Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
Aufs5 Standalone
Commits
08fe3ac6
Commit
08fe3ac6
authored
May 14, 2020
by
J. R. Okajima
Browse files
Merge branch 'aufs5.5/00base' into aufs5.6/00base
parents
c1c73e0c
4b15c1af
Changes
3
Hide whitespace changes
Inline
Side-by-side
fs/aufs/i_op.c
View file @
08fe3ac6
...
...
@@ -1167,15 +1167,14 @@ static void au_refresh_iattr(struct inode *inode, struct kstat *st,
* returns zero or negative (an error).
* @dentry will be read-locked in success.
*/
int
au_h_path_getattr
(
struct
dentry
*
dentry
,
int
force
,
struct
path
*
h_path
,
int
locked
)
int
au_h_path_getattr
(
struct
dentry
*
dentry
,
struct
inode
*
inode
,
int
force
,
struct
path
*
h_path
,
int
locked
)
{
int
err
;
unsigned
int
mnt_flags
,
sigen
;
unsigned
char
udba_none
;
aufs_bindex_t
bindex
;
struct
super_block
*
sb
,
*
h_sb
;
struct
inode
*
inode
;
h_path
->
mnt
=
NULL
;
h_path
->
dentry
=
NULL
;
...
...
@@ -1216,7 +1215,11 @@ int au_h_path_getattr(struct dentry *dentry, int force, struct path *h_path,
di_read_lock_child
(
dentry
,
AuLock_IR
);
body:
inode
=
d_inode
(
dentry
);
if
(
!
inode
)
{
inode
=
d_inode
(
dentry
);
if
(
unlikely
(
!
inode
))
goto
out
;
}
bindex
=
au_ibtop
(
inode
);
h_path
->
mnt
=
au_sbr_mnt
(
sb
,
bindex
);
h_sb
=
h_path
->
mnt
->
mnt_sb
;
...
...
@@ -1256,7 +1259,8 @@ static int aufs_getattr(const struct path *path, struct kstat *st,
err
=
si_read_lock
(
sb
,
AuLock_FLUSH
|
AuLock_NOPLM
);
if
(
unlikely
(
err
))
goto
out
;
err
=
au_h_path_getattr
(
dentry
,
/*force*/
0
,
&
h_path
,
/*locked*/
0
);
err
=
au_h_path_getattr
(
dentry
,
/*inode*/
NULL
,
/*force*/
0
,
&
h_path
,
/*locked*/
0
);
if
(
unlikely
(
err
))
goto
out_si
;
if
(
unlikely
(
!
h_path
.
dentry
))
...
...
fs/aufs/inode.h
View file @
08fe3ac6
...
...
@@ -194,8 +194,8 @@ struct au_icpup_args {
int
au_pin_and_icpup
(
struct
dentry
*
dentry
,
struct
iattr
*
ia
,
struct
au_icpup_args
*
a
);
int
au_h_path_getattr
(
struct
dentry
*
dentry
,
int
force
,
struct
path
*
h_path
,
int
locked
);
int
au_h_path_getattr
(
struct
dentry
*
dentry
,
struct
inode
*
inode
,
int
force
,
struct
path
*
h_path
,
int
locked
);
/* i_op_add.c */
int
au_may_add
(
struct
dentry
*
dentry
,
aufs_bindex_t
bindex
,
...
...
fs/aufs/xattr.c
View file @
08fe3ac6
...
...
@@ -181,7 +181,7 @@ out:
static
int
au_smack_reentering
(
struct
super_block
*
sb
)
{
#if IS_ENABLED(CONFIG_SECURITY_SMACK)
#if IS_ENABLED(CONFIG_SECURITY_SMACK)
|| IS_ENABLED(CONFIG_SECURITY_SELINUX)
/*
* as a part of lookup, smack_d_instantiate() is called, and it calls
* i_op->getxattr(). ouch.
...
...
@@ -212,7 +212,8 @@ struct au_lgxattr {
}
u
;
};
static
ssize_t
au_lgxattr
(
struct
dentry
*
dentry
,
struct
au_lgxattr
*
arg
)
static
ssize_t
au_lgxattr
(
struct
dentry
*
dentry
,
struct
inode
*
inode
,
struct
au_lgxattr
*
arg
)
{
ssize_t
err
;
int
reenter
;
...
...
@@ -226,7 +227,7 @@ static ssize_t au_lgxattr(struct dentry *dentry, struct au_lgxattr *arg)
if
(
unlikely
(
err
))
goto
out
;
}
err
=
au_h_path_getattr
(
dentry
,
/*force*/
1
,
&
h_path
,
reenter
);
err
=
au_h_path_getattr
(
dentry
,
inode
,
/*force*/
1
,
&
h_path
,
reenter
);
if
(
unlikely
(
err
))
goto
out_si
;
if
(
unlikely
(
!
h_path
.
dentry
))
...
...
@@ -268,11 +269,10 @@ ssize_t aufs_listxattr(struct dentry *dentry, char *list, size_t size)
},
};
return
au_lgxattr
(
dentry
,
&
arg
);
return
au_lgxattr
(
dentry
,
/*inode*/
NULL
,
&
arg
);
}
static
ssize_t
au_getxattr
(
struct
dentry
*
dentry
,
struct
inode
*
inode
__maybe_unused
,
static
ssize_t
au_getxattr
(
struct
dentry
*
dentry
,
struct
inode
*
inode
,
const
char
*
name
,
void
*
value
,
size_t
size
)
{
struct
au_lgxattr
arg
=
{
...
...
@@ -284,7 +284,7 @@ static ssize_t au_getxattr(struct dentry *dentry,
},
};
return
au_lgxattr
(
dentry
,
&
arg
);
return
au_lgxattr
(
dentry
,
inode
,
&
arg
);
}
static
int
au_setxattr
(
struct
dentry
*
dentry
,
struct
inode
*
inode
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment