a simple solution, in config_opts.h, add a configuration item osd_op_force_delete, default is false or true? in the class OpReques,add two function need_skip_full_check(), set_skip_full_check() in the OSD::init_op_flags, add checking, if there is a delete op and osd_op_force_delete is ture, call set_skip_full_check. in the OSD::handle_op, when checking full, we can skip it by need_skip_full_check(). Is that OK? Ruifeng Yang -----邮件原件----- 发件人: ceph-devel-owner@xxxxxxxxxxxxxxx [mailto:ceph-devel-owner@xxxxxxxxxxxxxxx] 代表 Sage Weil 发送时间: 2015年9月16日 9:43 收件人: chenxiaowei 11245 (RD) 抄送: ceph-devel@xxxxxxxxxxxxxxx 主题: Re: osds full, delete stuck. On Wed, 16 Sep 2015, Chenxiaowei wrote: > > Hi, Sage: > > Lately my team run into a problem: when osds full, the > delete/write request stuck. > > But we all agree that the cluster should not stuck when sending delete > request, cause after that maybe the osds can > > write again. So what?s your advice? Wish your reply, thanks. The workaround is to temporarily raise the full threshold so you can do some deletes. But you're right that a rados delete operation should be accepted in this state. I've opened http://tracker.ceph.com/issues/13110 sage ��.n��������+%������w��{.n����z��u���ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f