]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
Merge PR #42762 into master
authorSage Weil <sage@newdream.net>
Tue, 2 Nov 2021 15:41:53 +0000 (11:41 -0400)
committerSage Weil <sage@newdream.net>
Tue, 2 Nov 2021 15:41:53 +0000 (11:41 -0400)
* refs/pull/42762/head:
ceph_test_objectstore: skip BlueStoreUnshareBlobTest with SMR
os/bluestore: debug ExtentMap::update()
os/bluestore: _txc_create inside of alloc_and_submit_lock
os/bluestore: fix cleaner race with collection removal
os/bluestore: add missing ' ' to LruOnodeCacheShare _[un]pin
os/bluestore: use simpler map<> to track (onode, zone) -> offset
os/bluestore: avoid casting zoned implementations again
os/bluestore/ZonedFreelistManager: remove sanity checks
os/bluestore/ZonedAllocator: fix allocate() search
os/bluestore: drain transactions on cleaner zone finish
os/bluestore/ZonedFreelistManager: simplify freelist merge update vs zone reset
os/bluetore: configurable sleep period for cleaner
blk/zoned: make discard a no-op
os/bluestore/ZonedAllocator: count sequential only as 'free'
os/bluestore: expect smr fields IFF device is smr
ceph_test_objectstore: Test for fixing write pointer
ceph_test_objectstore: complain if SMR support not compiled in
test/objectstore/run_smr_bluestore_test.sh
os/bluestore/ZonedAllocator: handle alloc/release spanning zones
os/bluestore: simple cleaner
os/bluestore: be smarter about picking a zone to clean
os/bluestore: avoid writes to cleaning zone
os/bluestore/HybridAllocator: whitespace in debug output
os/bluestore: give conventional region of SMR to bluefs
os/bluestore: separate alloc pointer from shared_alloc.a
test/objectstore/run_smr_bluestore_test.sh
ceph_test_objectstore: skip tests that don't work on SMR
os/bluestore: disable cleaner thread until it is implemented
os/bluestore: fsck verify zone refs
os/bluestore: include object in zone ref keys
os/bluestore: refactor object key helpers a bit
ceph_test_objectstore: skip failing tests on SMR
os/bluestore: report mismatch write pointer during fsck
os/bluestore: simplify zone to clean selection
ceph_test_objectstore: add trivial fsck test
os/bluestore: fsck smr allocations (verify num_dead_bytes, alloc past write pointer)
os/bluestore: duplicate zone refs when cloning
os/bluestore: correct zoned freelist when device write pointers are ahead
os/bluestore/ZonedFreelistManager: whitespace
os/bluestore: fix startup vs device write pointers
blk/zoned: add get_zones() to fetch write pointers
os/bluestore: use 64 bit values for zone_state_t
os/bluestore: reimplement zone backrefs
os/bluestore: fix smr allocator init
os/bluestore: do not use null freelist with SMR
blk/zones: implement HMSMRDevice has KernelDevice child
os/bluestore: fix/simplify zoned_cleaner thread start error handling
os/bluestore: properly reset zoned allocator on startup
os/bluestore: force prefer_deferred_size=0 for smr
os/bluestore: drop SMR 64K min_alloc_size restriction
os/bluestore/ZonedAllocator: less verbose
os/bluestore/ZonedAllocator: simplify debug output prefix
os/bluestore/ZonedAllocator: be consistent with hex debug output
os/bluestore/ZonedAllocator: whitespace
blk/zoned: remove dead VDO code
blk/zoned: add reset_all_zones()
blk/zoned: print error during init
os/bluestore: adjust allocator+freelist interfaces for smr params
os/bluestore: select 'zoned' freelistmanager during mkfs, not mount

Reviewed-by: Igor Fedotov <ifedotov@suse.com>
1  2 
src/common/options/global.yaml.in
src/os/bluestore/BlueStore.cc
src/test/objectstore/store_test.cc

Simple merge
index bab1b77e310a3dd889775ea6f713ef1261189e2f,d87764c00b73c86203e12a20d21d2a3a23410a93..0a215eefefd80dc819f96be1c0ece75a3e4bf33e
@@@ -6728,13 -6919,25 +6920,29 @@@ int BlueStore::mkfs(
      }
      {
        bufferlist bl;
 -      bl.append(stringify(OMAP_PER_PG));
 +      if (cct->_conf.get_val<bool>("bluestore_debug_legacy_omap")) {
 +      bl.append(stringify(OMAP_BULK));
 +      } else {
 +      bl.append(stringify(OMAP_PER_PG));
 +      }
        t->set(PREFIX_SUPER, "per_pool_omap", bl);
      }
+ #ifdef HAVE_LIBZBD
+     if (bdev->is_smr()) {
+       {
+       bufferlist bl;
+       encode((uint64_t)zone_size, bl);
+       t->set(PREFIX_SUPER, "zone_size", bl);
+       }
+       {
+       bufferlist bl;
+       encode((uint64_t)first_sequential_zone, bl);
+       t->set(PREFIX_SUPER, "first_sequential_zone", bl);
+       }
+     }
+ #endif
+     
      ondisk_format = latest_ondisk_format;
      _prepare_ondisk_format_super(t);
      db->submit_transaction_sync(t);
Simple merge