-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
Want tunable to ignore hole_birth #4833
Conversation
@rincebrain I don't object to adding a tunable but I'd suggest disabling this by default as in the original patch. Please also add a section to |
Would https://gist.github.com/tjikkun/df46ae6b84acc73c6f4000b19ffd9ba0 be the correct way to do this for 0.6.4.2? |
@behlendorf Okay, I've added an entry for it to the man page, and changed the default to 0, though I'm really not fond of that. I also proposed a feature flag, hole_birth_fix, in Illumos #7175, which has no purpose other than to let you safely use hole_birth data newer than the txg that feature flag was enabled, with the presumption that the fixes for illumos 6513 and 7176 are both merged at the same time/before that flag is integrated. I've not made a pull req because I wanted to get people's opinions on using a feature flag for something like this, but I don't see a cleaner option for letting people safely use hole_birth after a certain point while preventing you from "accidentally" importing r/w on an unfixed system. If there's interest, I have the code for this sitting in a branch and could cut a pull request for it, I just figured it'd be less acrimonious to discuss it with people before trying to get it merged somewhere. |
@rincebrain thanks for refreshing this. I've squashed and merged the updated patch to master and I do think it would be prudent to cherry pick this change for the 0.6.5.8 release and enable it by default as you originally proposed. I've tagged this 0.6.5.8 so we don't forget. We'll definitely want to get this fixed correctly on the master development branch before the next major release gets tagged. Thanks for opening an issue on the illumos about adding a feature flag for this. Personally, I'd like to avoid that if possible since it's code we'll need to maintain forever and poses a potential portability issue. |
I'm not too fond of the idea either, TBH, but I don't see a more reasonable way to safely delineate "after this txg, we promise we fixed the bugs" without requiring administrator intervention and manual detection of the issue. |
This doesn't really make sense to me. Bugs are bugs. We need to move on. |
Isn't this also necessary so that it also works on
|
Hmm, forget what I said ;). I guess this would make all sends non-incremental. I missed that it is called |
Adds a module option which disables the hole_birth optimization which has been responsible for several recent bugs, including issue openzfs#4050. Original-patch: https://gist.github.com/pcd1193182/2c0cd47211f3aee623958b4698836c48 Signed-off-by: Rich Ercolani <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Closes openzfs#4833
Just as an FYI to folks, OpenZFS is getting a version of this patch that defaults to 1; the community there feels that correctness needs to be job 1, so we're effectively disabling hole birth by default until a solution can be found. There are some good ideas for a solution already (which I will probably be implementing, if the community agrees with them); if you have any, feel free to join the discussion in the openzfs dev list, or in the PR at openzfs/openzfs#188 |
Adds a module option which disables the hole_birth optimization which has been responsible for several recent bugs, including issue openzfs#4050. Original-patch: https://gist.github.com/pcd1193182/2c0cd47211f3aee623958b4698836c48 Signed-off-by: Rich Ercolani <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Closes openzfs#4833
Adds a module option which disables the hole_birth optimization which has been responsible for several recent bugs, including issue openzfs#4050. Original-patch: https://gist.github.com/pcd1193182/2c0cd47211f3aee623958b4698836c48 Signed-off-by: Rich Ercolani <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Closes openzfs#4833
Adds a module option which disables the hole_birth optimization which has been responsible for several recent bugs, including issue openzfs#4050. Original-patch: https://gist.github.com/pcd1193182/2c0cd47211f3aee623958b4698836c48 Signed-off-by: Rich Ercolani <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Closes openzfs#4833
Adds a module option which disables the hole_birth optimization which has been responsible for several recent bugs, including issue openzfs#4050. Original-patch: https://gist.github.com/pcd1193182/2c0cd47211f3aee623958b4698836c48 Signed-off-by: Rich Ercolani <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Closes openzfs#4833
Adds a module option which disables the hole_birth optimization which has been responsible for several recent bugs, including issue openzfs#4050. Original-patch: https://gist.github.com/pcd1193182/2c0cd47211f3aee623958b4698836c48 Signed-off-by: Rich Ercolani <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Closes openzfs#4833
META file and RPM release log updated. Signed-off-by: Ned Bass <[email protected]>
Adds a module option which disables the hole_birth optimization which has been responsible for several recent bugs, including issue openzfs#4050. Original-patch: https://gist.github.com/pcd1193182/2c0cd47211f3aee623958b4698836c48 Signed-off-by: Rich Ercolani <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Closes openzfs#4833
Adds a module option which disables the hole_birth optimization which has been responsible for several recent bugs, including issue openzfs#4050. Original-patch: https://gist.github.com/pcd1193182/2c0cd47211f3aee623958b4698836c48 Signed-off-by: Rich Ercolani <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Closes openzfs#4833
Between 0.6.5.7 and prior still being affected by illumos #6513, and the newly-discovered Illumos #7176, a tunable to ignore hole_birth for safe sends seems a reasonable tool.
This is just a minor improvement on @pcd1193182's patch to make it a runtime-tunable module parameter.
I tested it, and it functions correctly on ignoring hole_birth at least on the test dataset I have from #4809.