# HG changeset patch # User Franz Glasner # Date 1660643096 -7200 # Node ID 9ffbe53dbc3565a46636c2402caf784bafe9de13 # Parent cf0a91fde79ccedd716dedf660a78c361bed1880 Flag for creating a separatate dataset for freebsd-update data. By default this is not needed in jails. diff -r cf0a91fde79c -r 9ffbe53dbc35 sbin/fjail --- a/sbin/fjail Tue Aug 16 11:16:11 2022 +0200 +++ b/sbin/fjail Tue Aug 16 11:44:56 2022 +0200 @@ -34,6 +34,7 @@ PARENT must exist already and CHILD must not exist. + -s Also create a dataset for freebsd-update data files -u Do not automatically mount newly created datasets privs MOUNTPOINT @@ -121,16 +122,20 @@ local _pmp _get _dummy # full name of the dataset local _ds - # dynamic ZFS options - local _zfsopts + # dynamic ZFS options -- create cache for freebsd-update + local _zfsopts _fbsdupdate _zfsopts="" - while getopts "u" _opt ; do + _fbsdupdate="" + while getopts "us" _opt ; do case ${_opt} in u) # do not mount newly created datasets _zfsopts="${_zfsopts} -u" ;; + s) + # create also a dataset for freebsd-update data + _fbsdupdate="yes" \?|:) return 2; ;; @@ -182,7 +187,9 @@ zfs create ${_zfsopts} -o exec=off -o setuid=off "${_ds}/var/cache" zfs create ${_zfsopts} -o exec=off -o setuid=off -o primarycache=metadata -o compression=off "${_ds}/var/cache/pkg" zfs create ${_zfsopts} -o exec=off -o setuid=off -o compression=off "${_ds}/var/crash" - zfs create ${_zfsopts} -o exec=off -o setuid=off "${_ds}/var/db" + if [ "$_fbsdupdate" = "yes" ]; then + zfs create ${_zfsopts} -o exec=off -o setuid=off -o primarycache=metadata -o compression=off "${_ds}/var/db/freebsd-update" + fi zfs create ${_zfsopts} -o readonly=on -o exec=off -o setuid=off "${_ds}/var/empty" zfs create ${_zfsopts} -o exec=off -o setuid=off -o primarycache=metadata "${_ds}/var/log" zfs create ${_zfsopts} -o exec=off -o setuid=off -o atime=on "${_ds}/var/mail"