full_walk(sarg1);
break;
case SYNCLIENT_MODE_WRITEFILE:
- write_file(sarg1, iarg1);
+ write_file(sarg1, iarg1, iarg2);
break;
default:
assert(0);
-int SyntheticClient::write_file(string& fn, int size) // size is in MB
+int SyntheticClient::write_file(string& fn, int size, int wrsize) // size is in MB
{
- __uint64_t wrsize = 1024*256;
+ //__uint64_t wrsize = 1024*256;
char *buf = new char[wrsize]; // 1 MB
- __uint64_t chunks = (__uint64_t)size * (uint64_t)(1024*1024) / wrsize;
+ __uint64_t chunks = (__uint64_t)size * (uint64_t)(1024*1024) / (__uint64_t)wrsize;
int fd = client->open(fn.c_str(), O_WRONLY|O_CREAT);
dout(5) << "writing to " << fn << " fd " << fd << endl;
int full_walk(string& fromdir);
int random_walk(int n);
int make_dirs(const char *basedir, int dirs, int files, int depth);
- int write_file(string& fn, int mb);
+ int write_file(string& fn, int mb, int chunk);
+
};
#endif