Bug #3520
closed
Error listing snapshots: (5) Input/output error
Added by ye yuan over 11 years ago.
Updated over 11 years ago.
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
I had checked folder /usr/lib/rados-classes/ , there were all so files including libcls_rbd.so.
Change your osd class dir line to have /usr/lib instead of $(libdir).. that variable substitution does not work.
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! :):):):)
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! :):):):)
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.
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.
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!
- Status changed from New to Resolved
Also available in: Atom
PDF