You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This patch mainly enhances VFS layer to support dynamically loading
the ZFS library libsolaris.so from other root filesystem like ROFS and
mounting ZFS filesystem from devices different than /dev/vblk0.1. The
supported scenarios include specifying a loader option '--mount-fs' or
adding an entry to /etc/fstab.
In this patch we take advantage of the existing logic in VFS
pivot_rootfs() that implicitly loads shared libraries from the directory /usr/lib/fs
which is where we place libsolaris.so in the image. This was done as
part of the commit 4ffb0fa to support
dynamically loading NFS filesystem library. To support similar scenario
with ZFS we need to on top of this enhance the mount_fs() to detect
ZFS case and call zfsdev_init() and initialize BSD shrinker. We also
enhance unmount_rootfs() to make it unmount ZFS from non-root mount
points.
This patch also add new module - zfs - which is intended to be used when
building two types of images as described by #1200. Please note the next
patch will enhance the build script to support building such images.
1. Run OSv from a single disk with two partitions: ROFS + ZFS (on /dev/vblk0.2)
./scripts/run.py --execute='--mount-fs=zfs,/dev/vblk0.2,/data /zpool.so list'
2. Run OSv with 2 disks: 1st one with ROFS and second one with ZFS (/dev/vblk1.1):
./scripts/run.py --execute='--mount-fs=zfs,/dev/vblk1.1,/data /zpool.so list' --second-disk-image build/release/zfs_disk.img
Refs #1200
Signed-off-by: Waldemar Kozaczuk <[email protected]>
0 commit comments