Skip to content

Instantly share code, notes, and snippets.

@pcd1193182
Created October 23, 2018 20:10
Show Gist options
  • Save pcd1193182/21c7e732576eda95be7f244bf5825e56 to your computer and use it in GitHub Desktop.
Save pcd1193182/21c7e732576eda95be7f244bf5825e56 to your computer and use it in GitHub Desktop.
delphix@appliance:~$ cat thing.patch
diff --git a/module/zfs/dmu_send.c b/module/zfs/dmu_send.c
index 6ce1d0fb6..929f15f19 100644
--- a/module/zfs/dmu_send.c
+++ b/module/zfs/dmu_send.c
@@ -2252,6 +2252,11 @@ dmu_send_impl(struct dmu_send_params *dspp)
dsl_pool_t *dp = dspp->dp;
void *tag = dspp->tag;
+ if (fromtxg != 0) {
+ dsl_pool_rele(dp, tag);
+ return (EMULTIHOP);
+ }
+
err = dmu_objset_from_ds(to_ds, &os);
if (err != 0) {
dsl_pool_rele(dp, tag);
delphix@appliance:~$ sudo zfs send -i test/fs@a test/fs@b > /dev/null
delphix@appliance:~$ sudo kpatch load livepatch-thing.ko
loading patch module: livepatch-thing.ko
waiting (up to 15 seconds) for patch transition to complete...
transition complete (2 seconds)
delphix@appliance:~$ sudo zfs send -i test/fs@a test/fs@b > /dev/null
internal error: Multihop attempted
Aborted
delphix@appliance:~$ sudo kpatch unload livepatch-thing.ko
disabling patch module: livepatch_thing
unloading patch module: livepatch_thing
delphix@appliance:~$ sudo zfs send -i test/fs@a test/fs@b > /dev/null
delphix@appliance:~$
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment