Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ZFS send/recv with ashift 9->12 leads to data corruption #12762

Closed
aither64 opened this issue Nov 13, 2021 · 22 comments
Closed

ZFS send/recv with ashift 9->12 leads to data corruption #12762

aither64 opened this issue Nov 13, 2021 · 22 comments
Labels
Component: Send/Recv "zfs send/recv" feature Type: Defect Incorrect behavior (e.g. crash, hang)

Comments

@aither64
Copy link

System information

Type Version/Name
Distribution Name Ubuntu
Distribution Version 20.04
Kernel Version 5.4.0-90-generic
Architecture x86_64
OpenZFS Version zfs-2.1.99-528_g8ac58c3f5

Describe the problem you're observing

ZFS send/recv from pool with ashift=9 to pool with ashift=12 silently damages files on disk after a subsequent send/recv. No error is reported anywhere, zpool scrub reports no errors, but files are corrupted.

Describe how to reproduce the problem

zdb -C tank | grep ashift
                ashift: 9
zdb -C dozer | grep ashift
                ashift: 12
zfs set compression=on tank/test
zfs set compression=on dozer
... put some data to /tank/test, I'm using a container image ...
zfs snapshot tank/test@snapshot
zfs send -c -L tank/test@snapshot | zfs recv dozer/test-first
zfs send -c -L dozer/test-first@snapshot | zfs recv dozer/test-second

Now data in dozer/test-second is corrupted. I'm just looking at text files. All files are there, metadata like timestamps and file size seem to match, but the contents are garbled. Please note that the data is apparently ok after the first send/recv, but after the second it is not.

If I repeat the above steps, but remove the -c switch, the data survives.

We have tracked it to commit c634320, If I revert it, I can't reproduce the problem anymore.

@aither64 aither64 added the Type: Defect Incorrect behavior (e.g. crash, hang) label Nov 13, 2021
@aither64 aither64 changed the title ZFS send/recv with with ashift 9->12 leads to data corruption ZFS send/recv with ashift 9->12 leads to data corruption Nov 13, 2021
@rincebrain rincebrain added the Component: Send/Recv "zfs send/recv" feature label Nov 13, 2021
@pcd1193182
Copy link
Contributor

I'm looking into this, and the error is odd... when you examine the zdb outputs for a file in test-first and test-second, they appear identical. The l0 blkptrs have the same lsize, same psize, same asize, and same checksum. The datasets themselves also have the same properties, aside from the necessarily different ones like guid and objsetid. So why is the file so messed up?

@pcd1193182
Copy link
Contributor

Ah, if you pass the proper flags to zdb to get the full blkpr information, it looks like in test-second, the blkptr is listed as not compressed. It looks like we're dropping the compression information when we send it on, presumably because the lsize and the psize are the same?

@pcd1193182
Copy link
Contributor

The issue here is that the way we do compression detection in the send path is to compare the psize to the lsize. The fix is to have a direct check of the blockpointer and the zio flags to see if the buffer is compressed or not.

@marker5a
Copy link

marker5a commented Jan 5, 2022

Long shot here, but I've been spending time over in #12594 and in the process of debugging, stumbled into this issue which now seems like a candidate for a dataset that is not mountable. It's an encrypted dataset that was migrated from one pool to another using raw sends and there is a non-zero chance I went from a lower shift to a larger shift during the migration, thus causing corruption... at least from the looks of this issue.

Question: If I suffered from this, is it safe to assume that my data is totally garbage now? Or is there a hope of getting some/all of it back?

The odd thing when reading this issue is that the symptom is garbled data. My symptom is that I cannot even mount the dataset (I get input/output errors) to begin with, so it's not clear to me if the blocks themselves are garbled and zfs is throwing errors because it detected that, or if the i/o error stems from some other issue.

@rincebrain
Copy link
Contributor

If I read the error condition right, you could try to cut a patch that would try uncompressing unconditionally, even if the blkptr doesn't think it's marked compressed...

@psy0rz
Copy link

psy0rz commented Jan 7, 2022

Because we cant always 100% trust zfs, I'm trying to create an intelligent zfs-compare tool that will compare the latest common snapshots in two pools. It will shasum the actual zvols and files, instead of relying on zfs. It will also transfer a remote dataset thats encrypted and only has a local key, so that the encryption key isnt needed remotely. Does anyone want this tool as well?

@gdevenyi
Copy link
Contributor

Any idea here of what versions this affects? I have a 140TB migration to do from a 9->12 pool and not super happy having to upgrade to master to get the send working properly...

@rincebrain
Copy link
Contributor

2.0.7 and 2.1.2 both include ports of 3760273, so you could go either route.

@gdevenyi
Copy link
Contributor

2.0.7 and 2.1.2 both include ports of 3760273, so you could go either route.

Thanks, that's helpful. Any idea of 0.8.6 is affected?

I see the issue is -c so I guess I could also avoid that.

@rincebrain
Copy link
Contributor

Well, the commit the original reporter is pointing to was from September 2021, and 0.8.6 was December 2020, so one assumes not.

Amusingly, 2.0.x does not appear to have gotten the original commit, just the fix...2.1.1 had it, though, so if you were running 2.1.1 specifically, it could happen.

@lapo-luchini
Copy link

Can this be detected on the zfs recv side, after the fact?
Example given: would a zpool scrub detect this?

@psy0rz
Copy link

psy0rz commented Feb 3, 2022

i think not, which is the biggest ans scariest issue.

the data is corrupt before the checksums etc are calculatuted

@rincebrain
Copy link
Contributor

rincebrain commented Feb 4, 2022 via email

@ipaqmaster
Copy link

Experienced this myself last night rebuilding a desktop as ashift=12. Discovered that my laptop of default ashift=9 was able to receive my desktop's encrypted root dataset, load-key it and mount it just fine. But my desktop, rebuilt to use ashift=12 on its nvme, got the "Input/Output error" experience exactly as described here.

I tested it this morning in a VM with a 100gb qcow2 as well which presents over VirtIO as a 512b sector virtual disk. It was able to receive the snapshot and read it using a zpool of default settings (Which picked ashift=9 as per what the virtual disk reports. But when I recreated that vm's zpool using ashift=12, the same IO errors and a single "permanent" error in the zpool status output when I tried to mount it and scrubbing made it go away as expected.

I'm glad the data is actually safe on the remote nas I have the backup stored on. For now, I rsync'd that to my desktop and started fresh in new encrypted datasets overnight so I can work this morning. Much slower than sending raw blocks but oh well.

Looking forward to the patch for this.

@psy0rz
Copy link

psy0rz commented Mar 8, 2022

Please check out https://github.com/psy0rz/zfs_autobackup/wiki/zfs-check

It might be a usefull tool to check your actual data.

@asomers
Copy link
Contributor

asomers commented Mar 10, 2022

edit I determined that the ashift on the original pool was also 9, so my problem description is basically identical to the OP's.

@asomers
Copy link
Contributor

asomers commented Mar 24, 2022

I have a good workaround to repair datasets that have been corrupted by this bug. I added a zstream decompress subcommand that will decompress any records that got wrongly marked as uncompressed due to this bug. To use it send the corrupted dataset, filter the stream with zstream, and receive it again. It will fix corruption in any snapshot. For example:

zfs send -LRec <SRC_SNAP> | zstream decompress <INODE,OFFSET>... | zfs recv -s <DST_DS>

My current version only attempts LZ4, because that's the compression algorithm used on all of my affected datasets. But it could be easily modified to handle others, too. Would this tool be useful to anybody else? I can submit a PR if so.

@rincebrain
Copy link
Contributor

I have no datasets broken by this, but would find that command useful for various other sundry experiments, so +1 to a PR from me.

asomers added a commit to asomers/zfs that referenced this issue Mar 24, 2022
It can be used to repair a ZFS file system corrupted by ZFS bug 12762.
Use it like this:
zfs send -LRec <DS> | zstream decompress <INODE>,<OFFSET> ... | zfs recv -s <DST_DS>

Workaround for openzfs#12762
Sponsored-by:   Axcient
Signed-off-by:  Alan Somers <[email protected]>
asomers added a commit to asomers/zfs that referenced this issue Mar 24, 2022
It can be used to repair a ZFS file system corrupted by ZFS bug 12762.
Use it like this:
zfs send -LRec <DS> | zstream decompress <INODE>,<OFFSET> ... | zfs recv -s <DST_DS>

Workaround for openzfs#12762
Sponsored-by:   Axcient
Signed-off-by:  Alan Somers <[email protected]>
@Kodiman
Copy link

Kodiman commented Apr 24, 2022

Hi, Is this bug fixed? How to work around the issue? Thanks

[edited this message for clarity]

@rincebrain
Copy link
Contributor

rincebrain commented Apr 24, 2022 via email

@Kodiman
Copy link

Kodiman commented Apr 24, 2022

Excellent. Thanks.

@aither64
Copy link
Author

Unless there's some reason to keep this issue open, I'm closing it, since it is long fixed.

andrewc12 pushed a commit to andrewc12/openzfs that referenced this issue Sep 23, 2022
It can be used to repair a ZFS file system corrupted by ZFS bug openzfs#12762.
Use it like this:

zfs send -c <DS> | \
zstream decompress <OBJECT>,<OFFSET>[,<COMPRESSION_ALGO>] ... | \
zfs recv <DST_DS>

Reviewed-by: Ahelenia Ziemiańska <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: Allan Jude <[email protected]>
Signed-off-by: Alan Somers <[email protected]>
Sponsored-by:  Axcient
Workaround for openzfs#12762
Closes openzfs#13256
andrewc12 pushed a commit to andrewc12/openzfs that referenced this issue Sep 23, 2022
It can be used to repair a ZFS file system corrupted by ZFS bug openzfs#12762.
Use it like this:

zfs send -c <DS> | \
zstream decompress <OBJECT>,<OFFSET>[,<COMPRESSION_ALGO>] ... | \
zfs recv <DST_DS>

Reviewed-by: Ahelenia Ziemiańska <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: Allan Jude <[email protected]>
Signed-off-by: Alan Somers <[email protected]>
Sponsored-by:  Axcient
Workaround for openzfs#12762
Closes openzfs#13256
andrewc12 pushed a commit to andrewc12/openzfs that referenced this issue Sep 23, 2022
It can be used to repair a ZFS file system corrupted by ZFS bug openzfs#12762.
Use it like this:

zfs send -c <DS> | \
zstream decompress <OBJECT>,<OFFSET>[,<COMPRESSION_ALGO>] ... | \
zfs recv <DST_DS>

Reviewed-by: Ahelenia Ziemiańska <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: Allan Jude <[email protected]>
Signed-off-by: Alan Somers <[email protected]>
Sponsored-by:  Axcient
Workaround for openzfs#12762
Closes openzfs#13256
andrewc12 pushed a commit to andrewc12/openzfs that referenced this issue Sep 23, 2022
It can be used to repair a ZFS file system corrupted by ZFS bug openzfs#12762.
Use it like this:

zfs send -c <DS> | \
zstream decompress <OBJECT>,<OFFSET>[,<COMPRESSION_ALGO>] ... | \
zfs recv <DST_DS>

Reviewed-by: Ahelenia Ziemiańska <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: Allan Jude <[email protected]>
Signed-off-by: Alan Somers <[email protected]>
Sponsored-by:  Axcient
Workaround for openzfs#12762
Closes openzfs#13256
andrewc12 pushed a commit to andrewc12/openzfs that referenced this issue Sep 23, 2022
It can be used to repair a ZFS file system corrupted by ZFS bug openzfs#12762.
Use it like this:

zfs send -c <DS> | \
zstream decompress <OBJECT>,<OFFSET>[,<COMPRESSION_ALGO>] ... | \
zfs recv <DST_DS>

Reviewed-by: Ahelenia Ziemiańska <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: Allan Jude <[email protected]>
Signed-off-by: Alan Somers <[email protected]>
Sponsored-by:  Axcient
Workaround for openzfs#12762
Closes openzfs#13256
andrewc12 pushed a commit to andrewc12/openzfs that referenced this issue Sep 23, 2022
It can be used to repair a ZFS file system corrupted by ZFS bug openzfs#12762.
Use it like this:

zfs send -c <DS> | \
zstream decompress <OBJECT>,<OFFSET>[,<COMPRESSION_ALGO>] ... | \
zfs recv <DST_DS>

Reviewed-by: Ahelenia Ziemiańska <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: Allan Jude <[email protected]>
Signed-off-by: Alan Somers <[email protected]>
Sponsored-by:  Axcient
Workaround for openzfs#12762
Closes openzfs#13256
andrewc12 pushed a commit to andrewc12/openzfs that referenced this issue Sep 23, 2022
It can be used to repair a ZFS file system corrupted by ZFS bug openzfs#12762.
Use it like this:

zfs send -c <DS> | \
zstream decompress <OBJECT>,<OFFSET>[,<COMPRESSION_ALGO>] ... | \
zfs recv <DST_DS>

Reviewed-by: Ahelenia Ziemiańska <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: Allan Jude <[email protected]>
Signed-off-by: Alan Somers <[email protected]>
Sponsored-by:  Axcient
Workaround for openzfs#12762
Closes openzfs#13256
andrewc12 pushed a commit to andrewc12/openzfs that referenced this issue Sep 23, 2022
It can be used to repair a ZFS file system corrupted by ZFS bug openzfs#12762.
Use it like this:

zfs send -c <DS> | \
zstream decompress <OBJECT>,<OFFSET>[,<COMPRESSION_ALGO>] ... | \
zfs recv <DST_DS>

Reviewed-by: Ahelenia Ziemiańska <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: Allan Jude <[email protected]>
Signed-off-by: Alan Somers <[email protected]>
Sponsored-by:  Axcient
Workaround for openzfs#12762
Closes openzfs#13256
andrewc12 pushed a commit to andrewc12/openzfs that referenced this issue Sep 23, 2022
It can be used to repair a ZFS file system corrupted by ZFS bug openzfs#12762.
Use it like this:

zfs send -c <DS> | \
zstream decompress <OBJECT>,<OFFSET>[,<COMPRESSION_ALGO>] ... | \
zfs recv <DST_DS>

Reviewed-by: Ahelenia Ziemiańska <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: Allan Jude <[email protected]>
Signed-off-by: Alan Somers <[email protected]>
Sponsored-by:  Axcient
Workaround for openzfs#12762
Closes openzfs#13256
andrewc12 pushed a commit to andrewc12/openzfs that referenced this issue Sep 23, 2022
It can be used to repair a ZFS file system corrupted by ZFS bug openzfs#12762.
Use it like this:

zfs send -c <DS> | \
zstream decompress <OBJECT>,<OFFSET>[,<COMPRESSION_ALGO>] ... | \
zfs recv <DST_DS>

Reviewed-by: Ahelenia Ziemiańska <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: Allan Jude <[email protected]>
Signed-off-by: Alan Somers <[email protected]>
Sponsored-by:  Axcient
Workaround for openzfs#12762
Closes openzfs#13256
andrewc12 pushed a commit to andrewc12/openzfs that referenced this issue Sep 23, 2022
It can be used to repair a ZFS file system corrupted by ZFS bug openzfs#12762.
Use it like this:

zfs send -c <DS> | \
zstream decompress <OBJECT>,<OFFSET>[,<COMPRESSION_ALGO>] ... | \
zfs recv <DST_DS>

Reviewed-by: Ahelenia Ziemiańska <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: Allan Jude <[email protected]>
Signed-off-by: Alan Somers <[email protected]>
Sponsored-by:  Axcient
Workaround for openzfs#12762
Closes openzfs#13256
andrewc12 pushed a commit to andrewc12/openzfs that referenced this issue Sep 23, 2022
It can be used to repair a ZFS file system corrupted by ZFS bug openzfs#12762.
Use it like this:

zfs send -c <DS> | \
zstream decompress <OBJECT>,<OFFSET>[,<COMPRESSION_ALGO>] ... | \
zfs recv <DST_DS>

Reviewed-by: Ahelenia Ziemiańska <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: Allan Jude <[email protected]>
Signed-off-by: Alan Somers <[email protected]>
Sponsored-by:  Axcient
Workaround for openzfs#12762
Closes openzfs#13256
andrewc12 pushed a commit to andrewc12/openzfs that referenced this issue Sep 23, 2022
It can be used to repair a ZFS file system corrupted by ZFS bug openzfs#12762.
Use it like this:

zfs send -c <DS> | \
zstream decompress <OBJECT>,<OFFSET>[,<COMPRESSION_ALGO>] ... | \
zfs recv <DST_DS>

Reviewed-by: Ahelenia Ziemiańska <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: Allan Jude <[email protected]>
Signed-off-by: Alan Somers <[email protected]>
Sponsored-by:  Axcient
Workaround for openzfs#12762
Closes openzfs#13256
andrewc12 pushed a commit to andrewc12/openzfs that referenced this issue Sep 23, 2022
It can be used to repair a ZFS file system corrupted by ZFS bug openzfs#12762.
Use it like this:

zfs send -c <DS> | \
zstream decompress <OBJECT>,<OFFSET>[,<COMPRESSION_ALGO>] ... | \
zfs recv <DST_DS>

Reviewed-by: Ahelenia Ziemiańska <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: Allan Jude <[email protected]>
Signed-off-by: Alan Somers <[email protected]>
Sponsored-by:  Axcient
Workaround for openzfs#12762
Closes openzfs#13256
andrewc12 pushed a commit to andrewc12/openzfs that referenced this issue Sep 23, 2022
It can be used to repair a ZFS file system corrupted by ZFS bug openzfs#12762.
Use it like this:

zfs send -c <DS> | \
zstream decompress <OBJECT>,<OFFSET>[,<COMPRESSION_ALGO>] ... | \
zfs recv <DST_DS>

Reviewed-by: Ahelenia Ziemiańska <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: Allan Jude <[email protected]>
Signed-off-by: Alan Somers <[email protected]>
Sponsored-by:  Axcient
Workaround for openzfs#12762
Closes openzfs#13256
andrewc12 pushed a commit to andrewc12/openzfs that referenced this issue Sep 23, 2022
It can be used to repair a ZFS file system corrupted by ZFS bug openzfs#12762.
Use it like this:

zfs send -c <DS> | \
zstream decompress <OBJECT>,<OFFSET>[,<COMPRESSION_ALGO>] ... | \
zfs recv <DST_DS>

Reviewed-by: Ahelenia Ziemiańska <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: Allan Jude <[email protected]>
Signed-off-by: Alan Somers <[email protected]>
Sponsored-by:  Axcient
Workaround for openzfs#12762
Closes openzfs#13256
andrewc12 pushed a commit to andrewc12/openzfs that referenced this issue Sep 23, 2022
It can be used to repair a ZFS file system corrupted by ZFS bug openzfs#12762.
Use it like this:

zfs send -c <DS> | \
zstream decompress <OBJECT>,<OFFSET>[,<COMPRESSION_ALGO>] ... | \
zfs recv <DST_DS>

Reviewed-by: Ahelenia Ziemiańska <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: Allan Jude <[email protected]>
Signed-off-by: Alan Somers <[email protected]>
Sponsored-by:  Axcient
Workaround for openzfs#12762
Closes openzfs#13256
andrewc12 pushed a commit to andrewc12/openzfs that referenced this issue Sep 23, 2022
It can be used to repair a ZFS file system corrupted by ZFS bug openzfs#12762.
Use it like this:

zfs send -c <DS> | \
zstream decompress <OBJECT>,<OFFSET>[,<COMPRESSION_ALGO>] ... | \
zfs recv <DST_DS>

Reviewed-by: Ahelenia Ziemiańska <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: Allan Jude <[email protected]>
Signed-off-by: Alan Somers <[email protected]>
Sponsored-by:  Axcient
Workaround for openzfs#12762
Closes openzfs#13256
andrewc12 pushed a commit to andrewc12/openzfs that referenced this issue Sep 23, 2022
It can be used to repair a ZFS file system corrupted by ZFS bug openzfs#12762.
Use it like this:

zfs send -c <DS> | \
zstream decompress <OBJECT>,<OFFSET>[,<COMPRESSION_ALGO>] ... | \
zfs recv <DST_DS>

Reviewed-by: Ahelenia Ziemiańska <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: Allan Jude <[email protected]>
Signed-off-by: Alan Somers <[email protected]>
Sponsored-by:  Axcient
Workaround for openzfs#12762
Closes openzfs#13256
andrewc12 pushed a commit to andrewc12/openzfs that referenced this issue Sep 23, 2022
It can be used to repair a ZFS file system corrupted by ZFS bug openzfs#12762.
Use it like this:

zfs send -c <DS> | \
zstream decompress <OBJECT>,<OFFSET>[,<COMPRESSION_ALGO>] ... | \
zfs recv <DST_DS>

Reviewed-by: Ahelenia Ziemiańska <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: Allan Jude <[email protected]>
Signed-off-by: Alan Somers <[email protected]>
Sponsored-by:  Axcient
Workaround for openzfs#12762
Closes openzfs#13256
andrewc12 pushed a commit to andrewc12/openzfs that referenced this issue Sep 23, 2022
It can be used to repair a ZFS file system corrupted by ZFS bug openzfs#12762.
Use it like this:

zfs send -c <DS> | \
zstream decompress <OBJECT>,<OFFSET>[,<COMPRESSION_ALGO>] ... | \
zfs recv <DST_DS>

Reviewed-by: Ahelenia Ziemiańska <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: Allan Jude <[email protected]>
Signed-off-by: Alan Somers <[email protected]>
Sponsored-by:  Axcient
Workaround for openzfs#12762
Closes openzfs#13256
andrewc12 pushed a commit to andrewc12/openzfs that referenced this issue Sep 23, 2022
It can be used to repair a ZFS file system corrupted by ZFS bug openzfs#12762.
Use it like this:

zfs send -c <DS> | \
zstream decompress <OBJECT>,<OFFSET>[,<COMPRESSION_ALGO>] ... | \
zfs recv <DST_DS>

Reviewed-by: Ahelenia Ziemiańska <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: Allan Jude <[email protected]>
Signed-off-by: Alan Somers <[email protected]>
Sponsored-by:  Axcient
Workaround for openzfs#12762
Closes openzfs#13256
andrewc12 pushed a commit to andrewc12/openzfs that referenced this issue Sep 23, 2022
It can be used to repair a ZFS file system corrupted by ZFS bug openzfs#12762.
Use it like this:

zfs send -c <DS> | \
zstream decompress <OBJECT>,<OFFSET>[,<COMPRESSION_ALGO>] ... | \
zfs recv <DST_DS>

Reviewed-by: Ahelenia Ziemiańska <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: Allan Jude <[email protected]>
Signed-off-by: Alan Somers <[email protected]>
Sponsored-by:  Axcient
Workaround for openzfs#12762
Closes openzfs#13256
andrewc12 pushed a commit to andrewc12/openzfs that referenced this issue Sep 23, 2022
It can be used to repair a ZFS file system corrupted by ZFS bug openzfs#12762.
Use it like this:

zfs send -c <DS> | \
zstream decompress <OBJECT>,<OFFSET>[,<COMPRESSION_ALGO>] ... | \
zfs recv <DST_DS>

Reviewed-by: Ahelenia Ziemiańska <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: Allan Jude <[email protected]>
Signed-off-by: Alan Somers <[email protected]>
Sponsored-by:  Axcient
Workaround for openzfs#12762
Closes openzfs#13256
andrewc12 pushed a commit to andrewc12/openzfs that referenced this issue Sep 23, 2022
It can be used to repair a ZFS file system corrupted by ZFS bug openzfs#12762.
Use it like this:

zfs send -c <DS> | \
zstream decompress <OBJECT>,<OFFSET>[,<COMPRESSION_ALGO>] ... | \
zfs recv <DST_DS>

Reviewed-by: Ahelenia Ziemiańska <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: Allan Jude <[email protected]>
Signed-off-by: Alan Somers <[email protected]>
Sponsored-by:  Axcient
Workaround for openzfs#12762
Closes openzfs#13256
andrewc12 pushed a commit to andrewc12/openzfs that referenced this issue Sep 23, 2022
It can be used to repair a ZFS file system corrupted by ZFS bug openzfs#12762.
Use it like this:

zfs send -c <DS> | \
zstream decompress <OBJECT>,<OFFSET>[,<COMPRESSION_ALGO>] ... | \
zfs recv <DST_DS>

Reviewed-by: Ahelenia Ziemiańska <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: Allan Jude <[email protected]>
Signed-off-by: Alan Somers <[email protected]>
Sponsored-by:  Axcient
Workaround for openzfs#12762
Closes openzfs#13256
andrewc12 pushed a commit to andrewc12/openzfs that referenced this issue Sep 23, 2022
It can be used to repair a ZFS file system corrupted by ZFS bug openzfs#12762.
Use it like this:

zfs send -c <DS> | \
zstream decompress <OBJECT>,<OFFSET>[,<COMPRESSION_ALGO>] ... | \
zfs recv <DST_DS>

Reviewed-by: Ahelenia Ziemiańska <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: Allan Jude <[email protected]>
Signed-off-by: Alan Somers <[email protected]>
Sponsored-by:  Axcient
Workaround for openzfs#12762
Closes openzfs#13256
andrewc12 pushed a commit to andrewc12/openzfs that referenced this issue Sep 23, 2022
It can be used to repair a ZFS file system corrupted by ZFS bug openzfs#12762.
Use it like this:

zfs send -c <DS> | \
zstream decompress <OBJECT>,<OFFSET>[,<COMPRESSION_ALGO>] ... | \
zfs recv <DST_DS>

Reviewed-by: Ahelenia Ziemiańska <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: Allan Jude <[email protected]>
Signed-off-by: Alan Somers <[email protected]>
Sponsored-by:  Axcient
Workaround for openzfs#12762
Closes openzfs#13256
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component: Send/Recv "zfs send/recv" feature Type: Defect Incorrect behavior (e.g. crash, hang)
Projects
None yet
Development

No branches or pull requests

10 participants