On Sat, 1 Dec 2012, Yan, Zheng wrote: > Hi Sage, > > This patch is buggy, please drop it from wip-mds. Done. > On 11/23/2012 12:52 AM, Yan, Zheng wrote: > > From: "Yan, Zheng" <zheng.z.yan@xxxxxxxxx> > > > > When a null dentry is encountered, CDir::_commit_partial() adds > > a OSD_TMAP_RM command to delete the dentry. But if the dentry is > > new, the osd will not find the dentry when handling the command > > and the tmap update operation will fail totally. > > > > This patch also makes sure dentries are properly marked as new > > when preparing new dentries and exporting dentries. > > > > Signed-off-by: Yan, Zheng <zheng.z.yan@xxxxxxxxx> > > --- > SNIP > > diff --git a/src/mds/Server.cc b/src/mds/Server.cc > > index ec0d5d5..228fede 100644 > > --- a/src/mds/Server.cc > > +++ b/src/mds/Server.cc > > @@ -1685,6 +1685,9 @@ CDentry* Server::prepare_null_dentry(MDRequest *mdr, CDir *dir, const string& dn > > } > > } > > > > + if (!dn->is_dirty()) > > + dn->mark_new(); > > + > This should be something like 'else if (!dn->is_dirty())'. This issue > has been fixed on the osd side, this patch is no longer needed. Yeah. It would still be nice to avoid including those ops in the osd request, as an optimization, but that can happen later. Repushed wip-mds, and scheduled the fs suite to run against it. That only covers single mds configurations still, but as long as there aren't regressions there I'm happy relying on your testing for now. Real Soon Now we need to flesh out that suite to include clustered mds tests, export thrashing, and build a mds_thrasher teuthology task that restarts, adds, and stops mds's to exercise the failure paths. Eventually we'll want to hook that into the failure injection sites in Migration.cc as well so we deliberatel exercise each failure point... sage -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html