diff mbox

Osd magic detection failure in master

Message ID 529D4528.3050901@catalyst.net.nz (mailing list archive)
State New, archived
Headers show

Commit Message

Mark Kirkwood Dec. 3, 2013, 2:42 a.m. UTC
I just updated master (a5eda4fcc34461dbc0fcc47448f8456097de15eb), and am 
seeing OSDs failing to start:

2013-12-03 15:37:01.291200 7f488e1157c0 -1 OSD magic  != my ceph osd 
volume v026
failed: 'ulimit -n 32768;  /usr/bin/ceph-osd -i 0 --pid-file 
/var/run/ceph/osd.0.pid -c /etc/ceph/ceph.conf '

Now it appears that the magic is not being read. It is however there and 
seemingly ok:

$ cat /var/lib/ceph/osd/ceph-0/magic
ceph osd volume v026

Looking at src/osd/OSD.cc I wonder if something like this is needed (as 
it seems that magic is being assigned to an empty val otherwise):

    magic = val;


This makes the osd's start ok, but the mon does not detect  them 
(possibly another issue or my patch is wrong). I'll keep looking :-)

Cheers

Mark
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Josh Durgin Dec. 3, 2013, 2:47 a.m. UTC | #1
On 12/02/2013 06:42 PM, Mark Kirkwood wrote:
> I just updated master (a5eda4fcc34461dbc0fcc47448f8456097de15eb), and am
> seeing OSDs failing to start:
>
> 2013-12-03 15:37:01.291200 7f488e1157c0 -1 OSD magic  != my ceph osd
> volume v026
> failed: 'ulimit -n 32768;  /usr/bin/ceph-osd -i 0 --pid-file
> /var/run/ceph/osd.0.pid -c /etc/ceph/ceph.conf '
>
> Now it appears that the magic is not being read. It is however there and
> seemingly ok:
>
> $ cat /var/lib/ceph/osd/ceph-0/magic
> ceph osd volume v026
>
> Looking at src/osd/OSD.cc I wonder if something like this is needed (as
> it seems that magic is being assigned to an empty val otherwise):

Exactly, I merged the same fix independently a little while ago.

> --- a/src/osd/OSD.cc
> +++ b/src/osd/OSD.cc
> @@ -731,7 +731,7 @@ int OSD::peek_meta(ObjectStore *store, std::string&
> magic,
>   {
>     string val;
>
> -  int r = store->read_meta("magic", &magic);
> +  int r = store->read_meta("magic", &val);
>     if (r < 0)
>       return r;
>     magic = val;
>
>
> This makes the osd's start ok, but the mon does not detect  them
> (possibly another issue or my patch is wrong). I'll keep looking :-)

Not sure what's going on here yet, as the boot message is sent and
received.
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

--- a/src/osd/OSD.cc
+++ b/src/osd/OSD.cc
@@ -731,7 +731,7 @@  int OSD::peek_meta(ObjectStore *store, std::string& 
magic,
  {
    string val;

-  int r = store->read_meta("magic", &magic);
+  int r = store->read_meta("magic", &val);
    if (r < 0)
      return r;