If the IO request has already reached the OSD when the client crashes, the OSD 
will have no way to know that and will still apply the op.  It will notice the 
client is gone when it attempts to send the ack message back to the client.  
Similarly, the client could also crash after the OSD has applied the op and 
send the ack message -- but before the ack message was translated back into a 
completion for the librbd user.

-- 

Jason Dillaman 


----- Original Message ----- 

> From: "louis" <[email protected]>
> To: "Ric Wheeler" <[email protected]>
> Cc: "Jason Dillaman" <[email protected]>, [email protected]
> Sent: Thursday, March 10, 2016 9:11:41 AM
> Subject: 回复:Re: [ceph-users] how ceph osd handle ios sent from crashed ceph
> client

> Thanks, will ceph sod drop the io if finding ceph client crashed?or continue
> to handle those iOS until completed callback?

> 发自网易邮箱大师
> 在2016年03月10日 13:15, Ric Wheeler 写道:

> > On 03/08/2016 08:09 PM, Jason Dillaman wrote:
> 
> > > librbd provides crash-consistent IO. It is still up to your application
> > > to
> > > provide its own consistency by adding barriers (flushes) where necessary.
> > > If you flush your IO, once that flush completes you are guaranteed that
> > > your previous IO is safely committed to disk.
> 
> > >
> 

> > Jeff Moyer wrote a good article on how applications can manage data
> > durability
> 
> > for lwn.net a few years back - still worth reading:
> 

> > https://lwn.net/Articles/457667
> 

> > This is more focused on applications on top of file systems, but is still
> 
> > relevant for applications running on block devices.
> 

> > Regards,
> 

> > Ric
>
_______________________________________________
ceph-users mailing list
[email protected]
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

Reply via email to