This series is the first effort to support NVDIMM for bcache: store journal meta data on nvdimm namespace. With this series, a NVDIMM namespace can be formatted as a bcache meta device with '-M' option. This meta device can be shared among multiple cache sets. Except for adding BCH_FEATURE_INCOMPAT_NVDIMM_META to incompatible feature set, there is no on-disk layout change for supporting NVDIMM. A new super block format struct bch_nvm_pages_sb is introduced for the NVDIMM meta-data device, it might be changed time-to-time before the EXPERIMENTAL removed from Linux kernel code. This series is just enough to make things work, more changes will follow up to make more improvement later. Coly Li --- Coly Li (6): bcache-tools: add initial data structures for nvm_pages bcache-tools: reduce parameters of write_sb() bcache-tools: add BCH_FEATURE_INCOMPAT_NVDIMM_META to incompatible feature set bcache-tools: move super block info display routines into show.c bcache-tools: write nvm namespace super block on nvdimm bcache-tools: support "bcache show -d" for nvdimm-meta device Makefile | 2 +- bcache-super-show.c | 24 ---- bcache.c | 289 +-------------------------------------- bcache.h | 7 +- features.c | 2 + lib.c | 158 +++++++++++++++++++--- lib.h | 28 +++- make.c | 244 +++++++++++++++++++++++++++++---- nvm_pages.h | 187 ++++++++++++++++++++++++++ show.c | 321 ++++++++++++++++++++++++++++++++++++++++++++ show.h | 10 ++ 11 files changed, 917 insertions(+), 355 deletions(-) create mode 100644 nvm_pages.h create mode 100644 show.c create mode 100644 show.h -- 2.26.2