]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
Merge pull request #23103 from ifed01/wip-ifed-bluefs-migrate
authorKefu Chai <tchaikov@gmail.com>
Mon, 22 Oct 2018 14:33:08 +0000 (22:33 +0800)
committerGitHub <noreply@github.com>
Mon, 22 Oct 2018 14:33:08 +0000 (22:33 +0800)
os/bluestore: allow ceph-bluestore-tool to coalesce, add and migrate BlueFS backing volumes

Reviewed-by: Sage Weil <sage@redhat.com>
1  2 
src/os/bluestore/BlueFS.cc
src/os/bluestore/BlueFS.h
src/os/bluestore/BlueStore.cc
src/os/bluestore/BlueStore.h

Simple merge
index f27c2f3af2991b62db71e675ececd6aa9fe176a6,9043634c8c9985dc36c13ee0f04ab1012f20c0de..3f555c2a4980d53d2af51037e317d639537bd27e
@@@ -273,9 -275,12 +275,12 @@@ private
  
    int _allocate(uint8_t bdev, uint64_t len,
                bluefs_fnode_t* node);
+   int _allocate_without_fallback(uint8_t id, uint64_t len,
+                                PExtentVector* extents);
    int _flush_range(FileWriter *h, uint64_t offset, uint64_t length);
    int _flush(FileWriter *h, bool force);
 -  int _fsync(FileWriter *h, std::unique_lock<std::mutex>& l);
 +  int _fsync(FileWriter *h, std::unique_lock<ceph::mutex>& l);
  
  #ifdef HAVE_LIBAIO
    void _claim_completed_aios(FileWriter *h, list<aio_t> *ls);
                          uint64_t jump_to = 0);
    uint64_t _estimate_log_size();
    bool _should_compact_log();
-   void _compact_log_dump_metadata(bluefs_transaction_t *t);
+   enum {
+     REMOVE_DB = 1,
+     REMOVE_WAL = 2,
+     RENAME_SLOW2DB = 4,
+     RENAME_DB2SLOW = 8,
+   };
+   void _compact_log_dump_metadata(bluefs_transaction_t *t,
+                                 int flags);
    void _compact_log_sync();
 -  void _compact_log_async(std::unique_lock<std::mutex>& l);
 +  void _compact_log_async(std::unique_lock<ceph::mutex>& l);
  
+   void _rewrite_log_sync(bool allocate_with_fallback,
+                        int super_dev,
+                        int log_dev,
+                        int new_log_dev,
+                        int flags);
    //void _aio_finish(void *priv);
  
    void _flush_bdev_safely(FileWriter *h);
Simple merge
Simple merge