LU-10026 osd-ldiskfs: use preallocation for dense writes use inode's preallocation chunks as per-inode group preallocation: just grab the very first available blocks from the window. Test-Parameters: env=ONLY=1000,ONLY_REPEAT=11 testlist=sanity-compr Test-Parameters: env=ONLY=fsx,ONLY_REPEAT=11 testlist=sanity-compr Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com> Change-Id: I9d36701f569f4c6305bc46f3373bfc054fcd61a9 Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/50171 Tested-by: jenkins <devops@whamcloud.com> Tested-by: Maloo <maloo@whamcloud.com> Reviewed-by: Andreas Dilger <adilger@whamcloud.com> Reviewed-by: Artem Blagodarenko <ablagodarenko@ddn.com> Reviewed-by: Oleg Drokin <green@whamcloud.com>
LU-17486 ldiskfs: fix race in ext4_destroy_inode ext4_i_callback() can race with the access to i_reserved_data_blocks in ext4_destroy_inode() when used with preemption-enabled kernel. Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com> Change-Id: I69c6bcfbb24e6c07d28ebcd2bdd9d9e6f06ec8d1 Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/53868 Tested-by: jenkins <devops@whamcloud.com> Tested-by: Maloo <maloo@whamcloud.com> Reviewed-by: Andreas Dilger <adilger@whamcloud.com> Reviewed-by: Li Dongyang <dongyangli@ddn.com> Reviewed-by: Neil Brown <neilb@suse.de> Reviewed-by: Oleg Drokin <green@whamcloud.com>
LU-17131 ldiskfs: Add Ubuntu 20.04.5 release 5.15 kernel Add support for Ubuntu 20.04.5 5.15 kernel similar to el9.2 with updated patches: ext4-corrupted-inode-block-bitmaps-handling-patches.patch ext4-data-in-dirent.patch ext4-dont-check-before-replay.patch ext4-inode-version.patch ext4-mballoc-extra-checks.patch ext4-prealloc.patch ext4-filename-encode.patch Tested with tag Ubuntu-hwe-5.15-5.15.0-91.101_20.04.1 Test-Parameters: trivial Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com> Change-Id: Ic1b4b0f25a9ac984186cf4f37b5a73d93af93ebd Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/52414 Tested-by: jenkins <devops@whamcloud.com> Tested-by: Maloo <maloo@whamcloud.com> Tested-by: James Simmons <jsimmons@infradead.org> Reviewed-by: Andreas Dilger <adilger@whamcloud.com> Reviewed-by: Artem Blagodarenko <ablagodarenko@ddn.com> Reviewed-by: James Simmons <jsimmons@infradead.org> Reviewed-by: Oleg Drokin <green@whamcloud.com>
LU-17131 ldiskfs: Refresh ubuntu 5.11 server Refresh ext4-pdirop and ext4-delayed-iput, Add ext4-filename-encode support ext4-add-periodic-superblock-update Test-Parameters: trivial Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com> Change-Id: Icd066a4f507842312924f7c7818208d8f07c8c70 Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/52413 Reviewed-by: James Simmons <jsimmons@infradead.org> Reviewed-by: Andreas Dilger <adilger@whamcloud.com> Reviewed-by: Oleg Drokin <green@whamcloud.com> Tested-by: jenkins <devops@whamcloud.com> Tested-by: Maloo <maloo@whamcloud.com>
LU-17351 ldiskfs: RHEL 9.3 ldiskfs server Updated patch series for el9.3 needs an updated ext4-data-in-dirent Test-Parameters: trivial env=SANITY_EXCEPT="906" \ mdtcount=4 mdscount=2 \ clientdistro=el9.3 serverdistro=el9.2 testlist=sanity Test-Parameters: trivial mdtcount=4 mdscount=2 \ clientdistro=el9.2 serverdistro=el9.3 testlist=sanity Test-Parameters: optional clientdistro=el9.3 serverdistro=el9.3 \ testgroup=full-part-1 Test-Parameters: optional clientdistro=el9.3 serverdistro=el9.3 \ testgroup=full-part-2 Test-Parameters: optional clientdistro=el9.3 serverdistro=el9.3 \ testgroup=full-part-3 HPE-bug-id: LUS-12050 Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com> Signed-off-by: Jian Yu <yujian@whamcloud.com> Change-Id: Iac9731570422c57ef494602b1a40ac0b3d87d991 Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/53394 Tested-by: jenkins <devops@whamcloud.com> Tested-by: Maloo <maloo@whamcloud.com> Reviewed-by: Yang Sheng <ys@whamcloud.com> Reviewed-by: Andreas Dilger <adilger@whamcloud.com> Reviewed-by: xinliang <xinliang.liu@linaro.org> Reviewed-by: Oleg Drokin <green@whamcloud.com>
LU-17332 ldiskfs: do no update superblock after journal destroy Trying to start a transaction after journal destroy during umount will lead to a crash. This patch is adding the same checks from 041340404e LU-16982 ldiskfs: Fix crash after "umount -d -f /mnt/..." for el9 series. Change-Id: Ibb89e9f5104b0980a8d9543561ac643322e3724d Fixes: e27a7b33d6 ("LU-16298 ldiskfs: Periodically write ldiskfs superblock") Signed-off-by: Li Dongyang <dongyangli@ddn.com> Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/53499 Tested-by: jenkins <devops@whamcloud.com> Tested-by: Maloo <maloo@whamcloud.com> Reviewed-by: Andreas Dilger <adilger@whamcloud.com> Reviewed-by: Vitaliy Kuznetsov <vkuznetsov@ddn.com> Reviewed-by: Oleg Drokin <green@whamcloud.com>
LU-17131 ldiskfs: el9.2 encdata and filename-encode Add encryption support for el9.2 Test-Parameters: serverdistro=el9.2 testlist=sanity Test-Parameters: serverdistro=el9.2 testlist=conf-sanity Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com> Signed-off-by: Sebastien Buisson <sbuisson@ddn.com> Change-Id: Iacda4c0e4107bccb57aece2e8d9cee12a4bcd09b Reviewed-by: Andreas Dilger <adilger@whamcloud.com> Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/53077 Tested-by: jenkins <devops@whamcloud.com> Tested-by: Maloo <maloo@whamcloud.com> Reviewed-by: Oleg Drokin <green@whamcloud.com>
LU-17275 kernel: RHEL 8.9 client and server support This patch makes changes to support RHEL 8.9 release with kernel 4.18.0-513.5.1.el8_9 for Lustre client and server. Test-Parameters: trivial fstype=ldiskfs mdtcount=4 mdscount=2 \ clientdistro=el8.9 serverdistro=el8.8 testlist=sanity Test-Parameters: trivial fstype=zfs mdtcount=4 mdscount=2 \ clientdistro=el8.9 serverdistro=el8.8 testlist=sanity Test-Parameters: trivial fstype=ldiskfs mdtcount=4 mdscount=2 \ clientdistro=el8.8 serverdistro=el8.9 testlist=sanity Test-Parameters: trivial fstype=zfs mdtcount=4 mdscount=2 \ clientdistro=el8.8 serverdistro=el8.9 testlist=sanity Test-Parameters: optional clientdistro=el8.9 serverdistro=el8.9 \ testgroup=full-part-1 Test-Parameters: optional clientdistro=el8.9 serverdistro=el8.9 \ testgroup=full-part-2 Test-Parameters: optional clientdistro=el8.9 serverdistro=el8.9 \ testgroup=full-part-3 Change-Id: Ia3672d134534b877bb6aaffb4cea0339bc55974f Signed-off-by: Jian Yu <yujian@whamcloud.com> Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/53071 Tested-by: jenkins <devops@whamcloud.com> Tested-by: Maloo <maloo@whamcloud.com> Reviewed-by: Yang Sheng <ys@whamcloud.com> Reviewed-by: Andreas Dilger <adilger@whamcloud.com> Reviewed-by: Oleg Drokin <green@whamcloud.com>
Revert "LU-17131 ldiskfs: el9.2 encdata and filename-encode" This reverts commit b0cc96a1ff516f79f26be32945a237ef8373e408 as it is likely causing ldiskfs to crash immediately at mount: LDISKFS-fs (dm-0): mounted filesystem with ordered data mode. Quota mode: journalled. BUG: kernel NULL pointer dereference, address: 0000000000000000 #PF: error_code(0x0000) - not-present page Oops: 0000 [#1] PREEMPT SMP PTI CPU: 0 PID: 7148 Comm: mkfs.lustre 5.14.0-284.30.1_lustre.el9.x86_64 #1 Hardware name: Red Hat KVM, BIOS 0.5.1 01/01/2011 RIP: 0010:__ldiskfs_find_entry+0xab/0x440 [ldiskfs] Call Trace: ldiskfs_lookup.part.0+0x6c/0x2c0 [ldiskfs] __lookup_hash+0x70/0xa0 __filename_create+0x87/0x150 do_mkdirat+0x4b/0x160 __x64_sys_mkdir+0x48/0x70 Change-Id: Idc8448c9e6d2300bc5eccb6ea190252eaaca9f75 Test-Parameters: trivial Test-Parameters: serverdistro=el9.2 testlist=sanity Test-Parameters: serverdistro=el9.2 testlist=conf-sanity Signed-off-by: Andreas Dilger <adilger@whamcloud.com> Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/53069 Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com> Reviewed-by: Shaun Tancheff <shaun.tancheff@hpe.com> Reviewed-by: Oleg Drokin <green@whamcloud.com> Tested-by: jenkins <devops@whamcloud.com> Tested-by: Maloo <maloo@whamcloud.com>
LU-17232 build: fix ext4-misc for el7.6 server rhel7.6/ext4-misc.patch was partially updated however the intended addition of: +EXPORT_SYMBOL(ext4_chunk_trans_blocks); is not present. Test-Parameters: trivial HPE-bug-id: LUS-11954 Fixes: 9e5040a304 ("LU-16847 ldiskfs: do not copy ldiskfs_chunk_trans_blocks") Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com> Change-Id: I28c3f1cc52af61b8b1b5036cf8c7cbce75b5c895 Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/52850 Reviewed-by: Jian Yu <yujian@whamcloud.com> Reviewed-by: Oleg Drokin <green@whamcloud.com> Reviewed-by: Andrew Perepechko <andrew.perepechko@hpe.com> Tested-by: Maloo <maloo@whamcloud.com> Tested-by: jenkins <devops@whamcloud.com>
LU-17131 ldiskfs: el9.2 encdata and filename-encode Add encryption support for el9.2 Test-Parameters: trivial Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com> Change-Id: I03a42777eb7e23ab0934452461d3581d0b670af1 Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/52412 Tested-by: jenkins <devops@whamcloud.com> Tested-by: Maloo <maloo@whamcloud.com> Reviewed-by: Oleg Drokin <green@whamcloud.com> Reviewed-by: Andreas Dilger <adilger@whamcloud.com> Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
LU-17187 ldiskfs: use ext4_fsblk_t for block pointers instead of ext4_lblk_t which is 32bit while actual block pointers can be larger than 2^32. Fixes: 0f7e6c02a9 ("LU-16843 ldiskfs: merge extent blocks") Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com> Change-Id: I201cfa5cb04907eef05bc87abc5701e8aed39d62 Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/52633 Tested-by: jenkins <devops@whamcloud.com> Tested-by: Maloo <maloo@whamcloud.com> Reviewed-by: Andreas Dilger <adilger@whamcloud.com> Reviewed-by: Li Dongyang <dongyangli@ddn.com> Reviewed-by: Oleg Drokin <green@whamcloud.com>
LU-17136 ldiskfs: increase max extent tree depth this is an workaround until LU-16843 ready Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com> Change-Id: I5829c10888bf32649fe7a7a72c8ee697647a89cc Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/52474 Tested-by: jenkins <devops@whamcloud.com> Tested-by: Maloo <maloo@whamcloud.com> Reviewed-by: Andreas Dilger <adilger@whamcloud.com> Reviewed-by: Li Dongyang <dongyangli@ddn.com> Reviewed-by: Oleg Drokin <green@whamcloud.com>
LU-17131 ldiskfs: el8.1 use rhel8/ext4-enc-flag.patch Correctly specify the ext4-enc-flag.patch for el8.1 Test-Parameters: trivial Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com> Change-Id: Ice1eca4f7092de7d65e5c1e5338dba6cc6e8f4ec Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/52411 Tested-by: jenkins <devops@whamcloud.com> Tested-by: Maloo <maloo@whamcloud.com> Reviewed-by: Andreas Dilger <adilger@whamcloud.com> Reviewed-by: James Simmons <jsimmons@infradead.org> Reviewed-by: Oleg Drokin <green@whamcloud.com>
LU-16976 ldiskfs: add support for openEuler 22.03 SP2 Add ldiskfs server support for oe2203sp2. Sync with ldiskfs-5.14-rhel9.2.series adding missing patches. Also refine openEuler lbuild scripts. Change-Id: I91841a7140a9f8f3182a4a329b9f04639a85e94d Test-Parameters: trivial Signed-off-by: Xinliang Liu <xinliang.liu@linaro.org> Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/51753 Tested-by: jenkins <devops@whamcloud.com> Tested-by: Maloo <maloo@whamcloud.com> Reviewed-by: Andreas Dilger <adilger@whamcloud.com> Reviewed-by: Jian Yu <yujian@whamcloud.com> Reviewed-by: Oleg Drokin <green@whamcloud.com>
LU-16883 ldiskfs: update for ext4-delayed-iput for RHEL9.0 ext4-delayed-iput patch does not apply cleanly to RHEL9.0 Adjust the minor conflict in ext4_put_super() Test-Parameters: trivial Fixes: 616fa9b581 ("LU-15404 ldiskfs: use per-filesystem workqueues to avoid deadlocks") HPE-bug-id: LUS-11661 Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com> Change-Id: Ia8c2dcda50417b113399973f177a14283514a1ff Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/51376 Tested-by: jenkins <devops@whamcloud.com> Tested-by: Maloo <maloo@whamcloud.com> Reviewed-by: Petros Koutoupis <petros.koutoupis@hpe.com> Reviewed-by: James Simmons <jsimmons@infradead.org> Reviewed-by: Oleg Drokin <green@whamcloud.com>
LU-16906 build: Server for newer SUSE 15 SP3 kernels Update the SUSE 15 SP3 server support for newer kernels including LTSS series kernels. Add a new ldiskfs patch series for updated SUSE 15 SP3 kernels with a updated ext4-pdirop.patch Test-Parameters: trivial HPE-bug-id: LUS-11676 Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com> Change-Id: I0acf81abfcc71a64dc09a344a9231d86a44f193e Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/51338 Tested-by: jenkins <devops@whamcloud.com> Tested-by: Maloo <maloo@whamcloud.com> Reviewed-by: Andreas Dilger <adilger@whamcloud.com> Reviewed-by: Neil Brown <neilb@suse.de> Reviewed-by: Oleg Drokin <green@whamcloud.com>
LU-16477 ldiskfs: Add ext4-enc-flag patch for SUSE 15 SP5 Include ext4-enc-flag for linux 5.14 in the 5.14 based SUSE 15 SP5 ldiskfs series. Test-Parameters: trivial HPE-bug-id: LUS-11442 Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com> Change-Id: If73c1665d5623f90d6908b049eb27755952b03f0 Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/51945 Reviewed-by: Sebastien Buisson <sbuisson@ddn.com> Reviewed-by: Oleg Drokin <green@whamcloud.com> Reviewed-by: Andreas Dilger <adilger@whamcloud.com> Tested-by: jenkins <devops@whamcloud.com> Tested-by: Maloo <maloo@whamcloud.com>
LU-16374 ldiskfs: implement security.encdata xattr security.encdata is a virtual xattr containing information related to encrypted files. It is expressed as ASCII text with a "key: value" format, and space as field separator. For instance: { encoding: base64url, size: 3012, enc_ctx: YWJjZGVmZ2hpamtsbW 5vcHFyc3R1dnd4eXphYmNkZWZnaGlqa2xtbg, enc_name: ZmlsZXdpdGh2ZX J5bG9uZ25hbWVmaWxld2l0aHZlcnlsb25nbmFtZWZpbGV3aXRodmVyeWxvbmdu YW1lZmlsZXdpdGg } 'encoding' is the encoding method used for binary data, assume name can be up to 255 chars. 'size' is the clear text file data length in bytes. 'enc_ctx' is encoded encryption context, 40 bytes for v2. 'enc_name' is encoded encrypted name, 256 bytes max. So on overall, this xattr is at most 727 chars plus terminating '0'. On get, the value of the security.encdata xattr is computed from encrypted file's information. On set, encrypted file's information is restored from xattr value. The encrypted name is stored temporarily in a dedicated xattr LDISKFS_XATTR_NAME_RAWENCNAME, that will be used to set correct name at linkat. Signed-off-by: Sebastien Buisson <sbuisson@ddn.com> Change-Id: Ia318c39d403b1c448e71bcd5b29862d022d05d0a Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/49456 Tested-by: jenkins <devops@whamcloud.com> Tested-by: Maloo <maloo@whamcloud.com> Reviewed-by: Andreas Dilger <adilger@whamcloud.com> Reviewed-by: Li Dongyang <dongyangli@ddn.com> Reviewed-by: Oleg Drokin <green@whamcloud.com>
LU-16883 ldiskfs: update for ext4-delayed-iput for SUSE 15 ext4-delayed-iput patch does not apply cleanly to SUSE 15 SP4 and SP5 series 5.14.21 kernel. Adjust the minor conflict in ext4_put_super() Test-Parameters: trivial Fixes: 616fa9b581 ("LU-15404 ldiskfs: use per-filesystem workqueues to avoid deadlocks") HPE-bug-id: LUS-11661 Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com> Change-Id: Iee424bd6d455853d9f82e6e5b08e4ab44deb432c Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/51252 Tested-by: jenkins <devops@whamcloud.com> Tested-by: Maloo <maloo@whamcloud.com> Reviewed-by: James Simmons <jsimmons@infradead.org> Reviewed-by: Neil Brown <neilb@suse.de> Reviewed-by: Oleg Drokin <green@whamcloud.com>