From: Sage Weil Date: Wed, 24 Aug 2011 16:38:01 +0000 (-0700) Subject: Merge branch 'next' X-Git-Tag: v0.35~243 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=c2e4047a885da5601a8a28f1b81c0d714331d5a0;p=ceph.git Merge branch 'next' --- c2e4047a885da5601a8a28f1b81c0d714331d5a0 diff --cc src/client/Client.cc index 8e66047981a8,7f7f990a7237..208569d86374 --- a/src/client/Client.cc +++ b/src/client/Client.cc @@@ -1779,11 -1779,16 +1779,16 @@@ Dentry* Client::link(Dir *dir, const st if (!in->dn_set.empty()) ldout(cct, 5) << "adding new hard link to " << in->vino() << " from " << dn << dendl; - in->dn_set.insert(dn); in->get(); - if (in->dir) dn->get(); // dir -> dn pin + + // only one parent for directories! + if (in->is_dir() && !in->dn_set.empty()) { - unlink(dentry_of(in), false); ++ unlink(in->get_first_parent(), false); + } + + in->dn_set.insert(dn); } return dn;