]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw file: allow RGWLibFS::write_completion_interval_s to be set in conf
authorMatt Benjamin <mbenjamin@redhat.com>
Wed, 17 Aug 2016 15:24:01 +0000 (11:24 -0400)
committerMatt Benjamin <mbenjamin@redhat.com>
Wed, 17 Aug 2016 17:53:49 +0000 (13:53 -0400)
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
src/common/config_opts.h
src/rgw/librgw.cc
src/rgw/rgw_file.cc
src/rgw/rgw_file.h

index cf70130283ecffda06484f154a71ebb5be6774ee..47cb943057486b3687fe7f6660b6c91eede54451 100644 (file)
@@ -1366,6 +1366,9 @@ OPTION(rgw_nfs_lru_lanes, OPT_INT, 5)
 OPTION(rgw_nfs_lru_lane_hiwat, OPT_INT, 911)
 OPTION(rgw_nfs_fhcache_partitions, OPT_INT, 3)
 OPTION(rgw_nfs_fhcache_size, OPT_INT, 2017) /* 3*2017=6051 */
+OPTION(rgw_nfs_write_completion_interval_s, OPT_INT, 10) /* stateless (V3)
+                                                         * commit
+                                                         * delay */
 
 OPTION(rgw_zone, OPT_STR, "") // zone name
 OPTION(rgw_zone_root_pool, OPT_STR, ".rgw.root")    // pool where zone specific info is stored
index 79a302dc37191b01a08cf38f86b2520ec94d1534..7cb365cfc55b0b7be89b382f235187c18ff1d0f4 100644 (file)
@@ -82,6 +82,10 @@ namespace rgw {
 
   void RGWLibProcess::run()
   {
+    /* write completion interval */
+    RGWLibFS::write_completion_interval_s =
+      cct->_conf->rgw_nfs_write_completion_interval_s;
+
     /* start write timer */
     RGWLibFS::write_timer.resume();
 
index e58dd0653945f9c3036e52f1436545939d48ad5c..2741d838cd6559751c151d7c8fc695c1cacedf00 100644 (file)
@@ -38,6 +38,8 @@ namespace rgw {
 
   atomic<uint32_t> RGWLibFS::fs_inst;
 
+  uint32_t RGWLibFS::write_completion_interval_s = 10;
+
   ceph::timer<ceph::mono_clock> RGWLibFS::write_timer{
     ceph::construct_suspended};
 
@@ -815,7 +817,8 @@ namespace rgw {
          /* start write timer */
          f->write_req->timer_id =
            RGWLibFS::write_timer.add_event(
-             std::chrono::seconds(10), WriteCompletion(*this));
+             std::chrono::seconds(RGWLibFS::write_completion_interval_s),
+             WriteCompletion(*this));
        }
       }
     }
index 3552e9134c49614988605fa11c500018dcdc58b6..d5ccc3a3ecb4adccea0cfc9861a4c72388b0ac48 100644 (file)
@@ -712,6 +712,7 @@ namespace rgw {
     RGWAccessKey key; // XXXX acc_key
 
     static atomic<uint32_t> fs_inst;
+    static uint32_t write_completion_interval_s;
     std::string fsid;
 
     using lock_guard = std::lock_guard<std::mutex>;