]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
osdc: remove journaler_allow_split_entries option
authorJohn Spray <john.spray@redhat.com>
Wed, 19 Apr 2017 10:09:55 +0000 (11:09 +0100)
committerJohn Spray <john.spray@redhat.com>
Wed, 19 Apr 2017 10:41:28 +0000 (11:41 +0100)
This had been broken for some time, as since the new
JournalStream stuff, zero padding was no longer a valid
encoding.

Fixes: http://tracker.ceph.com/issues/19691
Signed-off-by: John Spray <john.spray@redhat.com>
PendingReleaseNotes
doc/cephfs/journaler.rst
src/common/config_opts.h
src/osdc/Journaler.cc

index 3a27fdd7895b1fa416e1a48809c9dcbbbd3ef84a..d02f8f342e7517c10f2325cd47f2c43c20400827 100644 (file)
@@ -30,6 +30,7 @@
   to zero will effectively disable the health check.
 * The "ceph mds tell ..." command has been removed.  It is superceded
   by "ceph tell mds.<id> ..."
+* The "journaler allow split entries" config setting has been removed.
 
 12.0.0
 ------
index 1e1d0bf0110594dbabcde851e77d870ec8ae02f7..c90217f96e2b26342c14fa846fecc59a8814d5ab 100644 (file)
@@ -2,14 +2,6 @@
  Journaler
 ===========
 
-``journaler allow split entries``
-
-:Description: Allow an entry to span a stripe boundary
-:Type: Boolean
-:Required: No
-:Default: ``true``
-
-
 ``journaler write head interval``
 
 :Description: How frequently to update the journal head object
index 4c7d9da7f1e2918b8d37d2745482fee72a84c699..817192c57d84c12a47dbc1b544bb8014ff977e41 100644 (file)
@@ -488,7 +488,6 @@ OPTION(objecter_debug_inject_relock_delay, OPT_BOOL, false)
 // Max number of deletes at once in a single Filer::purge call
 OPTION(filer_max_purge_ops, OPT_U32, 10)
 
-OPTION(journaler_allow_split_entries, OPT_BOOL, true)
 OPTION(journaler_write_head_interval, OPT_INT, 15)
 OPTION(journaler_prefetch_periods, OPT_INT, 10)   // * journal object size
 OPTION(journaler_prezero_periods, OPT_INT, 5)     // * journal object size
index 978511ca0dfb9f36450c17566847dec9083a15a5..8aa1029b26d057e9ebbb09f1157addfd90162c38 100644 (file)
@@ -542,41 +542,6 @@ uint64_t Journaler::append_entry(bufferlist& bl)
   assert(!readonly);
   uint32_t s = bl.length();
 
-  if (!cct->_conf->journaler_allow_split_entries) {
-    // will we span a stripe boundary?
-    int p = layout.stripe_unit;
-    if (write_pos / p != (write_pos + (int64_t)(bl.length() + sizeof(s))) / p) {
-      // yes.
-      // move write_pos forward.
-      int64_t owp = write_pos;
-      write_pos += p;
-      write_pos -= (write_pos % p);
-
-      // pad with zeros.
-      bufferptr bp(write_pos - owp);
-      bp.zero();
-      assert(bp.length() >= 4);
-      if (!write_buf_throttle.get_or_fail(bp.length())) {
-        l.unlock();
-        ldout(cct, 10) << "write_buf_throttle wait, bp len " 
-                       << bp.length() << dendl;
-        write_buf_throttle.get(bp.length());
-        l.lock();
-      }
-      ldout(cct, 20) << "write_buf_throttle get, bp len " 
-                     << bp.length() << dendl;
-      write_buf.push_back(bp);
-
-      // now flush.
-      flush();
-
-      ldout(cct, 12) << "append_entry skipped " << (write_pos-owp)
-                    << " bytes to " << write_pos
-                    << " to avoid spanning stripe boundary" << dendl;
-    }
-  }
-
-
   // append
   size_t delta = bl.length() + journal_stream.get_envelope_size();
   // write_buf space is nearly full