]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
uclient: remove filer_flags and use Objecter::global_op_flags instead
authorGreg Farnum <gregory.farnum@dreamhost.com>
Mon, 28 Nov 2011 20:45:09 +0000 (12:45 -0800)
committerGreg Farnum <gregory.farnum@dreamhost.com>
Mon, 28 Nov 2011 20:52:51 +0000 (12:52 -0800)
Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
src/client/Client.cc
src/client/Client.h

index 2347f7ce984e854e287412fd6bff4d5b58019737..5fb95986fc0f18daa0758617e8f80f868d592445 100644 (file)
@@ -117,8 +117,7 @@ dir_result_t::dir_result_t(Inode *in)
 Client::Client(Messenger *m, MonClient *mc)
   : Dispatcher(m->cct), cct(m->cct), timer(m->cct, client_lock), 
     ino_invalidate_cb(NULL),
-    client_lock("Client::client_lock"),
-  filer_flags(0)
+    client_lock("Client::client_lock")
 {
   // which client am i?
   whoami = m->get_myname().num();
@@ -5176,7 +5175,7 @@ int Client::_read_sync(Fh *f, uint64_t off, uint64_t len, bufferlist *bl)
     
     int wanted = left;
     filer->read_trunc(in->ino, &in->layout, in->snapid,
-                     pos, left, &tbl, filer_flags,
+                     pos, left, &tbl, 0,
                      in->truncate_size, in->truncate_seq,
                      onfinish);
     while (!done)
@@ -5345,7 +5344,7 @@ int Client::_write(Fh *f, int64_t offset, uint64_t size, const char *buf)
     get_cap_ref(in, CEPH_CAP_FILE_BUFFER);  // released by onsafe callback
     
     filer->write_trunc(in->ino, &in->layout, in->snaprealm->get_snap_context(),
-                      offset, size, bl, ceph_clock_now(cct), filer_flags,
+                      offset, size, bl, ceph_clock_now(cct), 0,
                       in->truncate_size, in->truncate_seq,
                       onfinish, onsafe);
     
@@ -6924,11 +6923,13 @@ bool Client::ms_get_authorizer(int dest_type, AuthAuthorizer **authorizer, bool
 void Client::set_filer_flags(int flags)
 {
   Mutex::Locker l(client_lock);
-  filer_flags |= flags;
+  assert(flags == CEPH_OSD_FLAG_LOCALIZE_READS);
+  objecter->add_global_op_flags(flags);
 }
 
 void Client::clear_filer_flags(int flags)
 {
   Mutex::Locker l(client_lock);
-  filer_flags &= ~flags;
+  assert(flags == CEPH_OSD_FLAG_LOCALIZE_READS);
+  objecter->clear_global_op_flag(flags);
 }
index a30b73c16f02210b6d97c78258a1f9246a9dda5a..1afea3461d203ce9a521c7ee15e6e01805832164 100644 (file)
@@ -300,8 +300,6 @@ protected:
   //  - protects Client and buffer cache both!
   Mutex                  client_lock;
 
-  int filer_flags;
-
   // helpers
   void wake_inode_waiters(int mds);
   void wait_on_list(list<Cond*>& ls);