firecracker-microvm / firecracker-go-sdk

An SDK in Go for the Firecracker microVM API
Apache License 2.0
466 stars 123 forks source link

Allow drive paths already in the jailer rootfs #510

Open bduffany opened 9 months ago

bduffany commented 9 months ago

Before, when providing a drive which is already in the jailer rootfs, the LinkFilesHandler would fail trying to hard-link the file to the path where it is already linked.

This commit makes it so that we skip the hard-link step in this case.

This change allows provisioning virtual drive contents via FUSE, so that the drive contents can be lazily fetched from a remote server. The FUSE mount needs to be set up in the chroot ahead of time, because FUSE files can't be hard-linked across filesystem boundaries.