提交 0a0d8a46 编写于 作者: A Al Viro

[PATCH] no need for noinline stuff in fs/namespace.c anymore

Stack footprint from hell had been due to many struct nameidata in there.
No more.
Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
上级 2d92ab3c
...@@ -1425,9 +1425,8 @@ static int graft_tree(struct vfsmount *mnt, struct path *path) ...@@ -1425,9 +1425,8 @@ static int graft_tree(struct vfsmount *mnt, struct path *path)
/* /*
* recursively change the type of the mountpoint. * recursively change the type of the mountpoint.
* noinline this do_mount helper to save do_mount stack space.
*/ */
static noinline int do_change_type(struct path *path, int flag) static int do_change_type(struct path *path, int flag)
{ {
struct vfsmount *m, *mnt = path->mnt; struct vfsmount *m, *mnt = path->mnt;
int recurse = flag & MS_REC; int recurse = flag & MS_REC;
...@@ -1459,9 +1458,8 @@ static noinline int do_change_type(struct path *path, int flag) ...@@ -1459,9 +1458,8 @@ static noinline int do_change_type(struct path *path, int flag)
/* /*
* do loopback mount. * do loopback mount.
* noinline this do_mount helper to save do_mount stack space.
*/ */
static noinline int do_loopback(struct path *path, char *old_name, static int do_loopback(struct path *path, char *old_name,
int recurse) int recurse)
{ {
struct path old_path; struct path old_path;
...@@ -1528,9 +1526,8 @@ static int change_mount_flags(struct vfsmount *mnt, int ms_flags) ...@@ -1528,9 +1526,8 @@ static int change_mount_flags(struct vfsmount *mnt, int ms_flags)
* change filesystem flags. dir should be a physical root of filesystem. * change filesystem flags. dir should be a physical root of filesystem.
* If you've mounted a non-root directory somewhere and want to do remount * If you've mounted a non-root directory somewhere and want to do remount
* on it - tough luck. * on it - tough luck.
* noinline this do_mount helper to save do_mount stack space.
*/ */
static noinline int do_remount(struct path *path, int flags, int mnt_flags, static int do_remount(struct path *path, int flags, int mnt_flags,
void *data) void *data)
{ {
int err; int err;
...@@ -1568,10 +1565,7 @@ static inline int tree_contains_unbindable(struct vfsmount *mnt) ...@@ -1568,10 +1565,7 @@ static inline int tree_contains_unbindable(struct vfsmount *mnt)
return 0; return 0;
} }
/* static int do_move_mount(struct path *path, char *old_name)
* noinline this do_mount helper to save do_mount stack space.
*/
static noinline int do_move_mount(struct path *path, char *old_name)
{ {
struct path old_path, parent_path; struct path old_path, parent_path;
struct vfsmount *p; struct vfsmount *p;
...@@ -1648,9 +1642,8 @@ static noinline int do_move_mount(struct path *path, char *old_name) ...@@ -1648,9 +1642,8 @@ static noinline int do_move_mount(struct path *path, char *old_name)
/* /*
* create a new mount for userspace and request it to be added into the * create a new mount for userspace and request it to be added into the
* namespace's tree * namespace's tree
* noinline this do_mount helper to save do_mount stack space.
*/ */
static noinline int do_new_mount(struct path *path, char *type, int flags, static int do_new_mount(struct path *path, char *type, int flags,
int mnt_flags, char *name, void *data) int mnt_flags, char *name, void *data)
{ {
struct vfsmount *mnt; struct vfsmount *mnt;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册