Hmm. I can review these, but I don't currently have rights to apply to bcache-tools. Who's been maintaining these? I'm glad to take it on... Mike On 03/15/2018 03:42 AM, Coly Li wrote: > Recently I recieve a bug report that bcache does not work on IBM s390x, > I find the problem is from endianness support and checksum calculation. > > Both user space tools and Linux kernel code should be fixed, this patch > set is the modification to user space tools. > > Ideas of this patch set are, > 1, super block members should be swapped to little endian before writting > down to media. > 2, super block members should be explicitly swapped to little endian > before calculate checksum. > 3, checksum also should be swapped to little endian before writiting down > to media. > 4, checksum is checked before super block members being swapped into CPU > byteorder. > > The first 3 patches are preparation and the last patch does big endian > support. > > NOTE: Linux kernel code also needs to be patched, this patch set just > makes new created bcache devices in a correct byte order. > > Coly Li > --- > > Coly Li (4): > bcache-tools: change bcache.c:crc64() to non-inline function > bcache-tools: only set/display sb.bucket_size for cache devices > bcache-tools: print more super block information in bcache-super-show > bcache-tools: add CPU endianness support > > bcache-super-show.c | 52 +++++++++++++++++++++----------- > bcache.c | 75 ++++++++++++++++++++++++++++++++++++++++++++- > bcache.h | 19 +++++++++--- > byteorder.h | 87 +++++++++++++++++++++++++++++++++++++++++++++++++++++ > make-bcache.c | 5 +-- > 5 files changed, 212 insertions(+), 26 deletions(-) > create mode 100644 byteorder.h >