*px = xattrs;
projected_nodes.back()->dir_layout = default_layout;
} else {
- default_file_layout *last_dl = projected_nodes.back()->dir_layout;
+ file_layout_policy_t *last_dl = projected_nodes.back()->dir_layout;
projected_nodes.push_back(new projected_inode_t(
new inode_t(*projected_nodes.back()->inode)));
if (px)
::decode(default_layout_exists, p);
if (default_layout_exists) {
delete default_layout;
- default_layout = new default_file_layout;
+ default_layout = new file_layout_policy_t;
decode(*default_layout, p);
}
}
//bool hack_accessed;
//utime_t hack_load_stamp;
- default_file_layout *default_layout;
+ file_layout_policy_t *default_layout;
/**
* Projection methods, used to store inode changes until they have been journaled,
inode_t *inode;
map<string,bufferptr> *xattrs;
sr_t *snapnode;
- default_file_layout *dir_layout;
+ file_layout_policy_t *dir_layout;
projected_inode_t() : inode(NULL), xattrs(NULL), snapnode(NULL), dir_layout(NULL) {}
projected_inode_t(inode_t *in, sr_t *sn) : inode(in), xattrs(NULL), snapnode(sn),
dir_layout(NULL) {}
projected_inode_t(inode_t *in, map<string, bufferptr> *xp = NULL, sr_t *sn = NULL,
- default_file_layout *dl = NULL) :
+ file_layout_policy_t *dl = NULL) :
inode(in), xattrs(xp), snapnode(sn), dir_layout(dl) {}
};
list<projected_inode_t*> projected_nodes; // projected values (only defined while dirty)
::decode(default_layout_exists, bl);
if (default_layout_exists) {
delete default_layout;
- default_layout = new default_file_layout;
+ default_layout = new file_layout_policy_t;
::decode(*default_layout, bl);
}
}
::decode(default_layout_exists, p);
if (default_layout_exists) {
delete default_layout;
- default_layout = new default_file_layout;
+ default_layout = new file_layout_policy_t;
::decode(*default_layout, p);
}
}
CInode *MDCache::create_root_inode()
{
CInode *i = create_system_inode(MDS_INO_ROOT, S_IFDIR|0755);
- i->default_layout = new struct default_file_layout;
+ i->default_layout = new struct file_layout_policy_t;
i->default_layout->layout = default_file_layout;
i->default_layout->layout.fl_pg_pool = mds->mdsmap->get_first_data_pool();
return i;
return;
// validate layout
- default_file_layout *layout = new default_file_layout;
+ file_layout_policy_t *layout = new file_layout_policy_t;
if (cur->get_projected_dir_layout())
layout->layout = *cur->get_projected_dir_layout();
else if (dir_layout)
return;
}
- default_file_layout *dlayout = new default_file_layout;
+ file_layout_policy_t *dlayout = new file_layout_policy_t;
if (cur->get_projected_dir_layout())
dlayout->layout = *cur->get_projected_dir_layout();
else if (dir_layout)
string symlink;
bufferlist snapbl;
bool dirty;
- struct default_file_layout *dir_layout;
+ struct file_layout_policy_t *dir_layout;
typedef map<snapid_t, old_inode_t> old_inodes_t;
old_inodes_t old_inodes;
fullbit(const string& d, snapid_t df, snapid_t dl,
version_t v, inode_t& i, fragtree_t &dft,
map<string,bufferptr> &xa, const string& sym,
- bufferlist &sbl, bool dr, default_file_layout *defl = NULL,
+ bufferlist &sbl, bool dr, file_layout_policy_t *defl = NULL,
old_inodes_t *oi = NULL) :
//dn(d), dnfirst(df), dnlast(dl), dnv(v),
//inode(i), dirfragtree(dft), xattrs(xa), symlink(sym), snapbl(sbl), dirty(dr)
bool dir_layout_exists;
::decode(dir_layout_exists, bl);
if (dir_layout_exists) {
- dir_layout = new default_file_layout;
+ dir_layout = new file_layout_policy_t;
::decode(*dir_layout, bl);
}
}
//cout << "journaling " << in->inode.ino << " at " << my_offset << std::endl;
inode_t *pi = in->get_projected_inode();
- default_file_layout *default_layout = NULL;
+ file_layout_policy_t *default_layout = NULL;
if (in->is_dir())
default_layout = (in->get_projected_node() ?
in->get_projected_node()->dir_layout :
if (!pdft) pdft = &in->dirfragtree;
if (!px) px = &in->xattrs;
- default_file_layout *default_layout = NULL;
+ file_layout_policy_t *default_layout = NULL;
if (in->is_dir())
default_layout = (in->get_projected_node() ?
in->get_projected_node()->dir_layout :
#include "common/Formatter.h"
/*
- * default_file_layout
+ * file_layout_policy_t
*/
-void default_file_layout::encode(bufferlist &bl) const
+void file_layout_policy_t::encode(bufferlist &bl) const
{
ENCODE_START(2, 2, bl);
::encode(layout, bl);
ENCODE_FINISH(bl);
}
-void default_file_layout::decode(bufferlist::iterator& bl)
+void file_layout_policy_t::decode(bufferlist::iterator& bl)
{
DECODE_START_LEGACY_COMPAT_LEN(2, 2, 2, bl);
::decode(layout, bl);
f->dump_unsigned("pg_pool", l.fl_pg_pool);
}
-void default_file_layout::dump(Formatter *f) const
+void file_layout_policy_t::dump(Formatter *f) const
{
::dump(layout, f);
}
-void default_file_layout::generate_test_instances(list<default_file_layout*>& ls)
+void file_layout_policy_t::generate_test_instances(list<file_layout_policy_t*>& ls)
{
- ls.push_back(new default_file_layout);
- ls.push_back(new default_file_layout);
+ ls.push_back(new file_layout_policy_t);
+ ls.push_back(new file_layout_policy_t);
ls.back()->layout.fl_stripe_unit = 1024;
ls.back()->layout.fl_stripe_count = 2;
ls.back()->layout.fl_object_size = 2048;
* Default file layout stuff. This lets us set a default file layout on
* a directory inode that all files in its tree will use on creation.
*/
-struct default_file_layout {
+struct file_layout_policy_t {
ceph_file_layout layout;
- default_file_layout() {
+ file_layout_policy_t() {
memset(&layout, 0, sizeof(layout));
}
void encode(bufferlist &bl) const;
void decode(bufferlist::iterator& bl);
void dump(Formatter *f) const;
- static void generate_test_instances(list<default_file_layout*>& ls);
+ static void generate_test_instances(list<file_layout_policy_t*>& ls);
};
-WRITE_CLASS_ENCODER(default_file_layout);
+WRITE_CLASS_ENCODER(file_layout_policy_t);
struct scatter_info_t {
TYPE(sr_t)*/
#include "mds/mdstypes.h"
-TYPE(default_file_layout)
+TYPE(file_layout_policy_t)
TYPE(frag_info_t)
#ifdef WITH_RADOSGW