From a6d4178605a7d27fd544696c58ccc875ef0c83d1 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Wed, 25 Mar 2009 16:27:18 -0700 Subject: [PATCH] mds: fix unlink stray snaprealm reference Stray dir doesn't get a snaprealm currently. --- src/mds/Server.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/mds/Server.cc b/src/mds/Server.cc index 4677cdd8308ed..c453229e625a0 100644 --- a/src/mds/Server.cc +++ b/src/mds/Server.cc @@ -3271,10 +3271,10 @@ void Server::_unlink_local(MDRequest *mdr, CDentry *dn, CDentry *straydn) bufferlist snapbl; if (!dnl->get_inode()->snaprealm) { dnl->get_inode()->open_snaprealm(true); // don't do a split - dnl->get_inode()->snaprealm->project_past_parent(straydn->get_dir()->inode->snaprealm, snapbl); + dnl->get_inode()->snaprealm->project_past_parent(straydn->get_dir()->inode->find_snaprealm(), snapbl); dnl->get_inode()->close_snaprealm(true); // or a matching join } else - dnl->get_inode()->snaprealm->project_past_parent(straydn->get_dir()->inode->snaprealm, snapbl); + dnl->get_inode()->snaprealm->project_past_parent(straydn->get_dir()->inode->find_snaprealm(), snapbl); straydn->first = dnl->get_inode()->first; le->metablob.add_primary_dentry(straydn, true, dnl->get_inode(), pi, 0, &snapbl); @@ -4030,10 +4030,10 @@ void Server::_rename_prepare(MDRequest *mdr, bufferlist snapbl; if (!destdnl->get_inode()->snaprealm) { destdnl->get_inode()->open_snaprealm(true); // don't do a split - destdnl->get_inode()->snaprealm->project_past_parent(straydn->get_dir()->inode->snaprealm, snapbl); + destdnl->get_inode()->snaprealm->project_past_parent(straydn->get_dir()->inode->find_snaprealm(), snapbl); destdnl->get_inode()->close_snaprealm(true); // or a matching join } else - destdnl->get_inode()->snaprealm->project_past_parent(straydn->get_dir()->inode->snaprealm, snapbl); + destdnl->get_inode()->snaprealm->project_past_parent(straydn->get_dir()->inode->find_snaprealm(), snapbl); straydn->first = destdnl->get_inode()->first; tji = metablob->add_primary_dentry(straydn, true, destdnl->get_inode(), tpi, 0, &snapbl); } else if (destdnl->is_remote()) { -- 2.39.5