-
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
Fix 'zfs send/recv' hang with 16M blocks #7404
Conversation
When using 16MB blocks the send/recv queue's aren't quite big enough. This change leaves the default 16M queue size which a good value for most pools. But it additionally ensures that the queue sizes are at least twice the allowed zfs_max_recordsize. Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Issue openzfs#7365
The reproducer provided in #7365 triggers the following failure on the recv side, even with this change applied:
The change LGTM, i am going to do some more debugging to find why we're hitting a VERIFY. EDIT: i was probably running with the old kernel module loaded, cannot trigger this anymore with this change applied:
|
Codecov Report
@@ Coverage Diff @@
## master #7404 +/- ##
==========================================
- Coverage 76.44% 76.37% -0.07%
==========================================
Files 330 330
Lines 104277 104279 +2
==========================================
- Hits 79712 79641 -71
- Misses 24565 24638 +73
Continue to review full report at Codecov.
|
@loli10K are you testing it on top of zfs-0.7.6 tag? |
@fling- no, i am not This should probably be tested on top of 0.7.8 before 0.7.9 gets released. |
When using 16MB blocks the send/recv queue's aren't quite big enough. This change leaves the default 16M queue size which a good value for most pools. But it additionally ensures that the queue sizes are at least twice the allowed zfs_max_recordsize. Reviewed-by: loli10K <ezomori.nozomu@gmail.com> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes openzfs#7365 Closes openzfs#7404
When using 16MB blocks the send/recv queue's aren't quite big enough. This change leaves the default 16M queue size which a good value for most pools. But it additionally ensures that the queue sizes are at least twice the allowed zfs_max_recordsize. Reviewed-by: loli10K <ezomori.nozomu@gmail.com> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes openzfs#7365 Closes openzfs#7404
When using 16MB blocks the send/recv queue's aren't quite big enough. This change leaves the default 16M queue size which a good value for most pools. But it additionally ensures that the queue sizes are at least twice the allowed zfs_max_recordsize. Reviewed-by: loli10K <ezomori.nozomu@gmail.com> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes #7365 Closes #7404
Description
When using 16MB blocks the send/recv queue's aren't quite big
enough. This change leaves the default 16M queue size which a
good value for most pools. But it additionally ensures that the
queue sizes are at least twice the allowed zfs_max_recordsize.
Motivation and Context
Issue #7365
How Has This Been Tested?
Locally with the provided reproducer, https://gist.github.com/fling-/c66bf1e4a082b5cf9cd4d1106fe6e2bc
Types of changes
Checklist:
Signed-off-by
.