RFC: swapon(8) vnode-backed md and gbde/geli encryption support

Chris Rees crees at bayofrum.net
Thu Jun 27 16:59:35 UTC 2013


On 27 Jun 2013, at 09:06, Hiroki Sato wrote:

> Hiroki Sato <hrs at freebsd.org> wrote
>  in <20130623.035356.644417021040610458.hrs at allbsd.org>:
> 
> hr> Hi,
> hr>
> hr>  I created a patchset to add support of automatic generation of
> hr>  vnode-backed md(4) devices and gbde/geli geom providers to swapon(8)
> hr>  via /etc/fstab.  We already have equivalent functionality by using
> hr>  rc.d scripts.  This simplifies rc.d scripts and fixes a race between
> hr>  mdconfig/gbde/geli and swapon/swapoff by using /etc/fstab.
> 
> A slightly revised patch is attached.  I will commit this today.
> 
> -- Hiroki
> - Add vnode-backed swap space specification support.  This is enabled when
>  device names "md" or "md[0-9]*" and a "file" option are specified in
>  /etc/fstab like this:
> 
>  md    none    swap    sw,file=/swap.bin       0       0
> 
> - Add GBDE/GELI encrypted swap space specification support, which
>  rc.d/encswap supported.  The /etc/fstab lines are like the following:
> 
>  /dev/ada1p1.bde       none    swap    sw      0       0
>  /dev/ada1p2.eli       none    swap    sw      0       0
> 
>  .eli devices accepts aalgo, ealgo, keylen, and sectorsize as options.
> 
>  swapctl(8) can understand an encrypted device in the command line
>  like this:
> 
>  # swapctl -a /dev/ada2p1.bde
> 
> - "-L" flag is added to support "late" option to defer swapon until
>  rc.d/mountlate runs.
> 
> - rc.d script change:
> 
>    rc.d/encswap -> removed
>    rc.d/addswap -> just display a warning message if  is defined.
>    rc.d/swap1 -> renamed to rc.d/swap
>    rc.d/swaplate -> newly added to support "late" option
> 
> These changes alleviate a race condition between device creation/removal
> and swapon/swapoff.
> 
> MFC after:      1 week

Looks fantastic-- better than hacking around in shell scripts I suppose :)

Chris


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.



More information about the freebsd-current mailing list