The referent_inodes list needs to be rolled back if the
unlink operation involving multi-mds fails due to mds
going down. This patch takes care of the same.
Fixes: https://tracker.ceph.com/issues/54205
Signed-off-by: Kotresh HR <khiremat@redhat.com>
}
} else {
pi.inode->nlink++;
+ if (rollback.referent_ino) {
+ pi.inode->add_referent_ino(rollback.referent_ino);
+ dout(10) << __func__ << " referent_inodes " << std::hex << pi.inode->get_referent_inodes()
+ << " referent ino added " << rollback.referent_ino << dendl;
+ }
}
map<client_t,ref_t<MClientSnap>> splits;