The RBD trim_image failure will continue to be deleted

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

 



Hi, all
    I used RBD bench-write to write data to the deleted RBD while executing RBD rm command.
Trim_image is interrupted and the result is as follows:
    Line 108: 2018-05-22 15:39:48.347846 7faab2ffd700 20 librbd::image::RemoveRequest: 0x5594b18600e0 trim_image: 
    Line 3661: 2018-05-22 15:39:49.130141 7faab27fc700 20 librbd::image::RemoveRequest: 0x5594b18600e0 handle_trim_image: r=-85
    Line 3662: 2018-05-22 15:39:49.130146 7faab27fc700 -1 librbd::image::RemoveRequest: 0x5594b18600e0 handle_trim_image: warning: 
    failed to remove some object(s): (85) Interrupted system call should be restarted
    Line 3663: 2018-05-22 15:39:49.130157 7faab27fc700 20 librbd::image::RemoveRequest: 0x5594b18600e0 remove_child: 
    Line 3671: 2018-05-22 15:39:49.131902 7faab2ffd700 20 librbd::image::RemoveRequest: 0x5594b18600e0 handle_remove_child: r=-2
    Line 3672: 2018-05-22 15:39:49.131911 7faab2ffd700 20 librbd::image::RemoveRequest: 0x5594b18600e0 send_disable_mirror: 
    Line 3683: 2018-05-22 15:39:49.132128 7faab2ffd700 20 librbd::image::RemoveRequest: 0x5594b18600e0 handle_disable_mirror: r=0
    Line 3684: 2018-05-22 15:39:49.132129 7faab2ffd700 20 librbd::image::RemoveRequest: 0x5594b18600e0 send_close_image: 
    Line 3749: 2018-05-22 15:39:49.133273 7faab27fc700 20 librbd::image::RemoveRequest: 0x5594b18600e0 handle_send_close_image: r=0
    Line 3750: 2018-05-22 15:39:49.133328 7faab27fc700 20 librbd::image::RemoveRequest: 0x5594b18600e0 remove_header: 
    Line 3895: 2018-05-22 15:39:49.134614 7faab2ffd700 20 librbd::image::RemoveRequest: 0x5594b18600e0 handle_remove_header: r=0
    Line 3898: 2018-05-22 15:39:49.134620 7faab2ffd700 20 librbd::image::RemoveRequest: 0x5594b18600e0 remove_image: 

However, the RBD deletion process continues, and eventually the RBD deletion is successful, but the remaining part of 
the object cannot be deleted in the storage pool.

handle_trim_image only prints the result and does not stop the RBD delete operation.
template<typename I>
void RemoveRequest<I>::handle_trim_image(int r) {
  ldout(m_cct, 20) << "r=" << r << dendl;

  if (r < 0) {
    lderr(m_cct) << "warning: failed to remove some object(s): "
                 << cpp_strerror(r) << dendl;
  }

  if (m_old_format) {
    send_close_image(r);
    return;
  }

  remove_child();
}

Does this situation need to be handled, and how can the remaining objects be deleted?

--------------
Tao Ning��.n��������+%������w��{.n����z��u���ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f




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

  Powered by Linux