Verification done on Eoan.
The gfs2_jadd i386 command on amd64 kernel no longer fails with ENOTTY upfront.

# lsb_release -cs
eoan

# dpkg --print-architecture 
i386

# uname -m
x86_64

# uname -rv
5.3.0-40-generic #32-Ubuntu SMP Fri Jan 31 20:24:34 UTC 2020

# apt-cache madison linux-image-5.3.0-40-generic
linux-image-5.3.0-40-generic:amd64 | 5.3.0-40.32 | 
http://archive.ubuntu.com/ubuntu eoan-proposed/main amd64 Packages

# apt install -y gfs2-utils corosync dlm-controld linux-modules-
extra-$(uname -r)

# corosync-quorumtool -e 1
# systemctl restart dlm.service

# DISK=disk.img
# dd if=/dev/zero of=$DISK bs=1M count=128 2>&1
# LOOP=$(losetup --find --show $DISK)

# mkfs.gfs2 -p lock_dlm -t debian:test -J 32 -j 2 -O $LOOP
# mount $LOOP /mnt

# gfs2_jadd -j 1 /mnt
add_j: No space left on device


** Tags removed: verification-needed-eoan
** Tags added: verification-done-eoan

-- 
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/1859827

Title:
  debian/tests/corosync: gfs2_jadd fails with ENOTTY for i386 package on
  amd64 kernel

Status in gfs2-utils package in Ubuntu:
  Invalid
Status in linux package in Ubuntu:
  Fix Committed
Status in gfs2-utils source package in Eoan:
  Invalid
Status in linux source package in Eoan:
  Fix Committed
Status in gfs2-utils source package in Focal:
  Invalid
Status in linux source package in Focal:
  Fix Committed

Bug description:
  [Impact]

   * The gfs2_jadd command (used in debian/tests/corosync)
     fails with ENOTTY ("Inappropriate ioctl for device")
     when the i386 packages are run on an amd64 kernel.

   * The i386 kernel is gone, only amd64 is available.

   * The fix introduces the compat ioctl()s for gfs2,
     which landed in v5.5-rc1 thus not in Eoan/Focal.

  [Test Case]

   * The test steps are detailed in comment #2
     based on gfs2-utils:debian/tests/corosync,
     modified to be simpler and to fail either
     with ENOTTY (failure) or ENOSPC (success).

  [Regression Potential]

   * The previous surface for this problem is
     likely low, as i386 arch installs (which
     is not as popular/widely used as amd64
     nowadays) probably used the i386 kernel.

   * The amd64-only kernel version released
     is 5.3.0-17.18 dated 2019-10-10; gives
     ~3 month window to mid January 2020.

   * So, behavior changes could theoretically
     be seen on i386 installs with the newer
     kernel which is amd64-only, where gfs2-utils
     failed with ENOTTY and now is working fine
     or failing differently (e.g. see test-case).

  [Original Description]

  The gfs2_jadd command (used in debian/tests/corosync)
  fails with ENOTTY ("Inappropriate ioctl for device")
  when the i386 packages are run on an amd64 kernel.

  The i386 kernel has gone away, only amd64 is available:

  - The i386 kernel build is dropped as of 5.3.0-15.16:
    * Drop i386 build for 19.10 (LP: #1845714)

  - Only linux-libc-dev:i386 is still built as of 5.3.0-17.18
    * Re-enable linux-libc-dev build on i386 (LP: #1846508)

  The last passing autopkgtests for gfs2-utils:i386 are on 5.3.0-13.14 built 
for i386.
  The same kernel version built for amd64 _fails_.
  (so it's potentially user/kernel interface, or kernel-only.)

  - i386/i686)

  # uname -rvm
  5.3.0-13-generic #14-Ubuntu SMP Tue Sep 24 02:43:47 UTC 2019 i686

  root@sf256930ei:~# gfs2_jadd -j 1 /mnt
  Filesystem: /mnt
  Old journals: 2
  New journals: 3

  - amd64/x86_64)

  # uname -rvm
  5.3.0-13-generic #14-Ubuntu SMP Tue Sep 24 02:46:08 UTC 2019 x86_64

  # gfs2_jadd -j 1 /mnt
  GETFLAGS: Inappropriate ioctl for device

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gfs2-utils/+bug/1859827/+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

Reply via email to