Whamcloud - gitweb
LU-14596 ldiskfs: Fix mounting issues for newer kernels 60/45960/3
authorJames Simmons <jsimmons@infradead.org>
Sun, 2 Jan 2022 20:50:44 +0000 (13:50 -0700)
committerOleg Drokin <green@whamcloud.com>
Tue, 18 Jan 2022 09:09:41 +0000 (09:09 +0000)
commit32c4b80192652f55bcef5786e4ec683e85234c04
treea1323e734cf30f0941441790438b6bb9fc4ed601
parentfaf057b46bc770a1a69cacd59e65a40a4b18b9fd
LU-14596 ldiskfs: Fix mounting issues for newer kernels

During 2.15 development cycle project quotas was enabled by
default which broke mounting ldiskfs for Ubuntu20 5.4 and
5.8 kernels. The following error showed up:

LDISKFS-fs warning (device loop0): ldiskfs_enable_quotas:6118:
  Failed to enable quota tracking (type=0, err=-3). Please run
  e2fsck to fix.

This was due to Ubuntu20 kernels compiling their quota support
as modules but distributing those modules in the package
linux-modules-extra-$(uname) which is not installed by default.
For debian packaging include the dependency 'linux-generic' that
should install the needed package.

The next problem noticed while debugging is the wrong value
value for EXT4_MOUNT_DIRDATA with newer kernels. The current
value used is a combo of EXT4_MOUNT_QUOTA and EXT4_MOUNT_BARRIER
which is wrong. Set EXT4_MOUNT_DIRDATA to the proper value of
0x0002.

Change-Id: I17a9008edb9ded348bda3a2bf137bb23f9e8b980
Signed-off-by: James Simmons <jsimmons@infradead.org>
Reviewed-on: https://review.whamcloud.com/45960
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Yang Sheng <ys@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Li Dongyang <dongyangli@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
debian/control
debian/control.main
debian/control.modules.in
ldiskfs/kernel_patches/patches/linux-5.4/ext4-data-in-dirent.patch
ldiskfs/kernel_patches/patches/linux-5.8/ext4-data-in-dirent.patch
ldiskfs/kernel_patches/patches/rhel8.4/ext4-data-in-dirent.patch
ldiskfs/kernel_patches/patches/ubuntu18/ext4-data-in-dirent.patch