Project

General

Profile

Bug #1756

mds crash right after successful recovery

Added by Szymon Szypulski about 12 years ago. Updated over 7 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
-
Target version:
-
% Done:

0%

Source:
Tags:
Backport:
Regression:
Severity:
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(FS):
Labels (FS):
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

Ubuntu Natty, ceph 0.38, kernel 2.6.38-12-server, 2x separate mds daemons crashed in the middle of the night

Associated revisions

Revision c2889fef (diff)
Added by Sage Weil about 12 years ago

mds: encode truncate_pending in inode

Otherwise we don't actually journal this value, and we get confused when
we replay a start_truncate and try to restart it.

Fixes: #1756
Signed-off-by: Sage Weil <>

History

#1 Updated by Sage Weil about 12 years ago

  • Category set to 1
  • Target version set to v0.40

#2 Updated by Sage Weil about 12 years ago

  • translation missing: en.field_position set to 6

#3 Updated by Sage Weil about 12 years ago

  • Status changed from New to 7
  • Assignee set to Sage Weil

This should let you restart your mds:

diff --git a/src/mds/MDCache.cc b/src/mds/MDCache.cc
index c5d276a..65e48bf 100644
--- a/src/mds/MDCache.cc
+++ b/src/mds/MDCache.cc
@@ -5233,7 +5233,8 @@ void MDCache::_truncate_inode(CInode *in, LogSegment *ls)
           << pi->truncate_from << " -> " << pi->truncate_size
           << " on " << *in << dendl;

-  assert(pi->is_truncating());
+  if (!pi->is_truncating())
+    pi->truncate_pending++; // hack

   in->auth_pin(this);

And the fix for the actual bug is pushed to git, commit:c2889fef420611df3dd0de4064c91f6aa9f86625

#4 Updated by Sage Weil about 12 years ago

  • Status changed from 7 to Resolved

#5 Updated by John Spray over 7 years ago

  • Project changed from Ceph to CephFS
  • Category deleted (1)
  • Target version deleted (v0.40)

Bulk updating project=ceph category=mds bugs so that I can remove the MDS category from the Ceph project to avoid confusion.

Also available in: Atom PDF