[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