]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
*** empty log message ***
authorsage <sage@29311d96-e01e-0410-9327-a35deaab8ce9>
Mon, 11 Jul 2005 18:36:38 +0000 (18:36 +0000)
committersage <sage@29311d96-e01e-0410-9327-a35deaab8ce9>
Mon, 11 Jul 2005 18:36:38 +0000 (18:36 +0000)
git-svn-id: https://ceph.svn.sf.net/svnroot/ceph@444 29311d96-e01e-0410-9327-a35deaab8ce9

ceph/client/Client.cc
ceph/client/SyntheticClient.cc

index 54652eb15bb4e4955c7fdb0ac0bba5e580eb5fe2..64680dec00d9c727571194dde0b9b36e32dce387 100644 (file)
@@ -1298,6 +1298,11 @@ int Client::read(fileh_t fh, char *buf, size_t size, off_t offset)
   client_lock.Lock();
 
   dout(7) << "read len: " << size << " off: " << offset << endl;
+  tout << "read" << endl;
+  tout << fh << endl;
+  tout << size << endl;
+  tout << offset << endl;
+
   assert(fh_map.count(fh));
   Fh *f = fh_map[fh];
   Inode *in = f->inode;
@@ -1436,6 +1441,10 @@ int Client::write(fileh_t fh, const char *buf, size_t size, off_t offset)
   client_lock.Lock();
 
   dout(7) << "write fh " << fh << " size " << size << " offset " << offset << endl;
+  tout << "write" << endl;
+  tout << fh << endl;
+  tout << size << endl;
+  tout << offset << endl;
 
   assert(fh_map.count(fh));
   Fh *f = fh_map[fh];
index cfb1780f067d5ab8af306e9eb389724628009efe..0198de572fea7bd048d7015fbb45c57231beed87 100644 (file)
@@ -349,6 +349,22 @@ int SyntheticClient::play_trace(Trace& t, string& prefix)
          const char *a = t.get_string(p);
          __int64_t b = t.get_int();
          client->truncate(a,b);
+       } else if (strcmp(op, "read") == 0) {
+         __int64_t id = t.get_int();
+         __int64_t fh = open_files[id];
+         int size = t.get_int();
+         int off = t.get_int();
+         char *buf = new char[size];
+         client->read(fh, buf, size, off);
+         delete buf;
+       } else if (strcmp(op, "write") == 0) {
+         __int64_t id = t.get_int();
+         __int64_t fh = open_files[id];
+         int size = t.get_int();
+         int off = t.get_int();
+         char *buf = new char[size];
+         client->write(fh, buf, size, off);
+         delete buf;
        } else if (strcmp(op, "fsync") == 0) {
          assert(0);
        } else