mirror of
				https://git.proxmox.com/git/mirror_zfs.git
				synced 2025-10-26 18:05:04 +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
	 Tim Chase
						Tim Chase