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
274a824c
Commit
274a824c
authored
May 28, 2019
by
J. R. Okajima
Browse files
Merge branch 'aufs5.x-rcN/01modular' into aufs5.x-rcN/30stdalone
parents
6e23cf0d
1a3d720f
Changes
4
Hide whitespace changes
Inline
Side-by-side
fs/aufs/hfsnotify.c
View file @
274a824c
...
@@ -162,13 +162,12 @@ static void au_hfsn_free_group(struct fsnotify_group *group)
...
@@ -162,13 +162,12 @@ static void au_hfsn_free_group(struct fsnotify_group *group)
static
int
au_hfsn_handle_event
(
struct
fsnotify_group
*
group
,
static
int
au_hfsn_handle_event
(
struct
fsnotify_group
*
group
,
struct
inode
*
inode
,
struct
inode
*
inode
,
u32
mask
,
const
void
*
data
,
int
data_type
,
u32
mask
,
const
void
*
data
,
int
data_type
,
const
unsigned
cha
r
*
file_name
,
u32
cookie
,
const
struct
qst
r
*
file_name
,
u32
cookie
,
struct
fsnotify_iter_info
*
iter_info
)
struct
fsnotify_iter_info
*
iter_info
)
{
{
int
err
;
int
err
;
struct
au_hnotify
*
hnotify
;
struct
au_hnotify
*
hnotify
;
struct
inode
*
h_dir
,
*
h_inode
;
struct
inode
*
h_dir
,
*
h_inode
;
struct
qstr
h_child_qstr
=
QSTR_INIT
(
file_name
,
strlen
(
file_name
));
struct
fsnotify_mark
*
inode_mark
;
struct
fsnotify_mark
*
inode_mark
;
AuDebugOn
(
data_type
!=
FSNOTIFY_EVENT_INODE
);
AuDebugOn
(
data_type
!=
FSNOTIFY_EVENT_INODE
);
...
@@ -196,7 +195,7 @@ static int au_hfsn_handle_event(struct fsnotify_group *group,
...
@@ -196,7 +195,7 @@ static int au_hfsn_handle_event(struct fsnotify_group *group,
inode_mark
=
fsnotify_iter_inode_mark
(
iter_info
);
inode_mark
=
fsnotify_iter_inode_mark
(
iter_info
);
AuDebugOn
(
!
inode_mark
);
AuDebugOn
(
!
inode_mark
);
hnotify
=
container_of
(
inode_mark
,
struct
au_hnotify
,
hn_mark
);
hnotify
=
container_of
(
inode_mark
,
struct
au_hnotify
,
hn_mark
);
err
=
au_hnotify
(
h_dir
,
hnotify
,
mask
,
&
h_child_qstr
,
h_inode
);
err
=
au_hnotify
(
h_dir
,
hnotify
,
mask
,
file_name
,
h_inode
);
out:
out:
return
err
;
return
err
;
...
...
fs/aufs/hnotify.c
View file @
274a824c
...
@@ -548,7 +548,7 @@ out:
...
@@ -548,7 +548,7 @@ out:
/* ---------------------------------------------------------------------- */
/* ---------------------------------------------------------------------- */
int
au_hnotify
(
struct
inode
*
h_dir
,
struct
au_hnotify
*
hnotify
,
u32
mask
,
int
au_hnotify
(
struct
inode
*
h_dir
,
struct
au_hnotify
*
hnotify
,
u32
mask
,
struct
qstr
*
h_child_qstr
,
struct
inode
*
h_child_inode
)
const
struct
qstr
*
h_child_qstr
,
struct
inode
*
h_child_inode
)
{
{
int
err
,
len
;
int
err
,
len
;
unsigned
int
flags
[
AuHnLast
],
f
;
unsigned
int
flags
[
AuHnLast
],
f
;
...
...
fs/aufs/inode.h
View file @
274a824c
...
@@ -613,7 +613,7 @@ void au_hn_free(struct au_hinode *hinode);
...
@@ -613,7 +613,7 @@ void au_hn_free(struct au_hinode *hinode);
void
au_hn_ctl
(
struct
au_hinode
*
hinode
,
int
do_set
);
void
au_hn_ctl
(
struct
au_hinode
*
hinode
,
int
do_set
);
void
au_hn_reset
(
struct
inode
*
inode
,
unsigned
int
flags
);
void
au_hn_reset
(
struct
inode
*
inode
,
unsigned
int
flags
);
int
au_hnotify
(
struct
inode
*
h_dir
,
struct
au_hnotify
*
hnotify
,
u32
mask
,
int
au_hnotify
(
struct
inode
*
h_dir
,
struct
au_hnotify
*
hnotify
,
u32
mask
,
struct
qstr
*
h_child_qstr
,
struct
inode
*
h_child_inode
);
const
struct
qstr
*
h_child_qstr
,
struct
inode
*
h_child_inode
);
int
au_hnotify_reset_br
(
unsigned
int
udba
,
struct
au_branch
*
br
,
int
perm
);
int
au_hnotify_reset_br
(
unsigned
int
udba
,
struct
au_branch
*
br
,
int
perm
);
int
au_hnotify_init_br
(
struct
au_branch
*
br
,
int
perm
);
int
au_hnotify_init_br
(
struct
au_branch
*
br
,
int
perm
);
void
au_hnotify_fin_br
(
struct
au_branch
*
br
);
void
au_hnotify_fin_br
(
struct
au_branch
*
br
);
...
...
fs/aufs/super.c
View file @
274a824c
...
@@ -44,18 +44,15 @@ static struct inode *aufs_alloc_inode(struct super_block *sb __maybe_unused)
...
@@ -44,18 +44,15 @@ static struct inode *aufs_alloc_inode(struct super_block *sb __maybe_unused)
return
NULL
;
return
NULL
;
}
}
static
void
aufs_destroy_inode_cb
(
struct
rcu_head
*
head
)
{
struct
inode
*
inode
=
container_of
(
head
,
struct
inode
,
i_rcu
);
au_cache_free_icntnr
(
container_of
(
inode
,
struct
au_icntnr
,
vfs_inode
));
}
static
void
aufs_destroy_inode
(
struct
inode
*
inode
)
static
void
aufs_destroy_inode
(
struct
inode
*
inode
)
{
{
if
(
!
au_is_bad_inode
(
inode
))
if
(
!
au_is_bad_inode
(
inode
))
au_iinfo_fin
(
inode
);
au_iinfo_fin
(
inode
);
call_rcu
(
&
inode
->
i_rcu
,
aufs_destroy_inode_cb
);
}
static
void
aufs_free_inode
(
struct
inode
*
inode
)
{
au_cache_free_icntnr
(
container_of
(
inode
,
struct
au_icntnr
,
vfs_inode
));
}
}
struct
inode
*
au_iget_locked
(
struct
super_block
*
sb
,
ino_t
ino
)
struct
inode
*
au_iget_locked
(
struct
super_block
*
sb
,
ino_t
ino
)
...
@@ -853,6 +850,7 @@ out:
...
@@ -853,6 +850,7 @@ out:
static
const
struct
super_operations
aufs_sop
=
{
static
const
struct
super_operations
aufs_sop
=
{
.
alloc_inode
=
aufs_alloc_inode
,
.
alloc_inode
=
aufs_alloc_inode
,
.
destroy_inode
=
aufs_destroy_inode
,
.
destroy_inode
=
aufs_destroy_inode
,
.
free_inode
=
aufs_free_inode
,
/* always deleting, no clearing */
/* always deleting, no clearing */
.
drop_inode
=
generic_delete_inode
,
.
drop_inode
=
generic_delete_inode
,
.
show_options
=
aufs_show_options
,
.
show_options
=
aufs_show_options
,
...
...
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