dout(10) << __func__ << " with {" << *in << "}" << ", already in scrubbing" << dendl;
return -CEPHFS_EBUSY;
}
+ if(in->state_test(CInode::STATE_PURGING)) {
+ dout(10) << *obj << " is purging, skip pushing into scrub stack" << dendl;
+ // treating this as success since purge will make sure this inode goes away
+ return 0;
+ }
dout(10) << __func__ << " with {" << *in << "}" << ", top=" << top << dendl;
in->scrub_initialize(header);
dout(10) << __func__ << " with {" << *dir << "}" << ", already in scrubbing" << dendl;
return -CEPHFS_EBUSY;
}
+ if(dir->get_inode()->state_test(CInode::STATE_PURGING)) {
+ dout(10) << *obj << " is purging, skip pushing into scrub stack" << dendl;
+ // treating this as success since purge will make sure this dir inode goes away
+ return 0;
+ }
dout(10) << __func__ << " with {" << *dir << "}" << ", top=" << top << dendl;
// The edge directory must be in memory