dissect: when pulling metadata from an image, don't bother with /home or ESP
When we try to read meta-data from an image, don't bother with mounting /home or the ESP, as that's not where the metadata is. This not only speeds things up a bit, but also has the benefit that setups where an unencrypted root is mixed with an encrypted /home (which I have on one of my own systems) won't result in errors that the crypto key is needed.
This commit is contained in:
parent
0bb8dfaa53
commit
429d4e414d
|
@ -1291,9 +1291,11 @@ int dissected_image_acquire_metadata(DissectedImage *m) {
|
||||||
if (mount(NULL, "/", NULL, MS_SLAVE | MS_REC, NULL) < 0)
|
if (mount(NULL, "/", NULL, MS_SLAVE | MS_REC, NULL) < 0)
|
||||||
_exit(EXIT_FAILURE);
|
_exit(EXIT_FAILURE);
|
||||||
|
|
||||||
r = dissected_image_mount(m, t, UID_INVALID, DISSECT_IMAGE_READ_ONLY);
|
r = dissected_image_mount(m, t, UID_INVALID, DISSECT_IMAGE_READ_ONLY|DISSECT_IMAGE_MOUNT_ROOT_ONLY);
|
||||||
if (r < 0)
|
if (r < 0) {
|
||||||
|
log_debug_errno(r, "Failed to mount dissected image: %m");
|
||||||
_exit(EXIT_FAILURE);
|
_exit(EXIT_FAILURE);
|
||||||
|
}
|
||||||
|
|
||||||
for (k = 0; k < _META_MAX; k++) {
|
for (k = 0; k < _META_MAX; k++) {
|
||||||
_cleanup_close_ int fd = -1;
|
_cleanup_close_ int fd = -1;
|
||||||
|
|
Loading…
Reference in a new issue