Project

General

Profile

Actions

Bug #3520

closed

Error listing snapshots: (5) Input/output error

Added by ye yuan over 11 years ago. Updated over 11 years ago.

Status:
Resolved
Priority:
Urgent
Assignee:
-
Category:
librbd
Target version:
-
% Done:

0%

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

Description

Hi all,

I build one-node cluster Ceph(0.48, the stable version installed by apt-get) and Ceph -s display HEALTH_OK.
I create a pool and a image named 'test_pool_1' and 'image_3' respectively.

When I run command in CLI:
# rbd -p test_pool_1 snap ls image_3
Error was reported like belwo:
# Error listing snapshots: (5) Input/output error

Then I view the log, it said:
_load_class could not open class $(libdir)/rados-classes/libcls_rbd.so (dlopen failed): $(libdir)/rados-classes/libcls_rbd.so: cannot open shared object file: No such file or directory

Since I viewed source code in 'pybind', I try to invoke python API to open image, it report:
error opening image image_3 at snapshot None

BTW, I'm a new Python coder.
The log file and my test scrip are attached.
Tks for helping me to solve this issue!


Files

my_test.py (406 Bytes) my_test.py ye yuan, 11/23/2012 02:06 AM
ceph-osd.2.log (55.6 MB) ceph-osd.2.log ye yuan, 11/23/2012 02:10 AM
ceph.conf (1.19 KB) ceph.conf ye yuan, 11/23/2012 07:19 PM
Actions #1

Updated by ye yuan over 11 years ago

Actions #2

Updated by ye yuan over 11 years ago

I had checked folder /usr/lib/rados-classes/ , there were all so files including libcls_rbd.so.

Actions #3

Updated by ye yuan over 11 years ago

Actions #4

Updated by Sage Weil over 11 years ago

Change your osd class dir line to have /usr/lib instead of $(libdir).. that variable substitution does not work.

Actions #5

Updated by ye yuan over 11 years ago

Sage Weil wrote:

Change your osd class dir line to have /usr/lib instead of $(libdir).. that variable substitution does not work.

Thks Sage, that seems work. But there are also others:
1) After I del a image(named 'image_1'), I want to create a new one using 'image_1', it report :
librbd: rbd image image_1 already exists

2) I want to view info of a existed image, it report:
librbd: error finding header: (2) No such file or directory

Why I met these issues? Could you tell me the details? Thanks a lot! :):):):)

Actions #6

Updated by ye yuan over 11 years ago

ye yuan wrote:

Sage Weil wrote:

Change your osd class dir line to have /usr/lib instead of $(libdir).. that variable substitution does not work.

Thks Sage, that seems work. But there are also other:>
I want to view info of a existed image, it report:
librbd: error finding header: (2) No such file or directory

Why I met these issues? Could you tell me the details? Thanks a lot! :):):):)

Actions #7

Updated by ye yuan over 11 years ago

ye yuan wrote:

ye yuan wrote:

Sage Weil wrote:

Change your osd class dir line to have /usr/lib instead of $(libdir).. that variable substitution does not work.

Thks Sage, that seems work. But there are also other:>
I want to view info of a existed image, it report:
librbd: error finding header: (2) No such file or directory

Why I met these issues? Could you tell me the details? Thanks a lot! :):):):)

Sorry for making duplicate quote. I found the reason of 'image already exists' prodlem, but confusing on the second in #5 quote.

Actions #8

Updated by Sage Weil over 11 years ago

ye yuan wrote:

ye yuan wrote:

Sage Weil wrote:

Change your osd class dir line to have /usr/lib instead of $(libdir).. that variable substitution does not work.

Thks Sage, that seems work. But there are also other:>
I want to view info of a existed image, it report:
librbd: error finding header: (2) No such file or directory

Why I met these issues? Could you tell me the details? Thanks a lot! :):):):)

Does this happenw ith a newly created image? it may be that image creation was previously broken from your class path.

Actions #9

Updated by ye yuan over 11 years ago

Sage Weil wrote:

ye yuan wrote:

ye yuan wrote:

Sage Weil wrote:

Change your osd class dir line to have /usr/lib instead of $(libdir).. that variable substitution does not work.

Thks Sage, that seems work. But there are also other:>
I want to view info of a existed image, it report:
librbd: error finding header: (2) No such file or directory

Why I met these issues? Could you tell me the details? Thanks a lot! :):):):)

Does this happenw ith a newly created image? it may be that image creation was previously broken from your class path.

yep, after I edited the path, this command works. Thanks a lot Sage Weil!

Actions #10

Updated by Sage Weil over 11 years ago

  • Status changed from New to Resolved
Actions

Also available in: Atom PDF