diff options
author | Brian Behlendorf <[email protected]> | 2014-01-07 09:21:20 -0800 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2014-01-07 09:48:09 -0800 |
commit | e07306687d0862e8d43b5a0e32003748dedcfa3b (patch) | |
tree | 03c00b0bab894a0ce085a93f90c8cf8166f5715f /cmd | |
parent | 8c091798f26e7c1e6fd105e90065ebe12d97dfc2 (diff) |
Enable /etc/mtab cache to improve performance
Re-enable the /etc/mtab cache to prevent the zfs command from
having to repeatedly open and read from the /etc/mtab file.
Instead an AVL tree of the mounted filesystems is created and
used to vastly speed up lookups. This means that if non-zfs
filesystems are mounted concurrently the 'zfs mount' will not
immediately detect them. In practice that will rarely happen
and even if it does the absolute worst case would be a failed
mount. This was originally disabled out of an abundance of
paranoia.
NOTE: There may still be some parts of the code which do not
consult the mtab cache. They should be updated to check the
mtab cache as they as discovered to be a problem.
Signed-off-by: Brian Behlendorf <[email protected]>
Signed-off-by: Turbo Fredriksson <[email protected]>
Signed-off-by: Chris Dunlop <[email protected]>
Issue #845
Diffstat (limited to 'cmd')
-rw-r--r-- | cmd/zfs/zfs_main.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/cmd/zfs/zfs_main.c b/cmd/zfs/zfs_main.c index cea421238..836979bdf 100644 --- a/cmd/zfs/zfs_main.c +++ b/cmd/zfs/zfs_main.c @@ -6477,7 +6477,7 @@ main(int argc, char **argv) /* * Run the appropriate command. */ - libzfs_mnttab_cache(g_zfs, B_FALSE); + libzfs_mnttab_cache(g_zfs, B_TRUE); if (find_command_idx(cmdname, &i) == 0) { current_command = &command_table[i]; ret = command_table[i].func(argc - 1, argv + 1); |