AttrGenerator attr_gen;
const bool no_omap;
bool pool_snaps;
+ bool write_fadvise_dontneed;
int snapname_num;
RadosTestContext(const string &pool_name,
uint64_t max_stride_size,
bool no_omap,
bool pool_snaps,
+ bool write_fadvise_dontneed,
const char *id = 0) :
state_lock("Context Lock"),
pool_obj_cont(),
attr_gen(2000, 20000),
no_omap(no_omap),
pool_snaps(pool_snaps),
+ write_fadvise_dontneed(write_fadvise_dontneed),
snapname_num(0)
{
}
rados.shutdown();
return r;
}
+ bufferlist inbl;
+ r = rados.mon_command(
+ "{\"prefix\": \"osd pool set\", \"pool\": \"" + pool_name +
+ "\", \"var\", \"write_fadvise_dontneed\", \"val\": \"" + (write_fadvise_dontneed ? "true" : "false") + "\"}",
+ inbl, NULL, NULL);
+ if (r < 0) {
+ rados.shutdown();
+ return r;
+ }
char hostname_cstr[100];
gethostname(hostname_cstr, 100);
stringstream hostpid;
int64_t min_stride_size = -1, max_stride_size = -1;
int max_seconds = 0;
bool pool_snaps = false;
+ bool write_fadvise_dontneed = false;
struct {
TestOpType op;
no_omap = true;
else if (strcmp(argv[i], "--pool-snaps") == 0)
pool_snaps = true;
+ else if (strcmp(argv[i], "--write-fadvise-dontneed") == 0)
+ write_fadvise_dontneed = true;
else if (strcmp(argv[i], "--ec-pool") == 0) {
if (!op_weights.empty()) {
cerr << "--ec-pool must be specified prior to any ops" << std::endl;
max_stride_size,
no_omap,
pool_snaps,
+ write_fadvise_dontneed,
id);
TestOpStat stats;