Refquota still too strict upon new-filesystem-creation receive
While investigating #6562, I noticed this test case:
zfs create rpool/foo zfs set refquota=10M rpool/foo sync yes > /rpool/foo/fill-er-up sync zfs snapshot rpool/foo@1 zfs send -R rpool/foo@1 | zfs recv rpool/bar echo "" zfs list -pt all | egrep "NAME|foo|bar" zfs get -p refquota rpool/foo zfs get -p refquota rpool/bar
Will create "rpool/bar", but it will NOT set the refquota, and it will complain about doing so.
Two possible solutions are:
1.) The zfs_ioc_recv() code can special-case refquota so as to take into account the one-transaction overage like 6562 does for incrementals.
2.) refquota in-kernel ALWAYS accounts for the overage, and for "zfs set", the libzfs code takes over the bounds checking from the zfs(1M) command.
No data to display