[RFC] Few patches about suspended pools
Alexander Motin
mav at FreeBSD.org
Fri Jul 26 09:40:36 UTC 2013
Hi.
I would like to request for some comments about few patches I've made to
improve handling of pools that lost devices, becoming incomplete and
suspended: http://people.freebsd.org/~mav/zfs_patches/.
cmd_on_suspend.patch -- allows three IOCTLs to be used on suspended
pool. Looking on SVN log, this patch should restore the state of things
we had up to some code drop from illumos, that seems also imported their
issues. This change allows `zpool clear` to be used to recover suspended
pool, `zpool status -v` print list of errors for the suspended pool, the
third IOCTL looks like some name resolution not very clear to me, but
that doesn't look like obviously suspend-related.
remove_last.patch -- makes SPA_ASYNC_REMOVE async events in ZFS to be
processed even after pool was suspended. Without that, async events are
handled only after successful txg commit, that is obviously impossible
without disks. In fact patch makes async thread to be called immediately
on SPA_ASYNC_REMOVE async events. I haven't found any reason why async
events (especially this) should be handled only once per commit.
online_on_suspend.patch -- is somewhat questionable and possibly
incomplete patch. The idea was to make `zpool online` command work for
suspended pools, as some sources recommend. The problem is that this
command tries to change pool content (like updating history) or wait for
completion. That required some hacks to make it not stuck with pool
still suspended.
--
Alexander Motin
More information about the zfs-devel
mailing list