Merge pull request #23524 from mheon/fix_23515
Create volume path before state initialization
This commit is contained in:
		
						commit
						9e8c4c4993
					
				|  | @ -369,6 +369,14 @@ func makeRuntime(ctx context.Context, runtime *Runtime) (retErr error) { | ||||||
| 		return fmt.Errorf("creating runtime temporary files directory: %w", err) | 		return fmt.Errorf("creating runtime temporary files directory: %w", err) | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  | 	// Create the volume path if needed.
 | ||||||
|  | 	// This is not strictly necessary at this point, but the path not
 | ||||||
|  | 	// existing can cause troubles with DB path validation on OSTree based
 | ||||||
|  | 	// systems. Ref: https://github.com/containers/podman/issues/23515
 | ||||||
|  | 	if err := os.MkdirAll(runtime.config.Engine.VolumePath, 0700); err != nil { | ||||||
|  | 		return fmt.Errorf("creating runtime volume path directory: %w", err) | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
| 	// Set up the state.
 | 	// Set up the state.
 | ||||||
| 	runtime.state, err = getDBState(runtime) | 	runtime.state, err = getDBState(runtime) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
|  |  | ||||||
|  | @ -194,6 +194,13 @@ host.slirp4netns.executable | $expr_path | ||||||
| 
 | 
 | ||||||
|     ln -s /home $new_home |     ln -s /home $new_home | ||||||
| 
 | 
 | ||||||
|  |     # Remove volume directory. This doesn't break Podman but can cause our DB | ||||||
|  |     # validation to break if Podman misbehaves. Ref: | ||||||
|  |     # https://github.com/containers/podman/issues/23515 | ||||||
|  |     # (Unfortunately, we can't just use a new directory, that will just trip DB | ||||||
|  |     # validation that it doesn't match the path we were using before) | ||||||
|  |     rm -rf $PODMAN_TMPDIR/$HOME/.local/share/containers/storage/volumes | ||||||
|  | 
 | ||||||
|     # Just need the command to run cleanly |     # Just need the command to run cleanly | ||||||
|     HOME=$PODMAN_TMPDIR/$HOME run_podman info |     HOME=$PODMAN_TMPDIR/$HOME run_podman info | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue