mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2025-05-03 23:42:43 +03:00
Zdb should be able to open the root dataset
If the pool/dataset command-line argument is specified with a trailing slash, for example, "tank/", it is interpreted as the root dataset. Signed-off-by: Tim Chase <tim@chase2k.com> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes #3415
This commit is contained in:
parent
79065ed5a4
commit
b1b85c8772
@ -3572,6 +3572,7 @@ main(int argc, char **argv)
|
|||||||
int rewind = ZPOOL_NEVER_REWIND;
|
int rewind = ZPOOL_NEVER_REWIND;
|
||||||
char *spa_config_path_env;
|
char *spa_config_path_env;
|
||||||
const char *opts = "bcdhilmMI:suCDRSAFLXevp:t:U:P";
|
const char *opts = "bcdhilmMI:suCDRSAFLXevp:t:U:P";
|
||||||
|
boolean_t target_is_spa = B_TRUE;
|
||||||
|
|
||||||
(void) setrlimit(RLIMIT_NOFILE, &rl);
|
(void) setrlimit(RLIMIT_NOFILE, &rl);
|
||||||
(void) enable_extended_FILE_stdio(-1, -1);
|
(void) enable_extended_FILE_stdio(-1, -1);
|
||||||
@ -3740,8 +3741,17 @@ main(int argc, char **argv)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (strpbrk(target, "/@") != NULL) {
|
||||||
|
size_t targetlen;
|
||||||
|
|
||||||
|
target_is_spa = B_FALSE;
|
||||||
|
targetlen = strlen(target);
|
||||||
|
if (targetlen && target[targetlen - 1] == '/')
|
||||||
|
target[targetlen - 1] = '\0';
|
||||||
|
}
|
||||||
|
|
||||||
if (error == 0) {
|
if (error == 0) {
|
||||||
if (strpbrk(target, "/@") == NULL || dump_opt['R']) {
|
if (target_is_spa || dump_opt['R']) {
|
||||||
error = spa_open_rewind(target, &spa, FTAG, policy,
|
error = spa_open_rewind(target, &spa, FTAG, policy,
|
||||||
NULL);
|
NULL);
|
||||||
if (error) {
|
if (error) {
|
||||||
|
@ -55,6 +55,11 @@ The output of this command in general reflects the on-disk structure of a ZFS
|
|||||||
pool, and is inherently unstable. The precise output of most invocations is
|
pool, and is inherently unstable. The precise output of most invocations is
|
||||||
not documented, a knowledge of ZFS internals is assumed.
|
not documented, a knowledge of ZFS internals is assumed.
|
||||||
|
|
||||||
|
.P
|
||||||
|
If the \fIdataset\fR argument does not contain any \fB/\fR or \fB@\fR
|
||||||
|
characters, it is interpreted as a pool name. The root dataset can be
|
||||||
|
specified as \fIpool\fB/\fR (pool name followed by a slash).
|
||||||
|
|
||||||
.P
|
.P
|
||||||
When operating on an imported and active pool it is possible, though unlikely,
|
When operating on an imported and active pool it is possible, though unlikely,
|
||||||
that zdb may interpret inconsistent pool data and behave erratically.
|
that zdb may interpret inconsistent pool data and behave erratically.
|
||||||
|
Loading…
Reference in New Issue
Block a user