Project

General

Profile

Bug #13586

osd: OSD::mkfs does not decode an existing superblock

Added by Loic Dachary over 3 years ago. Updated over 3 years ago.

Status:
Resolved
Priority:
High
Assignee:
Category:
-
Target version:
-
Start date:
10/23/2015
Due date:
% Done:

0%

Source:
other
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:

Description

    OSDSuperblock sb;
    bufferlist sbbl;
    ret = store->read(coll_t::meta(), OSD_SUPERBLOCK_POBJECT, 0, 0, sbbl);
    if (ret >= 0) {
      dout(0) << " have superblock" << dendl;
      if (whoami != sb.whoami) {

sb does not have the content of sbbl

Associated revisions

Revision 7fcd4237 (diff)
Added by Wei-Chung Cheng over 3 years ago

osd: check OSDSuperblock in mkfs() when it already have superblock

When we remove the ready flag from osd directory, it will execute mkfs again.
It will read superblock but can not check osd id and cluster fsid correctly.
It need to decode the superblock that we read from osd.
It will always failure now, so I modify it for read osd id and fsid correctly.

http://tracker.ceph.com/issues/13586
Fixes: #13586
Signed-off-by: Vicente Cheng <>

History

#1 Updated by Loic Dachary over 3 years ago

  • Description updated (diff)

@Vincente, could you please make a pull request out of https://github.com/Vicente-Cheng/ceph/commit/9d676b36d3c50d345ceb6619f44f6d27c996f015 ?

#2 Updated by Wei-Chung Cheng over 3 years ago

Loic Dachary wrote:

@Vincente, could you please make a pull request out of https://github.com/Vicente-Cheng/ceph/commit/9d676b36d3c50d345ceb6619f44f6d27c996f015 ?

OK!

I make a new pull request.
https://github.com/ceph/ceph/pull/6385

#3 Updated by Sage Weil over 3 years ago

  • Status changed from In Progress to Resolved

Also available in: Atom PDF