Incremental send stream requires -L (--large-block), to match previous receive #15708
-
I encountered something very similar to what was described in this question two years ago. However, it wasn't answered and I couldn't find an answer anywhere else either. I'm using ZFS 2.1.11 on Debian 12. All the pools were created using this version as well. This is what's happening: I have three pools. I can send incremental snapshots from
If I send it with the suggested These are the
The only thing that comes to my mind which sets them apart is that I can provide additional info if needed. Any help would be appreciated. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 2 replies
-
If I had to guess, you did the initial send without -L to pool3, and so it chopped up the blocks into smaller ones, so now -i is failing with -L because the problem is the reverse of what it's saying - that you're trying to change the block size of an already written file. But you could figure that out more clearly by checking a file above 1M on the same dataset on pool2 and pool3 with I'm not really sure why you're assuming ashift is anywhere in the story. |
Beta Was this translation helpful? Give feedback.
Really, I suppose just
stat
could tell you, probably.Where it says "IO Block" there is going to be the recordsize of the particular file.
And no, if you don't use
-L
, thenzfs send
will chop up any records over 128k into 128k-sized chunks on send, in order to let you keep usingzfs send
when the destination didn't support those.So you'd probably want to resend everything having this problem from
pool1
topool2
andpool3
withzfs send -L
, along with any oth…