Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
42faad99
Commit
42faad99
authored
Apr 24, 2008
by
Al Viro
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[PATCH] restore sane ->umount_begin() API
Signed-off-by:
Al Viro
<
viro@zeniv.linux.org.uk
>
parent
78d31a3a
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
16 additions
and
22 deletions
+16
-22
fs/9p/vfs_super.c
fs/9p/vfs_super.c
+3
-4
fs/cifs/cifsfs.c
fs/cifs/cifsfs.c
+2
-5
fs/fuse/inode.c
fs/fuse/inode.c
+2
-3
fs/namespace.c
fs/namespace.c
+5
-4
fs/nfs/super.c
fs/nfs/super.c
+3
-5
include/linux/fs.h
include/linux/fs.h
+1
-1
No files found.
fs/9p/vfs_super.c
View file @
42faad99
...
...
@@ -224,12 +224,11 @@ static int v9fs_show_options(struct seq_file *m, struct vfsmount *mnt)
}
static
void
v9fs_umount_begin
(
struct
vfsmount
*
vfsmnt
,
int
flags
)
v9fs_umount_begin
(
struct
super_block
*
sb
)
{
struct
v9fs_session_info
*
v9ses
=
vfsmnt
->
mnt_
sb
->
s_fs_info
;
struct
v9fs_session_info
*
v9ses
=
sb
->
s_fs_info
;
if
(
flags
&
MNT_FORCE
)
v9fs_session_cancel
(
v9ses
);
v9fs_session_cancel
(
v9ses
);
}
static
const
struct
super_operations
v9fs_super_ops
=
{
...
...
fs/cifs/cifsfs.c
View file @
42faad99
...
...
@@ -466,14 +466,11 @@ static struct quotactl_ops cifs_quotactl_ops = {
};
#endif
static
void
cifs_umount_begin
(
struct
vfsmount
*
vfsmnt
,
int
flags
)
static
void
cifs_umount_begin
(
struct
super_block
*
sb
)
{
struct
cifs_sb_info
*
cifs_sb
;
struct
cifs_sb_info
*
cifs_sb
=
CIFS_SB
(
sb
)
;
struct
cifsTconInfo
*
tcon
;
if
(
!
(
flags
&
MNT_FORCE
))
return
;
cifs_sb
=
CIFS_SB
(
vfsmnt
->
mnt_sb
);
if
(
cifs_sb
==
NULL
)
return
;
...
...
fs/fuse/inode.c
View file @
42faad99
...
...
@@ -242,10 +242,9 @@ struct inode *fuse_iget(struct super_block *sb, unsigned long nodeid,
return
inode
;
}
static
void
fuse_umount_begin
(
struct
vfsmount
*
vfsmnt
,
int
flags
)
static
void
fuse_umount_begin
(
struct
super_block
*
sb
)
{
if
(
flags
&
MNT_FORCE
)
fuse_abort_conn
(
get_fuse_conn_super
(
vfsmnt
->
mnt_sb
));
fuse_abort_conn
(
get_fuse_conn_super
(
sb
));
}
static
void
fuse_send_destroy
(
struct
fuse_conn
*
fc
)
...
...
fs/namespace.c
View file @
42faad99
...
...
@@ -1061,10 +1061,11 @@ static int do_umount(struct vfsmount *mnt, int flags)
* about for the moment.
*/
lock_kernel
();
if
(
sb
->
s_op
->
umount_begin
)
sb
->
s_op
->
umount_begin
(
mnt
,
flags
);
unlock_kernel
();
if
(
flags
&
MNT_FORCE
&&
sb
->
s_op
->
umount_begin
)
{
lock_kernel
();
sb
->
s_op
->
umount_begin
(
sb
);
unlock_kernel
();
}
/*
* No sense to grab the lock for this test, but test itself looks
...
...
fs/nfs/super.c
View file @
42faad99
...
...
@@ -198,7 +198,7 @@ static match_table_t nfs_secflavor_tokens = {
};
static
void
nfs_umount_begin
(
struct
vfsmount
*
,
int
);
static
void
nfs_umount_begin
(
struct
super_block
*
);
static
int
nfs_statfs
(
struct
dentry
*
,
struct
kstatfs
*
);
static
int
nfs_show_options
(
struct
seq_file
*
,
struct
vfsmount
*
);
static
int
nfs_show_stats
(
struct
seq_file
*
,
struct
vfsmount
*
);
...
...
@@ -647,13 +647,11 @@ static int nfs_show_stats(struct seq_file *m, struct vfsmount *mnt)
* Begin unmount by attempting to remove all automounted mountpoints we added
* in response to xdev traversals and referrals
*/
static
void
nfs_umount_begin
(
struct
vfsmount
*
vfsmnt
,
int
flags
)
static
void
nfs_umount_begin
(
struct
super_block
*
sb
)
{
struct
nfs_server
*
server
=
NFS_SB
(
vfsmnt
->
mnt_
sb
);
struct
nfs_server
*
server
=
NFS_SB
(
sb
);
struct
rpc_clnt
*
rpc
;
if
(
!
(
flags
&
MNT_FORCE
))
return
;
/* -EIO all pending I/O */
rpc
=
server
->
client_acl
;
if
(
!
IS_ERR
(
rpc
))
...
...
include/linux/fs.h
View file @
42faad99
...
...
@@ -1308,7 +1308,7 @@ struct super_operations {
int
(
*
statfs
)
(
struct
dentry
*
,
struct
kstatfs
*
);
int
(
*
remount_fs
)
(
struct
super_block
*
,
int
*
,
char
*
);
void
(
*
clear_inode
)
(
struct
inode
*
);
void
(
*
umount_begin
)
(
struct
vfsmount
*
,
int
);
void
(
*
umount_begin
)
(
struct
super_block
*
);
int
(
*
show_options
)(
struct
seq_file
*
,
struct
vfsmount
*
);
int
(
*
show_stats
)(
struct
seq_file
*
,
struct
vfsmount
*
);
...
...
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