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

rbd: crash during shutdown after writeback blocked by IO errors #5767

Merged
8 commits merged into from Sep 13, 2015
Merged

rbd: crash during shutdown after writeback blocked by IO errors #5767

8 commits merged into from Sep 13, 2015

Conversation

ghost
Copy link

@ghost ghost commented Sep 2, 2015

@ghost ghost self-assigned this Sep 2, 2015
@ghost ghost added this to the hammer milestone Sep 2, 2015
@ghost ghost added bug-fix rbd labels Sep 2, 2015
ghost pushed a commit that referenced this pull request Sep 2, 2015
…ed by IO errors

Reviewed-by: Loic Dachary <ldachary@redhat.com>
Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
(cherry picked from commit 540346d)
Now the judgement only in conditon which will return -ENOENT.
But o->exists don't depend on the extent size. It only depend on
trust_enoent. So move this judgement at the first of _readx().
Make this bug ASAP occur.

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
(cherry picked from commit 2449fdd)
Avoid wakeup early and wait again.

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
(cherry picked from commit d582bda)
Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
(cherry picked from commit 1a48a8a)
Because the mutex is the same as ObjectCacher::lock.

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
(cherry picked from commit d7cf7ae)
Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
(cherry picked from commit 9f80c29)
Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
(cherry picked from commit 101440a)
If bh_write met error, it will try again. For closing image, if met this
issue, it will trigger a assert:
>>2015-02-03 15:22:49.198292 7ff62d537800 -1 osdc/ObjectCacher.cc: In
function 'ObjectCacher::~ObjectCacher()' thread 7ff62d537800 time
>>2015-02-03 15:22:49.195927osdc/ObjectCacher.cc: 551: FAILED
>>assert(i->empty())

Now add purge_on_error, when shutdown_cache it set true.
In ImageCtx::invalidate_cache, if met error and purge_on_error is true,
purge the dirty bh.

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
(cherry picked from commit 35def5c)

Conflicts:
	src/librbd/ImageCtx.cc : trivial resolution
@ghost
Copy link
Author

ghost commented Sep 6, 2015

@dillaman this hammer backport passed the rbd suite (see http://tracker.ceph.com/issues/12701#note-61 for details). Do you think it is ready to be merged ?

Note the trivial conflict resolution at 6c4ccc8, the rest cherry-pick cleanly.

@ghost ghost assigned dillaman and unassigned ghost Sep 6, 2015
@dillaman
Copy link

dillaman commented Sep 8, 2015

LGTM

ghost pushed a commit that referenced this pull request Sep 13, 2015
Crash during shutdown after writeback blocked by IO errors

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
@ghost ghost merged commit 23fb811 into ceph:hammer Sep 13, 2015
@ghost ghost changed the title Crash during shutdown after writeback blocked by IO errors rbd: crash during shutdown after writeback blocked by IO errors Sep 13, 2015
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants