diff options
author | Tomohiro Kusumi <[email protected]> | 2019-05-30 08:18:14 +0900 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2019-05-29 16:18:14 -0700 |
commit | fe0c9f409a1914ad5e5ea5b7cf14a8991e6c1126 (patch) | |
tree | a9976b7a6a85f4094e595a7271643648ffd2314e /module/zfs/spa_config.c | |
parent | 1e724f4f346486f27d57051df73361b0dacf5632 (diff) |
Remove vn_set_fs_pwd()/vn_set_pwd() (no need to be at / during insmod)
Per suggestion from @behlendorf in #8777, remove vn_set_fs_pwd() and
vn_set_pwd() which are only used in zfs_ioctl.c:_init() while loading
zfs.ko.
The rest of initialization functions being called here after cwd set
to / don't depend on cwd of the process except for spa_config_load().
spa_config_load() uses a relative path ".//etc/zfs/zpool.cache" when
`rootdir` is non-NULL, which is "/etc/zfs/zpool.cache" given cwd is /,
so just unconditionally use the absolute path without "./", so that
`vn_set_pwd("/")` as well as the entire functions can be removed.
This is also what FreeBSD does.
Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: Tony Hutter <[email protected]>
Signed-off-by: Tomohiro Kusumi <[email protected]>
Closes #8826
Diffstat (limited to 'module/zfs/spa_config.c')
-rw-r--r-- | module/zfs/spa_config.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/module/zfs/spa_config.c b/module/zfs/spa_config.c index 8616abda3..6c0894338 100644 --- a/module/zfs/spa_config.c +++ b/module/zfs/spa_config.c @@ -93,8 +93,7 @@ spa_config_load(void) */ pathname = kmem_alloc(MAXPATHLEN, KM_SLEEP); - (void) snprintf(pathname, MAXPATHLEN, "%s%s", - (rootdir != NULL) ? "./" : "", spa_config_path); + (void) snprintf(pathname, MAXPATHLEN, "%s", spa_config_path); file = kobj_open_file(pathname); |