From fd7c1f3f99386282ca26561f8e4c56294b6c29d2 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Mon, 15 Jun 2009 10:02:27 -0700 Subject: [PATCH] mds: mark CDir objects with parent ino, dname --- src/mds/CDir.cc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/mds/CDir.cc b/src/mds/CDir.cc index c452c59603445..e9e8b9f81ddc0 100644 --- a/src/mds/CDir.cc +++ b/src/mds/CDir.cc @@ -1486,6 +1486,15 @@ void CDir::_commit(version_t want) inode->make_path_string(path); m.setxattr("path", path); + CDentry *pdn = inode->get_parent_dn(); + if (pdn) { + bufferlist parent(16 + pdn->name.length()); + __u64 ino = pdn->get_dir()->get_inode()->ino(); + ::encode(ino, parent); + ::encode(pdn->name, parent); + m.setxattr("parent", parent); + } + object_t oid = get_ondisk_object(); OSDMap *osdmap = cache->mds->objecter->osdmap; ceph_object_layout ol = osdmap->make_object_layout(oid, -- 2.39.5