We are about to move the MDS' SnapRealm into its own files, which conflicts.
The MDS is more important, so it wins the "SnapRealm" filename and we
move the client stuff to ClientSnapRealm.[h|cc].
Signed-off-by: Sage Weil <sage@inktank.com>
Signed-off-by: Greg Farnum <greg@inktank.com>
client/Inode.cc \
client/Dentry.cc \
client/MetaRequest.cc \
- client/SnapRealm.cc \
+ client/ClientSnapRealm.cc \
client/MetaSession.cc \
client/Trace.cc
libclient_la_LIBADD = libosdc.la $(LIBEDIT_LIBS)
client/Inode.h\
client/MetaRequest.h\
client/MetaSession.h\
- client/SnapRealm.h\
+ client/ClientSnapRealm.h\
client/SyntheticClient.h\
client/Trace.h\
client/fuse_ll.h\
#include "Inode.h"
#include "Dentry.h"
#include "Dir.h"
-#include "SnapRealm.h"
+#include "ClientSnapRealm.h"
#include "Fh.h"
#include "MetaSession.h"
#include "MetaRequest.h"
--- /dev/null
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
+// vim: ts=8 sw=2 smarttab
+
+#include "ClientSnapRealm.h"
+#include "common/Formatter.h"
+
+void SnapRealm::dump(Formatter *f) const
+{
+ f->dump_stream("ino") << ino;
+ f->dump_int("nref", nref);
+ f->dump_stream("created") << created;
+ f->dump_stream("seq") << seq;
+ f->dump_stream("parent_ino") << parent;
+ f->dump_stream("parent_since") << parent_since;
+
+ f->open_array_section("prior_parent_snaps");
+ for (vector<snapid_t>::const_iterator p = prior_parent_snaps.begin(); p != prior_parent_snaps.end(); ++p)
+ f->dump_stream("snapid") << *p;
+ f->close_section();
+ f->open_array_section("my_snaps");
+ for (vector<snapid_t>::const_iterator p = my_snaps.begin(); p != my_snaps.end(); ++p)
+ f->dump_stream("snapid") << *p;
+ f->close_section();
+
+ f->open_array_section("children");
+ for (set<SnapRealm*>::const_iterator p = pchildren.begin(); p != pchildren.end(); ++p)
+ f->dump_stream("child") << (*p)->ino;
+ f->close_section();
+}
--- /dev/null
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
+// vim: ts=8 sw=2 smarttab
+
+#ifndef CEPH_CLIENT_SNAPREALM_H
+#define CEPH_CLIENT_SNAPREALM_H
+
+#include "include/types.h"
+#include "common/snap_types.h"
+#include "include/xlist.h"
+
+class Inode;
+
+struct SnapRealm {
+ inodeno_t ino;
+ int nref;
+ snapid_t created;
+ snapid_t seq;
+
+ inodeno_t parent;
+ snapid_t parent_since;
+ vector<snapid_t> prior_parent_snaps; // snaps prior to parent_since
+ vector<snapid_t> my_snaps;
+
+ SnapRealm *pparent;
+ set<SnapRealm*> pchildren;
+
+private:
+ SnapContext cached_snap_context; // my_snaps + parent snaps + past_parent_snaps
+ friend ostream& operator<<(ostream& out, const SnapRealm& r);
+
+public:
+ xlist<Inode*> inodes_with_caps;
+
+ SnapRealm(inodeno_t i) :
+ ino(i), nref(0), created(0), seq(0),
+ pparent(NULL) { }
+
+ void build_snap_context();
+ void invalidate_cache() {
+ cached_snap_context.clear();
+ }
+
+ const SnapContext& get_snap_context() {
+ if (cached_snap_context.seq == 0)
+ build_snap_context();
+ return cached_snap_context;
+ }
+
+ void dump(Formatter *f) const;
+};
+
+inline ostream& operator<<(ostream& out, const SnapRealm& r) {
+ return out << "snaprealm(" << r.ino << " nref=" << r.nref << " c=" << r.created << " seq=" << r.seq
+ << " parent=" << r.parent
+ << " my_snaps=" << r.my_snaps
+ << " cached_snapc=" << r.cached_snap_context
+ << ")";
+}
+
+#endif
#include "Inode.h"
#include "Dentry.h"
#include "Dir.h"
-#include "SnapRealm.h"
+#include "ClientSnapRealm.h"
ostream& operator<<(ostream &out, Inode &in)
{
+++ /dev/null
-// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
-// vim: ts=8 sw=2 smarttab
-
-#include "SnapRealm.h"
-#include "common/Formatter.h"
-
-void SnapRealm::dump(Formatter *f) const
-{
- f->dump_stream("ino") << ino;
- f->dump_int("nref", nref);
- f->dump_stream("created") << created;
- f->dump_stream("seq") << seq;
- f->dump_stream("parent_ino") << parent;
- f->dump_stream("parent_since") << parent_since;
-
- f->open_array_section("prior_parent_snaps");
- for (vector<snapid_t>::const_iterator p = prior_parent_snaps.begin(); p != prior_parent_snaps.end(); ++p)
- f->dump_stream("snapid") << *p;
- f->close_section();
- f->open_array_section("my_snaps");
- for (vector<snapid_t>::const_iterator p = my_snaps.begin(); p != my_snaps.end(); ++p)
- f->dump_stream("snapid") << *p;
- f->close_section();
-
- f->open_array_section("children");
- for (set<SnapRealm*>::const_iterator p = pchildren.begin(); p != pchildren.end(); ++p)
- f->dump_stream("child") << (*p)->ino;
- f->close_section();
-}
+++ /dev/null
-// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
-// vim: ts=8 sw=2 smarttab
-
-#ifndef CEPH_CLIENT_SNAPREALM_H
-#define CEPH_CLIENT_SNAPREALM_H
-
-#include "include/types.h"
-#include "common/snap_types.h"
-#include "include/xlist.h"
-
-class Inode;
-
-struct SnapRealm {
- inodeno_t ino;
- int nref;
- snapid_t created;
- snapid_t seq;
-
- inodeno_t parent;
- snapid_t parent_since;
- vector<snapid_t> prior_parent_snaps; // snaps prior to parent_since
- vector<snapid_t> my_snaps;
-
- SnapRealm *pparent;
- set<SnapRealm*> pchildren;
-
-private:
- SnapContext cached_snap_context; // my_snaps + parent snaps + past_parent_snaps
- friend ostream& operator<<(ostream& out, const SnapRealm& r);
-
-public:
- xlist<Inode*> inodes_with_caps;
-
- SnapRealm(inodeno_t i) :
- ino(i), nref(0), created(0), seq(0),
- pparent(NULL) { }
-
- void build_snap_context();
- void invalidate_cache() {
- cached_snap_context.clear();
- }
-
- const SnapContext& get_snap_context() {
- if (cached_snap_context.seq == 0)
- build_snap_context();
- return cached_snap_context;
- }
-
- void dump(Formatter *f) const;
-};
-
-inline ostream& operator<<(ostream& out, const SnapRealm& r) {
- return out << "snaprealm(" << r.ino << " nref=" << r.nref << " c=" << r.created << " seq=" << r.seq
- << " parent=" << r.parent
- << " my_snaps=" << r.my_snaps
- << " cached_snapc=" << r.cached_snap_context
- << ")";
-}
-
-#endif