------- Comment From tuan.hoa...@ibm.com 2020-05-25 11:40 EDT------- Hi, As of today the kernel 5.4.0.33.37-38 in focal-proposed doesn't seem to have this patch pulled in.
It seems it was only pulled in master-next branch this morning : https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/focal/commit/fs/ceph?h=master-next&id=f86b72f1b8b399e456e84151f3bfe0ad7cabe29d Talked briefly with Frank on IRC, Frank also thinks that the patch didn't make it. He is helping on this. Thanks Frank. -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1875863 Title: ceph -- Unable to mount ceph volume on s390x Status in Ubuntu on IBM z Systems: Fix Committed Status in linux package in Ubuntu: In Progress Status in linux source package in Focal: Fix Committed Status in linux source package in Groovy: In Progress Bug description: SRU Justification: ================== [Impact] * Unable to mount ceph volumes on big endian systems, like s390x. * The mount operation always fails with an IO error. * This is caused by an endiness issue in function handle_session where variable features is always little endian. * But test_bit assumes the host order of bytes, hence causes a problem on big endian systems. [Fix] * 0fa8263367db9287aa0632f96c1a5f93cc478150 0fa8263367db "ceph: fix endianness bug when handling MDS session feature bits" [Test Case] * Setup ceph on s390x. * Try to mount a ceph volume. * If it mounts correctly the patch is applied and working. * Without the patch a mount always fails on big endian / s390x. [Regression Potential] * There is regression potential with having code changes in ceph's session handler, which is common code. * However, the patch was accepted (slightly changed) by the ceph maintainers and with that got upstream accepted, too. * The patch is fairly limited (5 lines removed, 3 added), hence the changes are quite traceable. __________ When mounting a ceph volume, mount operation fails with an IO error. The problem is always reproducible. Identified potential root cause as kernel endian bug: In the function handle_session() variable @features always contains little endian order of bytes. Just because The feature mask sent by the MDS is little-endian (bits are packed bytewise from left to right in encode_supported_features()). However, test_bit(), called to check features availability, assumes the host order of bytes in that variable. This leads to problems on big endian architectures. Specifically it is impossible to mount ceph volume on s390. A fixup was proposed to convert little-endian order of bytes to the host one. That fixup was modified by ceph maintainers to use existing unpacking means for the conversion. The resulted patch attached. Related discussion in the ceph-development mailing list: https://marc.info/?l=ceph-devel&m=158815357301332&w=2 To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu-z-systems/+bug/1875863/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp