composefs: read errorfs from the mount fd

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
This commit is contained in:
Giuseppe Scrivano 2024-08-06 15:43:24 +02:00
parent 4457fb6fe3
commit 1a6957bced
No known key found for this signature in database
GPG Key ID: 67E38F7A8BA21772
1 changed files with 8 additions and 0 deletions

View File

@ -171,11 +171,19 @@ func mountComposefsBlob(dataDir, mountPoint string) error {
}
if err := unix.FsconfigCreate(fsfd); err != nil {
buffer := make([]byte, 4096)
if n, _ := unix.Read(fsfd, buffer); n > 0 {
return fmt.Errorf("failed to create erofs filesystem: %s: %w", string(buffer[:n]), err)
}
return fmt.Errorf("failed to create erofs filesystem: %w", err)
}
mfd, err := unix.Fsmount(fsfd, 0, unix.MOUNT_ATTR_RDONLY)
if err != nil {
buffer := make([]byte, 4096)
if n, _ := unix.Read(fsfd, buffer); n > 0 {
return fmt.Errorf("failed to mount erofs filesystem: %s: %w", string(buffer[:n]), err)
}
return fmt.Errorf("failed to mount erofs filesystem: %w", err)
}
defer unix.Close(mfd)