mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2025-10-24 08:55:00 +03:00
* Supports booting of a ZFS snapshot.
Do this by cloning the snapshot into a dataset. If this, the resulting
dataset, already exists, destroy it. Then mount it on root.
* If snapshot does not exist, use base dataset (the part before '@')
as boot filesystem instead.
* If no snapshot is specified on the 'root=' kernel command line, but there
is an '@', then get a list of snapshots below that filesystem and ask the
user which to use.
* Clone with 'mountpoint=none' and 'canmount=noauto' - we mount manually
and explicitly.
* For sub-filesystems, that doesn't have a mountpoint property set, we use
the 'org.zol:mountpoint' to keep track of it's mountpoint.
* Allow rollback of snapshots instead of clone it and boot from the clone.
* Allow mounting a root- and subfs with mountpoint=legacy set
* Allow mounting a filesystem which is using nativ encryption.
* Support all currently used kernel command line arguments
All the different distributions have their own standard on what to specify
on the kernel command line to boot of a ZFS filesystem.
* Extra options:
* zfsdebug=(on,yes,1) Show extra debugging information
* zfsforce=(on,yes,1) Force import the pool
* rollback=(on,yes,1) Rollback (instead of clone) the snapshot
* Only try to import pool if it haven't already been imported
* This will negate the need to force import a pool that have not been exported cleanly.
* Support exclusion of pools to import by setting ZFS_POOL_EXCEPTIONS in /etc/default/zfs.
* Support additional configuration variable ZFS_INITRD_ADDITIONAL_DATASETS
to mount additional filesystems not located under your root dataset.
* Include /etc/modprobe.d/{zfs,spl}.conf in the initrd if it/they exist.
* Include the udev rule to use by-vdev for pool imports.
* Include the /etc/default/zfs file to the initrd.
* Only try /dev/disk/by-* in the initrd if USE_DISK_BY_ID is set.
* Use /dev/disk/by-vdev before anything.
* Add /dev as a last ditch attempt.
* Fallback to using the cache file if that exist if nothing else worked.
* Use /sbin/modprobe instead of built-in (BusyBox) modprobe.
This gets rid of the message "modprobe: can't load module zcommon".
Thanx to pcoultha for finding this.
Signed-off-by: Turbo Fredriksson <turbo@bayour.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #2116
Closes #2114
|
||
|---|---|---|
| .. | ||
| .gitignore | ||
| always-no-unused-but-set-variable.m4 | ||
| config.awk | ||
| deb.am | ||
| kernel-acl.m4 | ||
| kernel-automount.m4 | ||
| kernel-bdev-block-device-operations.m4 | ||
| kernel-bdev-logical-size.m4 | ||
| kernel-bdev-physical-size.m4 | ||
| kernel-bdi-setup-and-register.m4 | ||
| kernel-bio-bvec-iter.m4 | ||
| kernel-bio-end-io-t-args.m4 | ||
| kernel-bio-failfast.m4 | ||
| kernel-bio-rw-syncio.m4 | ||
| kernel-blk-end-request.m4 | ||
| kernel-blk-fetch-request.m4 | ||
| kernel-blk-queue-discard.m4 | ||
| kernel-blk-queue-flush.m4 | ||
| kernel-blk-queue-io-opt.m4 | ||
| kernel-blk-queue-max-hw-sectors.m4 | ||
| kernel-blk-queue-max-segments.m4 | ||
| kernel-blk-queue-nonrot.m4 | ||
| kernel-blk-queue-physical-block-size.m4 | ||
| kernel-blk-requeue-request.m4 | ||
| kernel-blk-rq-bytes.m4 | ||
| kernel-blk-rq-pos.m4 | ||
| kernel-blk-rq-sectors.m4 | ||
| kernel-blkdev-get-by-path.m4 | ||
| kernel-blkdev-get.m4 | ||
| kernel-block-device-operations-release-void.m4 | ||
| kernel-check-disk-size-change.m4 | ||
| kernel-clear-inode.m4 | ||
| kernel-commit-metadata.m4 | ||
| kernel-create-nameidata.m4 | ||
| kernel-d-make-root.m4 | ||
| kernel-d-obtain-alias.m4 | ||
| kernel-d-prune-aliases.m4 | ||
| kernel-declare-event-class.m4 | ||
| kernel-dentry-operations.m4 | ||
| kernel-dirty-inode.m4 | ||
| kernel-discard-granularity.m4 | ||
| kernel-elevator-change.m4 | ||
| kernel-encode-fh-inode.m4 | ||
| kernel-evict-inode.m4 | ||
| kernel-fallocate.m4 | ||
| kernel-file-inode.m4 | ||
| kernel-fmode-t.m4 | ||
| kernel-fsync.m4 | ||
| kernel-get-disk-ro.m4 | ||
| kernel-get-gendisk.m4 | ||
| kernel-insert-inode-locked.m4 | ||
| kernel-invalidate-bdev-args.m4 | ||
| kernel-is_owner_or_cap.m4 | ||
| kernel-kobj-name-len.m4 | ||
| kernel-lookup-bdev.m4 | ||
| kernel-lookup-nameidata.m4 | ||
| kernel-lseek-execute.m4 | ||
| kernel-mkdir-umode-t.m4 | ||
| kernel-mount-nodev.m4 | ||
| kernel-open-bdev-exclusive.m4 | ||
| kernel-rq-for-each_segment.m4 | ||
| kernel-rq-is_sync.m4 | ||
| kernel-security-inode-init.m4 | ||
| kernel-set-nlink.m4 | ||
| kernel-sget-args.m4 | ||
| kernel-show-options.m4 | ||
| kernel-shrink.m4 | ||
| kernel-truncate-range.m4 | ||
| kernel-truncate-setsize.m4 | ||
| kernel-vfs-iterate.m4 | ||
| kernel-vfs-rw-iterate.m4 | ||
| kernel-xattr-handler.m4 | ||
| kernel.m4 | ||
| mount-helper.m4 | ||
| rpm.am | ||
| Rules.am | ||
| suppressed-warnings.txt | ||
| tgz.am | ||
| user-arch.m4 | ||
| user-dracut.m4 | ||
| user-frame-larger-than.m4 | ||
| user-libblkid.m4 | ||
| user-libuuid.m4 | ||
| user-runstatedir.m4 | ||
| user-systemd.m4 | ||
| user-sysvinit.m4 | ||
| user-udev.m4 | ||
| user-zlib.m4 | ||
| user.m4 | ||
| zfs-build.m4 | ||
| zfs-meta.m4 | ||