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
hammer: librados: bad flags can crash the osd #11936
Conversation
Reviewed-by: Nathan Cutler <ncutler@suse.com>
Reviewed-by: Nathan Cutler <ncutler@suse.com>
@liewegas This backport passed a rados suite at http://tracker.ceph.com/issues/17151#note-7 with failures that I believe have been addressed (except for http://tracker.ceph.com/issues/15139 which is caused by the build system no longer providing dumpling-era packages). I have rebuilt the integration branch to include the two fixes and scheduled a new run at http://tracker.ceph.com/issues/17151#note-14 Do you think it's OK to merge provided the second run succeeds? |
Reviewed-by: Nathan Cutler <ncutler@suse.com>
Reviewed-by: Nathan Cutler <ncutler@suse.com>
Second run succeeded; third run here: http://pulpito.front.sepia.ceph.com/smithfarm-2016-11-21_11:52:41-rados-hammer-backports---basic-smithi/ (also succeeded) |
Reviewed-by: Nathan Cutler <ncutler@suse.com>
Reviewed-by: Nathan Cutler <ncutler@suse.com>
@liewegas @athanatos This passed another rados run, see http://tracker.ceph.com/issues/17151#note-23 Do you think it can be merged? |
Yeah I think i brought this up on the jewel backprot, but we can't backport the remove() fucntion addition because it goes from not overloaded to overloaded, which breaks the ABI. |
Changed to DNM |
} | ||
{ | ||
ASSERT_EQ(-EINVAL, ioctx.remove("badfoo", badflags)); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@liewegas This is the reason I backported remove. Can this test be dropped in hammer?
The jewel backport of 1aa807f uses remove() without needing any additional commits, so apparently librados supports remove() in jewel. |
yeah, let's just drop the test
|
Pass the bad PARALLELEXEC flag to remove(), which takes a flags arg. Signed-off-by: Sage Weil <sage@redhat.com> (cherry picked from commit 1aa807f) Conflicts: src/test/librados/misc.cc (dropped ioctx.remove() test because there is no remove() in hammer librados)
Errors are better than crashing. Signed-off-by: Sage Weil <sage@redhat.com> (cherry picked from commit 4074951) Conflicts: src/osd/ReplicatedPG.cc (trivial resolution)
42bd025
to
be71845
Compare
Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com> (manually cherry picked just one line from d9a2ca5)
@liewegas So, in the first commit, I dropped just the test that uses |
…the osd Reviewed-by: Nathan Cutler <ncutler@suse.com>
Reviewed-by: Nathan Cutler <ncutler@suse.com>
Reviewed-by: Nathan Cutler <ncutler@suse.com>
Reviewed-by: Nathan Cutler <ncutler@suse.com>
@athanatos This just passed another rados run at http://tracker.ceph.com/issues/17151#note-38 and I dropped the test that was using Do you think it's OK to merge now? |
http://tracker.ceph.com/issues/16432