conf/120228: [zfs] [patch] Split ZFS volume startup / ease ZFS swap volumes management

Adrian Penisoara ady at freebsd.ady.ro
Thu Sep 17 00:25:11 UTC 2009


Hi,

On Fri, Sep 11, 2009 at 5:41 PM, Pawel Jakub Dawidek <pjd at freebsd.org> wrote:
> On Fri, Sep 11, 2009 at 05:19:41PM +0200, Adrian Penisoara wrote:
>>  Actually using /etc/fstab for zvol swap is not quite working in the
>> current setup since /etc/rc.d/swap1 does not automatically swapoff
>> upon shutdown which makes 'zvol stop' attempt to close the (swap)
>> volume(s) while still in use.
>>   I guess 'zfs volfini' should be triggered by a shutdown hook
>> similarly to what geom(4) classes are using.
>>
>>  I see Guido committed a swapoff hook in changeset 189624 (similar to
>> what I suggested in my initial PR) but immediately backed it out the
>> next day. Funny thing is that this swapoff hook flip-flopped over
>> time, see changesets 135389, 137255.
>>
>>  Is there a reason not to have the swap devices automatically
>> unmounted from /etc/swap1 upon shutdown ?
>
> The answer is simple: we don't want swapoff to fail.
>
> There really no point in removing swap on shutdown (it could still be a
> good idea to do it when administrator executes /etc/rc.d/swap1 stop).
> We unmount file systems on shutdown, because we want to keep them
> consistent. There is no need to keep swap consistent, as the data will
> be useless after reboot anyway.
>
> All in all running swapoff at shutdown time increases reboot time and
> introduce possibility of failure (I think the kernel can panic if there
> is no enough memory to move everything out of the swap, but I might be
> wrong here).

Some (if not most) of the Linux distros do turn off swap at shutdown
time and AFAIK they did not encounter issues. One more white ball to
do the same.

>
> There are some tricky cases too. For example:
>
>        # truncate -s 1g /swap.img
>        # mdconfig -a -f /swap.img
>        # swapon /dev/md0
>
> Now if we don't remove swap we won't be able to unmount file system in
> non-forcible way.

Hmm, I guess we still need to "mdconfig -d" to have a clean filesystem
unmount anyway...

>
>> > system to 'legacy' and then you can mount it from to /etc/fstab too.
>> >
>>
>>  Perhaps not the best idea: what if I export and then import a zpool
>> from one system to another -- then I will have some swap volumes
>> automatically mounted upon boot, breaking POLA.
>>
>>  You can argue that ZFS filesystems will also be automatically mounted
>> too, but this is a consistent behavior across different OSes while the
>> discussed swap volume automount is FreeBSD specific.
>>
>>  Sorry to insist, but I still think we should we keep it simple...
>> Unless people are already using/depending on this feature.
>
> Please understand that I don't want to disallow swap configuration from
> /etc/fstab. I'm just giving an option.

Sure.

>
> I'll think about it a bit more and talk to some people what they think
> about this and I'll get back to you. Maybe this property is indeed
> redundant, but I don't want to make any rush decisions.
>

OK, waiting your feedback.

Thanks,
Adrian Penisoara
EnterpriseBSD


More information about the freebsd-rc mailing list