Re: RBD image mounted by command "rbd-nbd" the status is read-only.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Apr 25, 2016 at 08:09:54PM +0200, Ilya Dryomov wrote:
> On Mon, Apr 25, 2016 at 7:47 PM, Stefan Lissmats <stefan@xxxxxxxxxx> wrote:
> > Hello again!
> >
> > I understand that it's not recommended running osd and rbd-nbd on the same host and i actually moved my rbd-nbd to a completely clean host (same kernel and OS though), but with same result.
> >
> > I hope someone can resolve this and you seem to indicate it is some kind of known error but i didn't really understand the github commit that you linked.
> 
> Yes, it is a bug.  rbd-nbd code expects writes to have rval (return
> code) equal to the size of the write.  I'm pretty sure that's wrong,
> because rval for writes should be 0 or a negative error.
> 
> I think what happens is your writes complete successfully, but rbd-nbd
> then throws an -EIO to the kernel because 0 != write size.  I could be
> wrong, so let's wait for Mykola to chime in - he added that check to
> fix discards.

Sorry for delay (I missed this thread due to a wrong filter).

I don't recall details but I think I had an impression that on success
aio_write completion returned the number of bytes written. I might be
confused by this test that checks for r >= 0:

https://github.com/ceph/ceph/blob/master/src/test/librbd/test_librbd.cc#L1254

Now, looking at it again, it is certainly not true and my patch is
wrong.

I see the fix is already requested:

https://github.com/ceph/ceph/pull/8775/

Thanks.

-- 
Mykola Golub
_______________________________________________
ceph-users mailing list
ceph-users@xxxxxxxxxxxxxx
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com



[Index of Archives]     [Information on CEPH]     [Linux Filesystem Development]     [Ceph Development]     [Ceph Large]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [xfs]


  Powered by Linux