Whamcloud - gitweb
fs/lustre-release.git
4 days agoLU-15935 tests: ignore replay-dual/33 cleanup error 15/58915/2
Andreas Dilger [Wed, 23 Apr 2025 05:58:47 +0000 (23:58 -0600)]
LU-15935 tests: ignore replay-dual/33 cleanup error

The cleanup in replay-dual test_33 can fail to reset at_min
if the OST was already stopped on some node during cleanup.
Ignore these non-fatal errors during stack_trap cleanup.

Fixes: 1a79d395dd ("LU-15935 target: keep track of multirpc slots in last_rcvd")
Test-Parameters: trivial testlist=replay-dual env=ONLY=33
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I69d3feb9591256704b47c850c35ea97ffb500c1e
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58915
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Etienne AUJAMES <eaujames@ddn.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
4 days agoLU-18886 zfs-osd: za_name flexible array OI scrub fix 62/58762/4
Brian Behlendorf [Fri, 11 Apr 2025 19:39:27 +0000 (12:39 -0700)]
LU-18886 zfs-osd: za_name flexible array OI scrub fix

Initialize the zap_attribute_t.za_name_len to resolve the
OI scrub failures observed with zfs-2.3.  This is a follow up
to commit d47a71f7a894a193957fe7771d43c5767979c117 which made
an identical fix for the other sites where a zap_attribute_t
is used.

Test-Parameters: fstype=zfs
Fixes: d47a71f7a894a ("LU-18360 zfs-osd: za_name flexible array")
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Change-Id: Ib4295cbb7ce7e7efe0f7e67b82bc8c73a1f9df8d
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58762
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
11 days agoLU-18923 osd: move simple debugfs files to sysfs 05/58805/2
James Simmons [Tue, 15 Apr 2025 17:17:17 +0000 (13:17 -0400)]
LU-18923 osd: move simple debugfs files to sysfs

Move simple files in debugfs for osd backends to general sysfs.
This makes them available as non-root.

Change-Id: If7a33b8a53c712a46735981653d86bdd2c9775a6
Signed-off-by: James Simmons <jsimmons@infradead.org>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58805
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
11 days agoLU-17924 tests: disable obdfilter-survey for ZFS 96/58796/2
James Simmons [Thu, 10 Apr 2025 15:32:10 +0000 (11:32 -0400)]
LU-17924 tests: disable obdfilter-survey for ZFS

Starting with ZFS 2.2.7 the obdfilter-survey test fails due to
memory exhausting. For now disable the test for ZFS.

Test-Parameters: trivial
Change-Id: Ibebc637a9b733cf0b262d18de1baeef09108cd36
Signed-off-by: James Simmons <jsimmons@infradead.org>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58796
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
11 days agoLU-10870 tests: disable sanityn test 40a 95/58795/4
James Simmons [Tue, 15 Apr 2025 15:13:10 +0000 (11:13 -0400)]
LU-10870 tests: disable sanityn test 40a

If sanityn 40a is run several times there is a good chance the
test will fail. Disable the test until a solution is presented.
Currently Oleg's rocky8 setup will easily reproduce this
problem.

Test-Parameters: trivial testlist=sanityn
Change-Id: I0bdff999ecdf2481c2bd9eda6c4fc8b1cacd08d5
Signed-off-by: James Simmons <jsimmons@infradead.org>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58795
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
11 days agoLU-16489 tests: disable lustre_rsync 2c test 94/58794/3
James Simmons [Tue, 15 Apr 2025 15:15:28 +0000 (11:15 -0400)]
LU-16489 tests: disable lustre_rsync 2c test

In normal maloo testing we see lustre_rsync 2c test one in a
while fails but for Oleg's rocky8 setup it fails constantly.
For now disable the test until its resolved.

Test-Parameters: trivial testlist=lustre-rsync-test
Change-Id: Icd824c9d56f53629989b1cee51a86c57a452e410
Signed-off-by: James Simmons <jsimmons@infradead.org>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58794
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
11 days agoLU-18921 ldlm: make client_obd_cleanup return void 61/58761/2
Timothy Day [Fri, 11 Apr 2025 16:02:43 +0000 (16:02 +0000)]
LU-18921 ldlm: make client_obd_cleanup return void

client_obd_cleanup() can never fail and it always returns
0. Make the function return void instead and fix all of the
callers.

Test-Parameters: trivial
Fixes: 911b6167a37c ("LU-3810 obd: Cleanup client import if client_obd_setup fail")
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: I5a5987b4fafb712c35943620235620c6370a9f76
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58761
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Vandana Rungta <vrungta@amazon.com>
Reviewed-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
11 days agoLU-18902 tests: skip sanity/60g for older servers 18/58718/2
Jian Yu [Tue, 8 Apr 2025 03:31:01 +0000 (20:31 -0700)]
LU-18902 tests: skip sanity/60g for older servers

This patch skips sanity/60g for older servers that
do not disable remote file statahead.

Test-Parameters: trivial
Test-Parameters: testlist=sanity env=ONLY=60g serverversion=2.12
Fixes: 02b5a407081c ("LU-11681 lmv: disable remote file statahead")

Change-Id: I7b26e9c0d8038db94bec3d2a006ec922457dec24
Signed-off-by: Jian Yu <yujian@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58718
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Rajeev Mishra <rajeevm@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
11 days agoLU-18900 tests: skip sanity/24G for older servers 15/58715/2
Jian Yu [Tue, 8 Apr 2025 03:06:10 +0000 (20:06 -0700)]
LU-18900 tests: skip sanity/24G for older servers

This patch skips sanity/24G for older servers that
do not support migrating symlink in rename.

Test-Parameters: trivial
Test-Parameters: testlist=sanity env=ONLY=24G serverversion=2.12
Fixes: 9adc02c016d2 ("LU-11631 mdd: migrate symlink for cross-MDT rename")

Change-Id: Ib576f669e6ce76fecd0a50ac7e5eef38d3c2727a
Signed-off-by: Jian Yu <yujian@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58715
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Rajeev Mishra <rajeevm@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
11 days agoLU-18890 doc: add "lfs find -ls" option to lfs-find.1 man page 88/58688/3
Patrick Farrell [Fri, 4 Apr 2025 14:24:18 +0000 (10:24 -0400)]
LU-18890 doc: add "lfs find -ls" option to lfs-find.1 man page

The "lfs find -ls" option added in LU-15504 was not
documented in the lustre/doc/lfs-find.1 man page. This
patch adds proper documentation for this option, including:

- Adding the option to the SYNOPSIS section
- Adding a detailed description in the OPTIONS section
- Adding an example showing how to use the option

Fixes: 1d8164fa ("LU-15504 utils: lfs find -ls function")

Test-Parameters: trivial
Signed-off-by: Patrick Farrell <pfarrell@whamcloud.com>
Change-Id: Iecdc99d490f840c9beea62fb3b2c0bf49031b08c
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58688
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: Frederick Dilger <fdilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
11 days agoLU-18875 quota: change lqe only under lock 12/58612/2
Sergey Cheremencev [Fri, 21 Mar 2025 06:32:31 +0000 (09:32 +0300)]
LU-18875 quota: change lqe only under lock

All fields of an lqe, especially flags, must be changed only under a
lock protection. The flags like lqe_gl, lqe_is_reset, lqe_edquot are
the part of an unsigned long(8 bytes) memory region in lquota_entry.
It is impossible to change only 1 bit in a memory, so the general way
is to "mov" 1 byte to some register(AL), change it(AND, OR) in this
register and "mov" back to the memory. It is a window for a race and
might cause a corruption of the neighbour flags. So this patch adds a
locking for remain places where the flags or any lqe members are
changed without locking. One of known issues this patch is aimed to
sort out is the following assertion:

 (qmt_lock.c:973:qmt_id_lock_glimpse()) ASSERTION( lqe->lqe_gl )

Restore one old assertion in qmt_id_lock_glimpse that was removed by
mistake in 16ee9ecdb0 - qmt_reba_thread() is the only thread that can
change lqe_gl flag. Also check that lqe_gl is  not set when we are
freeing an lqe.

Fixes: 16ee9ecdb0 ("LU-16913 quota: fix ASSERTION(lqe->lqe_gl)")
Fixes: 78be823f33 ("LU-15218 quota: delete unused quota ID")
Signed-off-by: Sergey Cheremencev <scherementsev@ddn.com>
Change-Id: I954ed8aa23be01846e479a64c376c4b37af05268
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58612
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Hongchao Zhang <hongchao@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
11 days agoLU-9633 lod: Add kernel doc style for lod (Part 3) 03/58603/3
Arshad Hussain [Sun, 30 Mar 2025 00:00:41 +0000 (05:30 +0530)]
LU-9633 lod: Add kernel doc style for lod (Part 3)

This patch converts existing functional comments
to kernel doc style comments and removes '/**' for
comments which is not meant to be a kernel-doc comment

Test-Parameters: trivial
Signed-off-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Change-Id: Ica6613a5ae8a4ffe965e5451bb4fee939db980ec
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58603
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Anjus George <georgea@ornl.gov>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Petros Koutoupis <petros.koutoupis@hpe.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
11 days agoLU-9633 lod: Add kernel doc style for lod (Part 4) 02/58602/2
Arshad Hussain [Sun, 30 Mar 2025 14:01:03 +0000 (19:31 +0530)]
LU-9633 lod: Add kernel doc style for lod (Part 4)

This patch converts existing functional comments
to kernel doc style comments and removes '/**' for
comments which is not meant to be a kernel-doc comment

Test-Parameters: trivial
Signed-off-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Change-Id: I962a4a5eb33ea5b363dff21d2302df3ab584d012
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58602
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Anjus George <georgea@ornl.gov>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Petros Koutoupis <petros.koutoupis@hpe.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
11 days agoLU-18871 dkms: prefer 'command -v' over 'which' 94/58594/2
Shaun Tancheff [Sun, 30 Mar 2025 07:23:44 +0000 (14:23 +0700)]
LU-18871 dkms: prefer 'command -v' over 'which'

Prefer command -v over which to quash spurious output during
dkms build.

Test-Parameters: trivial testgroup=full-dkms
HPE-bug-id: LUS-12801
Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: I63494f0bbb16c5dff85fcac2e8cb9c141c38bdd2
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58594
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Alexander Zarochentsev <alexander.zarochentsev@hpe.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
11 days agoLU-13726 build: fix checkpatch fix matching 93/58593/4
Andreas Dilger [Sun, 30 Mar 2025 18:38:38 +0000 (12:38 -0600)]
LU-13726 build: fix checkpatch fix matching

When the spelling.txt suspect string is a regexp, then the matched
$typo string is different from the regexp, and is not a valid key
in the $spelling_fix associative array. This generates an error:

    WARNING: 'foo' may be misspelled - perhaps 'CHECKPATCH ERROR'

because $typo is not found in $spelling_fix and $typo_fix is empty.

If $typo_fix is empty after lookup, iterate the $spelling_fix keys
to find the one matching $typo so that it can be used as $typo_fix.

Avoid length warnings from DNAME usage, improve spelling suggestion.

Test-Parameters: trivial
Fixes: d097fcc51b ("LU-18810 obd: add a parameter to enable filename encoding")
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I6d29f9470d16c340ebf5bcd2384b477bac500c13
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58593
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Colin Faber <cfaber@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
11 days agoLU-18845 obdclass: NPE in with_imp_locked_nested 99/58499/4
Vandana Rungta [Fri, 21 Mar 2025 16:06:25 +0000 (16:06 +0000)]
LU-18845 obdclass: NPE in with_imp_locked_nested

Unable to handle kernel NULL pointer dereference
at virtual address 0000000000000588

down_read+0x28/0x100
active_show+0x2c/0x90 [osp]
lustre_attr_show+0x1c/0x2c [obdclass]

active_show calls macro with_imp_locked with an
obd_device, which in turn gets a lock on
u.cli.cl_sem in obd_device. The exception is at offset 0x588,
and u.cli.cl_sem is at 0x588 in struct obd_device,
which confirms that a NULL obd was being used.

This fix adds checks for NULL obd to active_show.

Signed-off-by: Vandana Rungta <vrungta@amazon.com>
Change-Id: Ia0ff9e7a07f40bb7dd9c0d4cc0ecc38ea8d61d0b
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58499
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Neil Brown <neil@brown.name>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Timothy Day <timday@amazon.com>
11 days agoLU-12597 tests: remove comma_list for MDTs part 4 22/58022/7
Andreas Dilger [Wed, 9 Oct 2024 21:48:46 +0000 (15:48 -0600)]
LU-12597 tests: remove comma_list for MDTs part 4

Most places that use $(mdts_nodes) also call $(comma_list ...) at the
same time.  Rather than returning a space-separated list of nodes from
those functions, instead return a comma-separated list suitable for
use by do_nodes() and similar functions calling pdsh internally.

This avoids the repeated calls to comma_list() and makes the tests
easier to read.  Also, since comma_list() internally deduplicates the
node list, it isn't necessary to do that in the callers.  A few tests
need to convert comma-separated osts_nodes into space-separated nodes.

Test-Parameters: trivial testlist=sanity-scrub
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I34509872350987564ca560ad93fdaba0443ebbe5
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58022
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
11 days agoLU-10026 sptlrpc: don't crash for too-large chunk size 45/57845/8
Andreas Dilger [Thu, 9 Nov 2023 00:10:05 +0000 (17:10 -0700)]
LU-10026 sptlrpc: don't crash for too-large chunk size

If the chunk size is too large, don't fall off the
end of the page_pool[] array with a large "order".

EX-bug-id: EX-8270
Test-Parameters: trivial
Fixes: d945f1b064 ("EX-6261 ptlrpc: extend sec bulk functionality")
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Signed-off-by: Artem Blagodarenko <ablagodarenko@ddn.com>
Change-Id: I9cdf059860cab3c22857766dba5617358f0aaba9
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57845
Reviewed-by: Sergey Cheremencev <scherementsev@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
11 days agoLU-18653 utils: add "--clear-fixed" to "lfs migrate" help 14/57814/2
Etienne AUJAMES [Fri, 17 Jan 2025 15:21:49 +0000 (16:21 +0100)]
LU-18653 utils: add "--clear-fixed" to "lfs migrate" help

Add the "--clear-fixed" option to the "lfs migrate" help string.
And correct the lfs-migrate.1 manpage:
s/LMV_HASH_FIXED_FLAG/LMV_HASH_FLAG_FIXED/

Test-Parameters: trivial
Fixes: 392f558f40 ("LU-17810 dne: dir restripe without fixed hash flag")
Signed-off-by: Etienne AUJAMES <etienne.aujames@cea.fr>
Change-Id: Ie5db5264777b036043f73453f22bebdf58f8ebcd
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57814
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
11 days agoLU-15420 sec: handle fscrypt_require_key removal in newer kernels 54/57754/8
James Simmons [Thu, 10 Apr 2025 14:46:03 +0000 (10:46 -0400)]
LU-15420 sec: handle fscrypt_require_key removal in newer kernels

Kernel commit de3cdc6e75179a2324c moved fscrypt_require_key()
to the fscrypt_private.h which makes it no longer visible.
With this change move to fscrypt_has_encryption_key() which
existed for some time. Once difference is
fscrypt_has_encryption_key() reports success when the inode has
no encryption so we need to test IS_ENCRYPT(inode) as well.
Expand the ll_has_encryption_key() to also test for IS_ENCRYPT
since this is the most common use case.

Update LLCRYPT_FNAME_DIGEST to LLCRYPT_EXTRACT_DIGEST for mdd
layer.

Test-Parameters: trivial testlist=sanity-sec
Change-Id: I402f222f635e7c0f026c53093bb17ec4d461e189
Signed-off-by: James Simmons <jsimmons@infradead.org>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57754
Tested-by: Maloo <maloo@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
11 days agoLU-17224 tests: improve OST out-of-space testing 60/57260/11
Vikentsi Lapa [Tue, 3 Dec 2024 12:48:33 +0000 (12:48 +0000)]
LU-17224 tests: improve OST out-of-space testing

Add file system reservation with fallocate
to reduce I/O size with dd command

Test-Parameters: trivial testlist=sanityn env=MAXFREE=60000000
Signed-off-by: Vikentsi Lapa <vlapa@whamcloud.com>
Change-Id: I40b64c1825aa5067788b6b31902d282ba59ccd13
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57260
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Rajeev Mishra <rajeevm@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
11 days agoLU-17814 utils: add parallel find arg 21/57221/14
Patrick Farrell [Tue, 25 Mar 2025 16:10:14 +0000 (12:10 -0400)]
LU-17814 utils: add parallel find arg

lfs find is currently serial, but it can be much faster if
we add a parallel implementation where it creates a work
unit for every directory and handles them in parallel.

This is the first patch of that implementation.

Add arg to control thread count.
No implementation yet.

Test-Parameters: trivial
Signed-off-by: Patrick Farrell <pfarrell@whamcloud.com>
Change-Id: I73b542decd75e1f7580f584d2ea6a219af51be4c
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57221
Reviewed-by: Marc Vef <mvef@whamcloud.com>
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>
11 days agoLU-18906 build: page_cache_alloc removed, missing return 24/58724/4
Shaun Tancheff [Fri, 11 Apr 2025 01:39:43 +0000 (08:39 +0700)]
LU-18906 build: page_cache_alloc removed, missing return

Fix gcc -Wreturn-type
   nrs_orr.c:1680:1: error: control reaches end of non-void \
   function [-Werror=return-type]

Fix gcc -Wimplicit-function-declaration
   file.c:678:24: error: implicit declaration of function \
   page_cache_alloc [-Werror=implicit-function-declaration]

nodemap_idx_cluster_roles_modify() needs to be static to avoid
 error: no previous prototype for 'nodemap_idx_cluster_roles_modify' \
 [-Werror=missing-prototypes]

Test-Parameters: trivial
Fixes: f7b1fea6bff ("LU-16518 lustre: fix implicit-fallthrough warnings")
Fixes: 4a14a51a8e0 ("LU-18448 llite: read dir on open")
Fixes: 904a7f1e839 ("LU-17431 nodemap: introduce child_raise_privileges property")
Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: I6d5131748efc7d7fcc51c4dc3b06070057cb0f0e
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58724
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: Robert Read <rread@ddn.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
11 days agoLU-17166 ptlrpc: add pb_projid field in ptlrpc_body 20/54920/10
Etienne AUJAMES [Mon, 10 Mar 2025 17:26:42 +0000 (13:26 -0400)]
LU-17166 ptlrpc: add pb_projid field in ptlrpc_body

This patch "tags" ptlrpc requests with projid (with pb_projid field in
ptlrpc_body). This will enable to add server projid stats and TBF
scheduling based on projid.

The projid comes from the inode (struct ll_inode_info::lli_projid).
For MDT request by name (lookup/create), if the parent have the projid
inherit flag ("LLIF_PROJECT_INHERIT"), the request will be "tag" with
the parent projid.

To build an OSC request, cl_req_projid_set() is added to retrieve the
projid from the VPP layer.

Signed-off-by: Etienne AUJAMES <eaujames@ddn.com>
Signed-off-by: Qian Yingjin <qian@ddn.com>
Change-Id: I98a73023268a5f24549e3204d6d42a3f057a0798
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/54920
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>
11 days agoLU-18896 utils: don't miss null-terminator in append_param 85/58685/8
Mikhail Pershin [Fri, 4 Apr 2025 13:29:07 +0000 (16:29 +0300)]
LU-18896 utils: don't miss null-terminator in append_param

The code to move tail can skip null-terminator if there is
no tail and parameter is the last one.

Fixes: f9d346f0c1 ("LU-18587 utils: allow large NID lists in mount tools")
Signed-off-by: Mikhail Pershin <mpershin@whamcloud.com>
Change-Id: I088f7a0eda80a9df1d55b19db28793aa488cc95e
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58685
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
11 days agoLU-18783 llite: ensure dentry name within ll_namelen 36/58336/13
James Simmons [Thu, 10 Apr 2025 14:41:12 +0000 (10:41 -0400)]
LU-18783 llite: ensure dentry name within ll_namelen

Some of the pjdfstest POSIX filename length tests are failing.
This is due to the test expecting a ENAMETOOLONG error to be
reported instead of the current ENOENT error.

Add a test for the dentry name len to ensure its not longer than
sbi->ll_namelen. pjdfstest is expecting the largest file name size
to be NAME_MAX but newer ZFS versions allow names up to 1024 chars.
Ensure client limits filenames to be within NAME_MAX and OSD limit.

Add a tunable parameter llite.*.namelen_max to set this if needed.

Fixes: 7d197837e0 ("LU-4219 mdd: limit os_namelen to the max of NAME_MAX")
Signed-off-by: James Simmons <jsimmons@infradead.org>
Change-Id: I6bd872d69aca173d61ac55a2f8ffc505efb3f462
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58336
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: Shaun Tancheff <shaun.tancheff@hpe.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
11 days agoLU-18072 ptlrpc: do not search for duplicate cancel requests 43/56843/5
Oleg Drokin [Thu, 31 Oct 2024 19:29:46 +0000 (15:29 -0400)]
LU-18072 ptlrpc: do not search for duplicate cancel requests

Cancel requests don't have any max inflight limitations, so
really could arrive in huge numbers and if they are also have a resent
flag, that leads to a lot of very expensive duplicates search that is
totally unneeded at the same time, so let's skip the check for cancels.

Change-Id: Id4be03a3c9406867adcdcfd31ed91ecc7b12f700
Signed-off-by: Oleg Drokin <green@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56843
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andriy Skulysh <andriy.skulysh@hpe.com>
Reviewed-by: Mikhail Pershin <mpershin@whamcloud.com>
Reviewed-by: Olaf Faaland <faaland1@llnl.gov>
2 weeks agoLU-18293 tests: Revert "LU-18293 test: use direct IO for" 90/58790/2
Alex Zhuravlev [Tue, 15 Apr 2025 08:58:08 +0000 (11:58 +0300)]
LU-18293 tests: Revert "LU-18293 test: use direct IO for"

This reverts commit 2f96622a522924c7b9e26fd2dfdf34eb6227b7a6
as it causes many failures in sanity-quota/71a

Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: I94d5ca67db64c0eead079ae415455f9c5951f9ed
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58790
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
2 weeks agoLU-18899 o2iblnd: handle RDMA_CM_EVENT_ESTABLISHED gracefully 11/58711/2
Serguei Smirnov [Mon, 7 Apr 2025 23:20:11 +0000 (16:20 -0700)]
LU-18899 o2iblnd: handle RDMA_CM_EVENT_ESTABLISHED gracefully

Modify kiblnd_cm_callback() to handle RDMA_CM_EVENT_ESTABLISHED
gracefully: report an error with relevant details and ignore
the event rather than just cause a crash with LBUG
if the connection state is not RDMA_CM_EVENT_ESTABLISHED or
IBLND_CONN_PASSIVE_WAIT as expected.

Test-Parameters: trivial testlist=sanity-lnet
Signed-off-by: Serguei Smirnov <ssmirnov@whamcloud.com>
Change-Id: I8ddde6786eac99699665a71eb0587165e6552ea6
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58711
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Cyril Bordage <cbordage@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
2 weeks agoLU-18893 lnet: Use negative errno for ERR_PTR 69/58669/3
Chris Horn [Thu, 3 Apr 2025 19:13:51 +0000 (13:13 -0600)]
LU-18893 lnet: Use negative errno for ERR_PTR

request_module() can return a positive value from modprobe. If this
happens then we need to provide a negative errno for ERR_PTR().

Test-Parameters: trivial testlist=sanity-lnet
Fixes: 6e76d3569b ("LU-12511 lnet: rework lnd module loading ")
Signed-off-by: Chris Horn <chris.horn@hpe.com>
Change-Id: I400aa5b350fe274d18c2edb38479bb428907efb6
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58669
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Serguei Smirnov <ssmirnov@whamcloud.com>
Reviewed-by: Cyril Bordage <cbordage@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
2 weeks agoLU-18876 build: KMODEXT is always .ko 61/58661/3
Timothy Day [Thu, 3 Apr 2025 05:27:28 +0000 (01:27 -0400)]
LU-18876 build: KMODEXT is always .ko

KMODEXT is always .ko, so let's remove it
to simplify the kernel Makefiles.

Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: I7e44849b8f77730cf112292d619116907661f52a
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58661
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: James Simmons <jsimmons@infradead.org>
2 weeks agoLU-18888 o2ib: prepare_kernel_cred with &init_task 54/58654/3
Shaun Tancheff [Thu, 3 Apr 2025 04:13:34 +0000 (11:13 +0700)]
LU-18888 o2ib: prepare_kernel_cred with &init_task

Linux v6.1-rc1-12-g5a17f040fa33
  cred: Do not default to init_cred in prepare_kernel_cred()

This breaks kiblnd_resolve_addr() by interpreting the NULL as
an -ENOMEM instead of an invalid task being used.

The new pattern is to pass &init_task to get init_cred instead
of NULL.

This needs no special handling for older kernels.

HPE-bug-id: LUS-12806
Fixes: 30b356a28b ("LU-14296 lnet: use an unbound cred in kiblnd_resolve_addr()")
Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: I31caa7f5adb23265985fba6db7b28d48975e7e9d
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58654
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Alexander Zarochentsev <alexander.zarochentsev@hpe.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
2 weeks agoLU-18882 tests: sanity/56ca to reset readonly and wait 35/58635/3
Alex Zhuravlev [Wed, 2 Apr 2025 03:36:34 +0000 (06:36 +0300)]
LU-18882 tests: sanity/56ca to reset readonly and wait

sanity/56ca should wait till readonly=0 is propagated,
otherwise few subsequent tests may find OST0000 read-only
and fail.

Fixes: 51c4e89318 ("LU-18833 ofd: Set OS_STATE_* flags correctly for read-only devices")
Test-Parameters: trivial
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: I7767c0ec932395e127ffb53fd91f9af182a34b40
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58635
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
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>
2 weeks agoLU-18876 misc: make dbgcksum_file_name static 29/58629/5
Timothy Day [Wed, 2 Apr 2025 18:30:27 +0000 (14:30 -0400)]
LU-18876 misc: make dbgcksum_file_name static

The global variable dbgcksum_file_name is defined
twice: once in OSC and another time in target. This
causes a linker error when the Lustre modules are
compiled into the static kernel image.

Resolve this by making both instances local to
the functions that require them using
OBD_ALLOC()/FREE().

Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: I37ac4c60754082561a65e61ab2d956d68555394f
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58629
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
2 weeks agoLU-9633 lod: Add kernel doc style for lod (Part 1) 05/58605/3
Arshad Hussain [Thu, 27 Mar 2025 15:35:54 +0000 (21:05 +0530)]
LU-9633 lod: Add kernel doc style for lod (Part 1)

This patch converts existing functional comments
to kernel doc style comments and removes '/**' for
comments which is not meant to be a kernel-doc comment

Test-Parameters: trivial
Signed-off-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Change-Id: I44fbe54e08ffb76a2d14eb0c716bdfa01ac5fc4e
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58605
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Anjus George <georgea@ornl.gov>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Petros Koutoupis <petros.koutoupis@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
2 weeks agoLU-9633 lod: Add kernel doc style for lod (Part 2) 04/58604/4
Arshad Hussain [Thu, 27 Mar 2025 17:30:04 +0000 (23:00 +0530)]
LU-9633 lod: Add kernel doc style for lod (Part 2)

This patch converts existing functional comments
to kernel doc style comments and removes '/**' for
comments which is not meant to be a kernel-doc comment

Test-Parameters: trivial
Signed-off-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Change-Id: I00844d369329541da28ef55f997fd295930db0c5
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58604
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Anjus George <georgea@ornl.gov>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
2 weeks agoLU-18860 mdd: fix CLF_UNLINK_LAST on open file unlink 78/58578/4
Etienne AUJAMES [Fri, 28 Mar 2025 17:57:11 +0000 (18:57 +0100)]
LU-18860 mdd: fix CLF_UNLINK_LAST on open file unlink

The flag CLF_UNLINK_LAST should be set for UNLINK changelog if the
last link is removed.

This flag is not set if the file is open on a client.
If the file open, Lustre will re-link the file in the PENDING
MDT directory. So, la_nlink == 1 after mdd_finish_unlink() and
CLF_UNLINK_LAST will not be set.

Check if the object is dead instead of relying on la_nlink to set the
flag.

Update the sanity 161c for that use case.

Test-Parameters: testlist=sanity env=ONLY=161c,ONLY_REPEAT=20
Test-Parameters: testlist=sanity env=ONLY=161
Signed-off-by: Etienne AUJAMES <eaujames@ddn.com>
Change-Id: I35ef530cd55cd5e07ad79a7cdae056de95735f61
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58578
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Qian Yingjin <qian@ddn.com>
Reviewed-by: Lai Siyao <lai.siyao@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
2 weeks agoLU-16518 mgs: remove dt2msg_obj/dev() and friends 53/58553/3
Timothy Day [Thu, 27 Mar 2025 02:29:43 +0000 (22:29 -0400)]
LU-16518 mgs: remove dt2msg_obj/dev() and friends

Several of these helper functions are helping no one.
Let's remove them from the header.

Fixes: ef0b61b01f0f ("LU-1301 mgs: lu device for mgs")
Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: Idf3a5dfa4549f6882e9c195301f58b90f86bee52
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58553
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
2 weeks agoLU-16518 lnet: remove unused lnet_find_peer_net_locked() 52/58552/2
Timothy Day [Thu, 27 Mar 2025 02:17:08 +0000 (22:17 -0400)]
LU-16518 lnet: remove unused lnet_find_peer_net_locked()

This function is no longer used, so let's drop it.

Fixes: 4e48761a5719 ("LU-9120 lnet: refactor lnet_select_pathway()")
Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: I71ab22793e63577f7e0fb88dfc14cddcbc32e17e
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58552
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
2 weeks agoLU-18788 ptlrpc: cancel PM-QoS delayed work 54/58354/5
Alex Zhuravlev [Sun, 9 Mar 2025 14:27:20 +0000 (17:27 +0300)]
LU-18788 ptlrpc: cancel PM-QoS delayed work

PM-QoS request can be inactive, but this should not prevent cleanup
upon connection finalization.  otherwise the kernel may run the timer
when the module has been unloaded and hit oops:

BUG: unable to handle kernel paging request at 000000000000a578
Oops: 0002 [#1] PREEMPT SMP DEBUG_PAGEALLOC
CPU: 1 PID: 0 Comm: swapper/1
RIP: 0010:expire_timers+0x6a/0x1b0
...
Call Trace:
 <IRQ>
 run_timer_softirq+0x88/0x150
 __do_softirq+0xd2/0x4cd
 irq_exit_rcu+0xda/0xe0
 irq_exit+0x5/0x20
 smp_apic_timer_interrupt+0xbf/0x290
 apic_timer_interrupt+0xf/0x20
 </IRQ>

Fixes: 54a64ea818 ("LU-18446 ptlrpc: lower CPUs latency during client I/O")
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: I6f93894290eb5aa6497c0dc39ce98dece38f9028
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58354
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Bruno Faccini <bfaccini@nvidia.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
2 weeks agoLU-16518 lnet: fix implicit-fallthrough warnings 49/58349/3
Timothy Day [Sat, 8 Mar 2025 21:46:32 +0000 (16:46 -0500)]
LU-16518 lnet: fix implicit-fallthrough warnings

Explicitly lable switch-case intentional fallthroughs
and reorder cases as needed to silence implicit-fallthrough
warnings as reported by Clang.

Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: If6550d97e9f49a6722f8e9a2ae34ba2338f39e73
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58349
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Chris Horn <chris.horn@hpe.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
2 weeks agoLU-12597 tests: remove comma_list for MDTs part 8 26/58026/3
Andreas Dilger [Wed, 9 Oct 2024 21:56:10 +0000 (15:56 -0600)]
LU-12597 tests: remove comma_list for MDTs part 8

Most places that use $(mdts_nodes) also call $(comma_list ...) at the
same time.  Rather than returning a space-separated list of nodes from
those functions, instead return a comma-separated list suitable for
use by do_nodes() and similar functions calling pdsh internally.

This avoids the repeated calls to comma_list() and makes the tests
easier to read.  Also, since comma_list() internally deduplicates the
node list, it isn't necessary to do that in the callers.  A few tests
need to convert comma-separated osts_nodes into space-separated nodes.

Test-Parameters: trivial
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I38509872350987564ca560ad93fdaba0443ebbe5
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58026
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Alex Deiter <adeiter@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
2 weeks agoLU-18506 ptlrpc: improve lu_env_add error handling 72/57272/12
Shaun Tancheff [Thu, 3 Apr 2025 05:53:33 +0000 (12:53 +0700)]
LU-18506 ptlrpc: improve lu_env_add error handling

Improve error handling for cases when lu_env_add() could fail.

HPE-bug-id: LUS-12726
Fixes: d891becebb ("LU-17668 ptlrpc: create env in few more threads")
Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: Ie6627438340196ef50355893c52eacf3322fb2ef
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57272
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
2 weeks agoLU-18244 docs: update lfs mkdir description 11/57011/4
Keguang Xu [Thu, 14 Nov 2024 07:20:25 +0000 (15:20 +0800)]
LU-18244 docs: update lfs mkdir description

Accompany with the patch 56925 where "lfs mkdir -C -N" is
supported aiming to align the behavior of OSTs, this patch
adds related description.

Test-Parameters: trivial
Signed-off-by: Keguang Xu <squalfof@gmail.com>
Change-Id: I17f8aa3d5fa7df2c2b419320a0bedd0686ebaee0
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57011
Tested-by: Maloo <maloo@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Lai Siyao <lai.siyao@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
2 weeks agoLU-15834 lfs: rid of global variable "error_loc" 52/56852/12
Bobi Jam [Fri, 1 Nov 2024 11:22:24 +0000 (19:22 +0800)]
LU-15834 lfs: rid of global variable "error_loc"

This patch removes global variable "error_loc", and makes error
string local variables, so that the functions using them are
thread safe.

Test-Parameters: trivial testlist=sanity-flr,sanity-pfl
Signed-off-by: Bobi Jam <bobijam@whamcloud.com>
Change-Id: Ib93ff122e84c94b8363b69281b5ff3fa6abb4164
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56852
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Emoly Liu <emoly@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
2 weeks agoLU-18757 tests: check UID/GID/PROJID are set in sanity-sec 75 28/58728/8
Marc Vef [Tue, 8 Apr 2025 14:09:00 +0000 (16:09 +0200)]
LU-18757 tests: check UID/GID/PROJID are set in sanity-sec 75

This patch extends sanity-sec test 75 testing all RPCs that modify
UID/GID/PROJID on the MDT inode and OST objects with the corresponding
operations. Using debugfs, the test verifies that the IDs are set
correctly.

Test-Parameters: trivial testlist=sanity-sec env=ONLY="75"
Signed-off-by: Marc Vef <mvef@whamcloud.com>
Change-Id: Iecb69bfe7b938f4fd74f196476bdfdee35197601
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58728
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
2 weeks agoLU-18757 client: Set UID/GID/PROJID on OST for OST_PUNCH RPC 47/58647/2
Marc Vef [Wed, 2 Apr 2025 19:49:59 +0000 (21:49 +0200)]
LU-18757 client: Set UID/GID/PROJID on OST for OST_PUNCH RPC

The OST_PUNCH RPC (as generated by "truncate -s" commands) does not
set the UID/GID/PROJID stored on an OST object. This is because the
obdo fields and corresponding valid flags are not set on the client
and OST sides.

This patch adds support for setting UID/GID/PROJID on the
corresponding OST objects for operations that send the OST_PUNCH RPC.

Sanity-sec test_75 is added to check that the IDs are set on the OST
objects.

Signed-off-by: Marc Vef <mvef@whamcloud.com>
Change-Id: I9baabbe9e523c98523fa30d387197e1faf38199a
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58647
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
2 weeks agoLU-18869 dne: mdt migrate to check layout 85/58585/8
Alexander Zarochentsev [Sat, 29 Mar 2025 09:53:41 +0000 (09:53 +0000)]
LU-18869 dne: mdt migrate to check layout

MDT migrate doesn't check that the requested dir
layout already applied or the old layout conforms
the new one.

Adding a check for that allows to avoid unnecessary
fs opeations especially for repeating migration attempts
after a migration failure.

The following condition and the premature exit from
the migrate procedure:

if (spobj == tpobj)
GOTO(out, rc = -EALREADY);

was removed from mdd_migrate_object() due to it
didn't allow repeat of the same migrate command to
try to migrate objects which had been skipped in the
previous migrate attempt as they were open or had
LinkEA overflow.

lod_striping_from_default() should use named
constant of LMV_OFFSET_DEFAULT instead of -1.

HPE-bug-id: LUS-12657
Signed-off-by: Alexander Zarochentsev <alexander.zarochentsev@hpe.com>
Change-Id: Iaacffcc1ecf34c5e01cba57a44c5e3ade97d936a
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58585
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Lai Siyao <lai.siyao@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
2 weeks agoLU-18878 ptlrpc: improve ping evictor and recovery timeout 20/58620/3
Vitaly Fertman [Mon, 31 Mar 2025 17:51:28 +0000 (20:51 +0300)]
LU-18878 ptlrpc: improve ping evictor and recovery timeout

Let's re-use the logic used for extending the ldlm prolong timeout for
the ping evictor timeout and for recovery timer timeout - use the AT
instead of hard-coded values.

As the AT-based ping timeout is extended on different value each time,
moving an updated export to the end of the timed list is able to make
it not well sorted. Change the list of timed exports, to the rbtree.

Partially revert LUS-11054, tunable ping_evict_timeout_multiplier is
not needed anymore

A minor cleanup of exp_timed flag on connect/reconnect.

Fixes: 8e66f061c ("LU-16002 ptlrpc: adds configurable ping interval”)
HPE-bug-id: LUS-11723
Signed-off-by: Vitaly Fertman <vitaly.fertman@hpe.com>
Change-Id: I97b9795746ccd4242f9798c8192abd4d7a57bbac
Reviewed-on: https://es-gerrit.hpc.amslabs.hpecorp.net/162935
Reviewed-by: Alexey Lyashkov <alexey.lyashkov@hpe.com>
Reviewed-by: Alexander Boyko <alexander.boyko@hpe.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58620
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>
3 weeks agoNew tag 2.16.54 2.16.54 v2_16_54
Oleg Drokin [Thu, 10 Apr 2025 07:00:51 +0000 (03:00 -0400)]
New tag 2.16.54

Change-Id: Icd8bc90c1843f6b3fc0489e7b651370362082d3f
Signed-off-by: Oleg Drokin <green@whamcloud.com>
3 weeks agoLU-18419 tests: use ior when installed 74/56874/6
Alex Zhuravlev [Mon, 4 Nov 2024 04:41:45 +0000 (07:41 +0300)]
LU-18419 tests: use ior when installed

try to find both ior and IOR.

Test-Parameters: trivial
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: Ief3effd7cab542195a8f7aff77fb58ea57a71469
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56874
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>
3 weeks agoLU-13726 build: fix spelling.txt pattern matching 96/58596/2
Andreas Dilger [Sun, 30 Mar 2025 04:11:40 +0000 (22:11 -0600)]
LU-13726 build: fix spelling.txt pattern matching

Fix the overly-broad regexp "%.*s" added for "DNAME" checking,
which matches *all* string format specifiers (since ".*" can be
zero or more characters).  This should be matching the literal
format "%.*s" for fixed-length strings.

Reorder other strings in spelling.txt to (roughly) alphabetical
order to make them easier to find.

Test-Parameters: trivial
Fixes: d097fcc51b ("LU-18810 obd: add a parameter to enable filename encoding")
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I0009f9470d16c340ebf5bcd2384b477bac500c13
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58596
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
3 weeks agoLU-18867 kernel: update RHEL 8.10 [4.18.0-553.46.1.el8_10] 79/58579/2
Jian Yu [Sat, 29 Mar 2025 06:28:03 +0000 (23:28 -0700)]
LU-18867 kernel: update RHEL 8.10 [4.18.0-553.46.1.el8_10]

Update RHEL 8.10 kernel to 4.18.0-553.46.1.el8_10.

Test-Parameters: trivial fstype=ldiskfs mdtcount=4 mdscount=2 \
  clientdistro=el8.10 serverdistro=el8.10 testlist=sanity

Test-Parameters: optional fstype=zfs mdtcount=4 mdscount=2 \
  env=SANITY_EXCEPT="66 413" \
  clientdistro=el8.10 serverdistro=el8.10 testlist=sanity

Test-Parameters: optional fstype=ldiskfs mdtcount=4 mdscount=2 \
  clientdistro=el8.10 serverdistro=el8.10 testgroup=full-dne-part-1

Test-Parameters: optional fstype=ldiskfs mdtcount=4 mdscount=2 \
  clientdistro=el8.10 serverdistro=el8.10 testgroup=full-dne-part-2

Test-Parameters: optional fstype=ldiskfs mdtcount=4 mdscount=2 \
  clientdistro=el8.10 serverdistro=el8.10 testgroup=full-dne-part-3

Test-Parameters: optional fstype=zfs mdtcount=4 mdscount=2 \
  clientdistro=el8.10 serverdistro=el8.10 testgroup=full-dne-zfs-part-1

Test-Parameters: optional fstype=zfs mdtcount=4 mdscount=2 \
  clientdistro=el8.10 serverdistro=el8.10 testgroup=full-dne-zfs-part-2

Test-Parameters: optional fstype=zfs mdtcount=4 mdscount=2 \
  clientdistro=el8.10 serverdistro=el8.10 testgroup=full-dne-zfs-part-3

Change-Id: I3e1a75def1d2856686732c3254e7b0d6128d86e5
Signed-off-by: Jian Yu <yujian@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58579
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Alex Deiter <adeiter@ddn.com>
Reviewed-by: Yang Sheng <ys@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
3 weeks agoLU-18834 obdclass: check overflow when doing sum in stats 66/58566/3
Emoly Liu [Fri, 28 Mar 2025 10:30:54 +0000 (18:30 +0800)]
LU-18834 obdclass: check overflow when doing sum in stats

Check overflow when calculating cl_sum and cl_sumsquare in stats.

Signed-off-by: Emoly Liu <emoly@whamcloud.com>
Change-Id: Icdf31324ef0f06adc184e6fe5348acad25962d53
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58566
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Zhenyu Xu <bobijam@hotmail.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
3 weeks agoLU-18859 quota: show default quota and root squash 63/58563/4
Sergey Cheremencev [Tue, 18 Mar 2025 00:14:37 +0000 (03:14 +0300)]
LU-18859 quota: show default quota and root squash

When show default quotas don't swap ID=0 with squashed ID.
It is not required as default quotas are stored in a ROOT
lqe. Patch is against the following panic:

 (qmt_handler.c:58:qmt_get())
ASSERTION( !is_default || id->qid_uid == 0 ) failed:
 (qmt_handler.c:58:qmt_get()) LBUG
  ...
  dump_stack+0x41/0x60
  lbug_with_loc.cold.8+0x5/0x43 [libcfs]
  qmt_get+0x185/0x3e0 [lquota]
  qmt_quotactl+0x309/0xa10 [lquota]
  mdt_quotactl+0x21f/0x880 [mdt]
  tgt_request_handle+0xc9c/0x1990 [ptlrpc]
  ptlrpc_server_handle_request+0x323/0xbd0 [ptlrpc]
  ptlrpc_main+0xb45/0x13a0 [ptlrpc]
  kthread+0x134/0x150

Cleanup lqes created in sanity-quota_87 "lfs quota -a should
print default quota setting". Without that new default quota
limits are applied to 50 default lqes created in test case 87.
It produces too many useless lustre debug logs.

Add into stack_trap restoring initial nodemap values changed
in tests 1j and 75.

Fixes: 2686838fef ("LU-18240 sec: enforce per-nodemap project quota for root")
Fixes: a4fbe7341b ("LU-14739 quota: nodemap squashed root cannot bypass quota")
Fixes: 115562106b ("LU-18453 quota: show default quota in lfs quota -a")
Signed-off-by: Sergey Cheremencev <scherementsev@ddn.com>
Change-Id: Ieef5f8b99c92d8fef3addcb7d55771c96c82129f
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58563
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
3 weeks agoLU-18293 test: use direct IO for quota test 33/58533/3
Hongchao Zhang [Tue, 18 Mar 2025 08:40:02 +0000 (16:40 +0800)]
LU-18293 test: use direct IO for quota test

In subtest 1b, 1c, 1d, the quota test should use DD with direct flag
to make sure the over-quota check is correct.

Test-Parameters: trivial testlist=sanity-quota env=ONLY=1,ONLY_REPEAT=100
Signed-off-by: Hongchao Zhang <hongchao@whamcloud.com>
Change-Id: Ief327fb56fdd2e5911e5f57256d5ec683e5edf8e
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58533
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Sergey Cheremencev <scherementsev@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
3 weeks agoLU-16134 utils: un-deprecate 'lctl set_param -F' 32/58532/3
Andreas Dilger [Wed, 26 Mar 2025 07:55:11 +0000 (01:55 -0600)]
LU-16134 utils: un-deprecate 'lctl set_param -F'

The "lctl set_param -F" command was accidentally disabled in 2.16 due
to a mis-merge between two in-flight patches.  Restore this command.

Change some functions to use "const char" for string arguments.

Add an example usage of "lctl set_param -F" in the lctl-set_param.8
man page, and update it to match style guidelines.  Add descriptions
of the usage examples in the EXAMPLES section.

Update checkpatch-man.pl to quiet spurious warnings about examples
with client#, mgs#, mds#, or oss# in the command-line prompt text.

Test-Parameters: trivial
Test-Parameters: testlist=conf-sanity env=ONLY=123 combinedmdsmgs=false
Test-Parameters: testlist=conf-sanity env=ONLY=123 combinedmdsmgs=true
Fixes: 8be38f4bd8 ("LU-11077 utils: move get/set/list_param into own file")
Fixes: 29cfdc2f1e ("LU-16134 utils: adds lctl apply_yaml")
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I7e8140bf5e1c5747df4785539a6fda491d500c1e
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58532
Tested-by: Maloo <maloo@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Alexander Boyko <alexander.boyko@hpe.com>
3 weeks agoLU-16049 llite: struct cleanup and option ordering 15/58515/3
Andreas Dilger [Fri, 21 Mar 2025 23:09:03 +0000 (17:09 -0600)]
LU-16049 llite: struct cleanup and option ordering

Reorder some fields in struct ll_file_data and ll_inode_info to
remove holes to save space in these commonly-used structures.
Rename struct ll_file_data ll_lock_no_expand->lfd_lock_no_expand.

Alphabetize LL_SBI_ enum to be in alphabetical order (by option
type) so that it is easier to find options, and to deconflict
future field insertions so that they are not always at the end.
These values are only used in memory on the client.

Partly alphabetize the llite_attrs table to make it easier to
find entries, and deconflict future field insertions.  Not fully
ordered to avoid conflicts with in-flight patches.

There should not be any functional changes in this patch.

Test-Parameters: trivial
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I8b58e59bc7e5d4ab7422303edcac0036c82540e5
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58515
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
3 weeks agoLU-18837 tests: fix numeric comparison in sanity/101a 69/58469/3
Andreas Dilger [Thu, 20 Mar 2025 00:22:45 +0000 (18:22 -0600)]
LU-18837 tests: fix numeric comparison in sanity/101a

Use (( ... )) instead of [[ ... ]] for numeric comparisons.

Test-Parameters: trivial
Fixes: ff78e1aa33 ("LU-4322 tests: re-enable 101a in dne config")
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I5e210e0ca6495df4497ef7071086ef5928c267eb
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58469
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
3 weeks agoLU-18803 lmv: add statfs stats to LMV device 32/58432/5
Andreas Dilger [Mon, 17 Mar 2025 08:11:33 +0000 (02:11 -0600)]
LU-18803 lmv: add statfs stats to LMV device

Enable the statfs stats for LMV to show aggregate stats, including
the marged (minimum) os_namelen from all MDTs.

Merge os_state together from targets.  Merge "downgrade" flags if
any target has a problem, mask "upgrade" flags if any target does
not have this improvement.

Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I07451e65b04e5570a025bd9ff2e72f34a00273c7
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58432
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Artem Blagodarenko <ablagodarenko@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
3 weeks agoLU-18752 obd: standardize error handling in obd_class.h 23/58223/4
Timothy Day [Wed, 26 Feb 2025 04:26:13 +0000 (23:26 -0500)]
LU-18752 obd: standardize error handling in obd_class.h

Remove OBD_CHECK_DEV_ACTIVE in favor of adding the same
checks obd_check_dev(). Convert all callers to use
obd_check_dev(). At the same time, cleanup imp_check_ops()
and fix Lustre macro usage.

Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: I270799dd36ca5e312f1d3257bdd9aa68fdd1e835
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58223
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
3 weeks agoLU-18687 doc: move man pages to Documentation [0] 21/58021/7
Timothy Day [Sat, 29 Mar 2025 22:28:57 +0000 (18:28 -0400)]
LU-18687 doc: move man pages to Documentation [0]

Consolidate all of the man pages into the top
level Documentation directory.

Start by setting up the initial directory
structure in Documentation/.

Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: I15ed0687803513a7726cc5bd53b5ee5eb8f699f0
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58021
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Ellis Wilson <elliswilson@microsoft.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
3 weeks agoLU-18475 build: compatibility updates for kernel 6.13 06/57906/10
Shaun Tancheff [Wed, 19 Feb 2025 09:38:10 +0000 (16:38 +0700)]
LU-18475 build: compatibility updates for kernel 6.13

Linux v5.8-2483-gc0842fbc1b18
  random32: move the pseudo-random 32-bit definitions to prandom.h
Include prandom.h when available

Linux v6.13-rc1-2-gcdd30ebb1b9f
  module: Convert symbol namespace to string literal
__stringify macros used by MODULE_IMPORT_NS()

Linux v6.12-rc1-5-gfd15ba4cb00a
  ceph: Remove call to PagePrivate2()
PagePrivate2 removed, provide a replacement for older kernels.

Test-Parameters: trivial
Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: I6e1e43bad2fff967bbfce2e3df0f0f6ff251e413
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57906
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
3 weeks agoLU-7021 osd: fix credits optimization 70/57570/5
Alex Zhuravlev [Mon, 23 Dec 2024 05:35:09 +0000 (08:35 +0300)]
LU-7021 osd: fix credits optimization

as object's uid/gid can change after declaration in a concurrent
thread, we can't really trust them to optimaze credits calculation.
so only target uid/gid (what we declare to change to) can be used
for optimization.

Fixes: 9f79d4488  ("LU-10048 ofd: take local locks within transaction")
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: If859e64033487574ebb670e80f11c968f1595d00
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57570
Reviewed-by: Mikhail Pershin <mpershin@whamcloud.com>
Reviewed-by: Li Dongyang <dongyangli@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
3 weeks agoLU-17055 ldiskfs: add falloc(zero) for OST/ext 63/57763/6
Keguang Xu [Wed, 15 Jan 2025 05:57:30 +0000 (13:57 +0800)]
LU-17055 ldiskfs: add falloc(zero) for OST/ext

This patch implements falloc(FALLOC_FL_ZERO_RANGE)
on the ldiskfs backend.

Here, we just follow the implementation of "LU-10048 osd:
async truncate" where we as well execute zeroing outside
of main transaction handle, to avoids restarting zeroing
transaction handles in main transaction.

NOTE: this is the 1st part of falloc(zero) where it functions
only on ldiskfs-extend. To address DoM/indirect part another
patch will be added.

Signed-off-by: Keguang Xu <squalfof@gmail.com>
Change-Id: I76310546715f96872bf4dd441beb453ee4ac0abe
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57763
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Qian Yingjin <qian@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
3 weeks agoLU-17431 nodemap: introduce child_raise_privileges property 39/55539/14
Sebastien Buisson [Tue, 25 Jun 2024 11:02:55 +0000 (13:02 +0200)]
LU-17431 nodemap: introduce child_raise_privileges property

The new 'child_raise_privileges' property is a mask of nodemap
properties. It is set to 'none' by default, meaning child nodemaps can
only lower privileges established by their parent nodemap.
Parent nodemaps can grant permission for child nodemaps to raise
privilege associated with a nodemap property by adding it to
child_raise_privileges. Possible values (multiple can be specified,
comma separated) are:
- admin, defining whether root is squashed;
- trusted, permitting to see the file system's canonical identifiers;
- deny_unknown, denying all access to users not explicitly mapped;
- readonly_mount, forcing clients to read-only mount;
- forbid_encryption, preventing use of encryption by clients;
- subnm_raise_privs, for the raise privileges property itself;
- and any roles accepted by the rbac property, defining admin roles.
To allow all privileges to be raised, use 'all' value.
Any privilege not explicitly specified by the parent cannot be raised
in the child nodemap.

Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: Ifac5e3ea2f47ea3910e7cd0de6379b0e9ada8d18
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55539
Reviewed-by: Marc Vef <mvef@whamcloud.com>
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>
3 weeks agoLU-17431 tests: exercise dynamic nodemap on MDS 02/55002/18
Sebastien Buisson [Fri, 12 Apr 2024 09:21:18 +0000 (11:21 +0200)]
LU-17431 tests: exercise dynamic nodemap on MDS

Rename sanity-sec test_72 to test_72a to exercise dynamic nodemaps
on OSS side. And add sanity-sec test_72b to exercise dynamic nodemaps
on MDS side. This supports the case where the MDS runs on the same
node as the MGS, and with a combo MGS/MDS as well.

Test-Parameters: trivial
Test-Parameters: testlist=sanity-sec env=ONLY=72 mdscount=2 mdtcount=4 osscount=1 ostcount=8 clientcount=2
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: Idb32ee46f8809160ddc4c54960c10d565b3396d7
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55002
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Marc Vef <mvef@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
3 weeks agoLU-17431 nodemap: make dynamic nodemaps hierarchical 39/54739/18
Sebastien Buisson [Wed, 20 Mar 2024 14:40:56 +0000 (15:40 +0100)]
LU-17431 nodemap: make dynamic nodemaps hierarchical

Introduce a new rn_subtree field in struct lu_nid_range.
This allows to have NID ranges included into other NID ranges,
hence creating a NID range hierarchy. NID ranges are created in
a subtree only if there is already a range in the parent tree
that includes it. Overlapping NID ranges remain forbidden.

Introduce new fields nm_subnodemaps, nm_parent_entry in struct
lu_nodemap to keep track of the sub-nodemaps attached to a given
nodemap. Also use a new nm_parent_nm field that points to the parent
nodemap. This allows to create a nodemap hierarchy, based on the
NID ranges.

Introduce a new -p|--parent option to lctl nodemap_add to specify
the parent nodemap of a dynamic nodemap at creation time. The NID
ranges of the child nodemap must be included in the ranges of the
parent nodemap. A dynamic nodemap can have only one parent.

Make a sub-nodemap inherit all the parent nodemap's properties,
and the id mapping as well. And expose parent name as part of nodemap
properties. This is valid for dynamic nodemaps only.

Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: I04a14db92c068f3cb5b6b39e75feb802cebacd8a
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/54739
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Marc Vef <mvef@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
3 weeks agoLU-17431 nodemap: modify all properties of a dynamic nm 88/58088/6
Sebastien Buisson [Fri, 14 Feb 2025 16:41:54 +0000 (17:41 +0100)]
LU-17431 nodemap: modify all properties of a dynamic nm

All properties of a dynamic nodemap must be taken into account. So
move the check for dynamic in nodemap_idx_* functions, except for
nodemap_activate which is independent of any nodemap.
Update sanity-sec test_72 to correctly exercise this.

Fixes: db818bd040 ("LU-17431 nodemap: allow modifying properties of a dynamic nm")
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: I5fb7877669fdf7689b1be1f065006644f0a3f15c
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58088
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Marc Vef <mvef@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
3 weeks agoLU-18751 lnet: test lnetctl fault reset directly 23/58623/4
Shaun Tancheff [Wed, 2 Apr 2025 00:53:07 +0000 (07:53 +0700)]
LU-18751 lnet: test lnetctl fault reset directly

Using 'do_lnetctl' confounds the required command line arguments
when calling:

    lnetctl fault reset <None>

So avoid the helper function for this case.

Test-Parameters: trivial testlist=sanity-lnet env=ONLY=410,ONLY_REPEAT=50
Fixes: dc54ff3310 ("LU-18751 lnet: fix sanity-lnet/410 test case")
Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: I72ab8a06bbf1a95fd51aac4fb13955c0c03f8dd0
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58623
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Frank Sehr <fsehr@whamcloud.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
3 weeks agoLU-14438 ldiskfs: backport ldiskfs mballoc patches 72/51472/22
Bobi Jam [Tue, 3 Sep 2024 15:42:43 +0000 (23:42 +0800)]
LU-14438 ldiskfs: backport ldiskfs mballoc patches

This contains following kernel patches:

cfd732377221 ("ext4: add prefetching for block allocation bitmaps")
3d392b2676bf ("ext4: add prefetch_block_bitmaps mount option")
dddcd2f9ebde ("ext4: optimize the implementation of
     ext4_mb_good_group()")
67d251860461 ("ext4: drop s_mb_bal_lock and convert protected fields
                     to atomic")
a6c75eaf1103 ("ext4: add mballoc stats proc file")
4b68f6df1059 ("ext4: add MB_NUM_ORDERS macro")
196e402adf2e ("ext4: improve cr 0 / cr 1 group scanning")
21175ca434c5 ("ext4: make prefetch_block_bitmaps default")
077d0c2c78df ("ext4: make mb_optimize_scan performance mount option
                     work with extents")
3fa5d23e68a3 ("ext4: reflect mb_optimize_scan value in options file")
4fca50d440cc ("ext4: make mballoc try target group first even with
                     mb_optimize_scan")
1940265ede66 ("ext4: avoid unnecessary spreading of allocations among
                     groups")
a9f2a2931d0e ("ext4: use locality group preallocation for small
                     closed files")
83e80a6e3543 ("ext4: use buckets for cr 1 block scan instead of
                     rbtree")
80fa46d6b9e7 ("ext4: limit the number of retries after discarding
                     preallocations blocks")
a078dff87013 ("ext4: fixup possible uninitialized variable access in
                     ext4_mb_choose_next_group_cr1()")
820897258ad3 ("ext4: Refactor code related to freeing PAs")
5354b2af3406 ("ext4: allow ext4_get_group_info() to fail")
3c6296046c85 ("ext4: Don't skip prefetching BLOCK_UNINIT groups")
4f3d1e4533b0 ("ext4: Ensure ext4_mb_prefetch_fini() is called for all
                     prefetched BGs")

Signed-off-by: Bobi Jam <bobijam@whamcloud.com>
Change-Id: I079dfb74bd743894934484803cedb683073e4d94
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/51472
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: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
3 weeks agoLU-16565 ldlm: Add ldlm_is,set,clear to spelling 30/50030/5
Patrick Farrell [Thu, 16 Feb 2023 23:10:12 +0000 (18:10 -0500)]
LU-16565 ldlm: Add ldlm_is,set,clear to spelling

Prior to removing the ldlm flag macros, add them to spelling.txt

Test-Parameters: trivial
Signed-off-by: Patrick Farrell <pfarrell@whamcloud.com>
Change-Id: Ic0fcfb7603c956010e90812338bec38964e815ce
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/50030
Reviewed-by: Andreas Dilger <adilger@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>
3 weeks agoLU-18873 obdclass: add namelen check in encode_fn_len() 08/58608/3
Emoly Liu [Mon, 31 Mar 2025 11:39:57 +0000 (19:39 +0800)]
LU-18873 obdclass: add namelen check in encode_fn_len()

Add namelen check in function encode_fn_len() to avoid coverity
warnings.

Fixes: d097fcc51b8 ("LU-18810 obd: add a parameter to enable filename encoding")
Signed-off-by: Emoly Liu <emoly@whamcloud.com>
Change-Id: Ic1cc7238cd659254e286d8a595dc5203ae7dbc0b
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58608
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
3 weeks agoLU-18676 tests: enable sanity-quota_49 97/57997/7
Sergey Cheremencev [Fri, 7 Feb 2025 00:15:46 +0000 (03:15 +0300)]
LU-18676 tests: enable sanity-quota_49

The fix "LU-18676 tests: random write to set file size"
has been landed, so re-enable the test.

Fixes: 149657180e ("LU-18676 tests: random write to set file size")
Test-Parameters: trivial testlist=sanity-quota fstype=zfs
Test-Parameters: testlist=sanity-quota fstype=zfs env=ONLY=49,ONLY_REPEAT=20
Signed-off-by: Sergey Cheremencev <scherementsev@ddn.com>
Change-Id: Ie3171cff03ce957cc88efe81b4c837a1872b139b
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57997
Tested-by: Maloo <maloo@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
3 weeks agoLU-13814 lov: remove non-dio handling in lov_dio_submit 07/52107/26
Patrick Farrell [Fri, 23 Feb 2024 16:28:11 +0000 (11:28 -0500)]
LU-13814 lov: remove non-dio handling in lov_dio_submit

lov_dio_submit is now specialized to dio.  Cleanup
accordingly.

Signed-off-by: Patrick Farrell <patrick.farrell@oracle.com>
Change-Id: I4e293011c77eb1b7b8f2c0ec78565458a6fe047c
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/52107
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Marc Vef <mvef@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Qian Yingjin <qian@ddn.com>
3 weeks agoLU-13814 clio: add cio_dio_submit 05/52105/29
Patrick Farrell [Fri, 23 Feb 2024 16:27:43 +0000 (11:27 -0500)]
LU-13814 clio: add cio_dio_submit

Add cio_dio_submit method and push it down in to the lov
layer.

Note this part of the series relies on the slightly clever
fact that there is no vvp method for this and the LOV
method calls the OSC method.  This lets us do setup and
teardown of the queue in the lov layer.

The next step is to push the queue handling through this
function to the cl_io_submit_rw call here, which may be
non-trivial.

Signed-off-by: Patrick Farrell <patrick.farrell@oracle.com>
Change-Id: I3a2a7b7921391be3cc9a157d4351228226016a51
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/52105
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Marc Vef <mvef@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
3 weeks agoLU-13814 clio: Add cl_dio_submit_rw 04/52104/30
Patrick Farrell [Fri, 23 Feb 2024 16:26:43 +0000 (11:26 -0500)]
LU-13814 clio: Add cl_dio_submit_rw

This pushes the queue handling to the cl_io_submit_rw
level.

Signed-off-by: Patrick Farrell <patrick.farrell@oracle.com>
Change-Id: I38ca5ff2f497147e8246ebc43ff109eecbd127bb
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/52104
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Qian Yingjin <qian@ddn.com>
Reviewed-by: Marc Vef <mvef@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
3 weeks agoLU-13814 clio: add cdp_cl_pages tracking 03/52103/29
Patrick Farrell [Fri, 12 Jul 2024 15:58:13 +0000 (11:58 -0400)]
LU-13814 clio: add cdp_cl_pages tracking

This enables us start the lengthy process of converting the
DIO path from using lists of cl_pages to using a single
cl_dio_pages array.

We add a temporary cdp_cl_pages array tracking the cl_pages
and a function to convert it to a queue.  Subsequent
patches will push this through the DIO path, gradually
converting each step to use cl_dio_pages until there are no
steps left which use lists of cl_page.

This moves the queue usage to the cl_dio_pages queue for
ll_direct_rw_pages, the first step.

Signed-off-by: Patrick Farrell <patrick.farrell@oracle.com>
Change-Id: If7cb5cbb01afd96939b05124358345a0d518c180
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/52103
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Marc Vef <mvef@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 weeks agoLU-17305 obdclass: do not link all exports to obd's timed list 92/53192/15
Vladimir Saveliev [Tue, 27 Aug 2024 08:17:30 +0000 (11:17 +0300)]
LU-17305 obdclass: do not link all exports to obd's timed list

Osp device may get class_cleanup()-ed in course of evictor process
where obd->u.cli.cl_import gets zeroed:
ping_evictor_main
  class_fail_export
    obd_disconnect
      osp_obd_disconnect
        class_manual_cleanup
          class_process_config(LCFG_CLEANUP)
            class_cleanup
              obd_precleanup
                osp_device_fini
                  client_obd_cleanup
                    obd_cleanup_client_import
                      obd->u.cli.cl_import = NULL;

osp-pre threads are not stopped by the evictor, which leads to
assertion on:
osp_precreate_thread
  osp_statfs_update
    imp = d->opd_obd->u.cli.cl_import;
    LASSERT(imp);

Test to illustrate the issue is added.

Add to obd's timed list only evictable exports

HPE-bug-id: LUS-11933
Signed-off-by: Vladimir Saveliev <vladimir.saveliev@hpe.com>
Change-Id: I1aab4a573fc4ef33d53d822bec1a28dd3bcece74
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/53192
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Vitaly Fertman <vitaly.fertman@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 weeks agoLU-18748 tests: fix sanity/56c with flash devices 43/58543/2
Andreas Dilger [Wed, 26 Mar 2025 14:58:04 +0000 (08:58 -0600)]
LU-18748 tests: fix sanity/56c with flash devices

Fix sanity test_56c to fetch the initial "lfs df" state with "-v"
in case some devices are flash ('f') at the start of the test.

Test-Parameters: trivial
Fixes: 0523ed8625 ("LU-18748 class: print statfs_state for OBD devices")
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I3a710c876a0918b20f9bbd7e13cf4b2b1e500c1e
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58543
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
5 weeks agoLU-18832 utils: lctl set_param --help segfault 10/58510/4
Giardi Sylwyn [Wed, 19 Mar 2025 10:23:16 +0000 (11:23 +0100)]
LU-18832 utils: lctl set_param --help segfault

Correct a bug when calling lctl. In some cases, using unkown option
made lctl to segfault. Corrected by adding NULL element at the end
of the longpost list to help parsing.

Test-Parameters: trivial
Fixes: e7b8986619 ("LU-17416 utils: option for lctl get_param to skip links")
Signed-off-by: Giardi Sylwyn <sylwyn.giardi@cea.fr>
Change-Id: I50cf97cf132e899a4f5c4a8f079638ecfe9ca6a4
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58510
Tested-by: Maloo <maloo@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Etienne AUJAMES <eaujames@ddn.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
5 weeks agoLU-8066 ptlrpc: move simple req_buffer_* to sysfs 98/58498/2
James Simmons [Fri, 21 Mar 2025 16:17:48 +0000 (12:17 -0400)]
LU-8066 ptlrpc: move simple req_buffer_* to sysfs

Some of the ptlrpc req_buffer_* debugfs files are simple
enough to move to sysfs.

Test-Parameters: trivial
Change-Id: I0feb554de2d4cdabe1c9bc4e5cf1fc700d0ea679
Signed-off-by: James Simmons <jsimmons@infradead.org>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58498
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 weeks agoLU-18846 osd-ldiskfs: fix error handling in iam_lookup_try 89/58489/2
Li Dongyang [Fri, 21 Mar 2025 01:55:06 +0000 (12:55 +1100)]
LU-18846 osd-ldiskfs: fix error handling in iam_lookup_try

We should check the return code from id_node_read(),
frame->bh could be -EIO or NULL, using it with iam_lock_bh()
could end up crashing.

Change-Id: If9899e2650c6949913217656f803db64c3a0c6fa
Test-Parameters: trivial
Signed-off-by: Li Dongyang <dongyangli@ddn.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58489
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 weeks agoLU-18833 ofd: Set OS_STATE_* flags correctly for read-only devices 88/58488/4
Arshad Hussain [Thu, 20 Mar 2025 20:32:52 +0000 (02:02 +0530)]
LU-18833 ofd: Set OS_STATE_* flags correctly for read-only devices

Set OS_STATE_* flags correctly for read-only devices
which is set via obdfilter.*.readonly params.

sanity/56ca added.

Test-Parameters: trivial
Fixes: 3483556684 ("LU-12515 ofd: allow setting a target to readonly")
Signed-off-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Change-Id: Ie35c5e71ced77ebf196d0f4b27e97721e1ea60b1
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58488
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
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>
5 weeks agoLU-18836 utils: lctl SIGSEGV in parser.c 68/58468/2
Frank Sehr [Wed, 19 Mar 2025 19:50:34 +0000 (12:50 -0700)]
LU-18836 utils: lctl SIGSEGV in parser.c

Added additional checks for NULL pointers in execute_line().

Test-Parameters: trivial
Signed-off-by: Frank Sehr <fsehr@whamcloud.com>
Change-Id: I0e470edadd3b4db4c47f0f42f52d34d541290224
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58468
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Cyril Bordage <cbordage@whamcloud.com>
Reviewed-by: Manish Regmi <mregmi@ddn.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 weeks agoLU-18825 gss: survive improper import at ctx init 54/58454/3
Sebastien Buisson [Tue, 18 Mar 2025 16:14:16 +0000 (17:14 +0100)]
LU-18825 gss: survive improper import at ctx init

GSS context init requests can happen even after a client has been
unmounted, because they are coming from userspace (request-key,
lgss_keyring).
In this case they must be ignored, and code must be robust to survive
improper, already or partially shutdown import.

Test-Parameters: kerberos=true testlist=sanity-krb5
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: I06d031c28c769d1383d37de1d2c94ef64eb0eda3
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58454
Reviewed-by: Aurelien Degremont <adegremont@nvidia.com>
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>
5 weeks agoLU-9633 fid: Add kernel doc style for fid/*.c 19/58419/2
Arshad Hussain [Fri, 14 Mar 2025 09:24:18 +0000 (14:54 +0530)]
LU-9633 fid: Add kernel doc style for fid/*.c

This patch converts existing functional comments
to kernel doc style comments and removes '/**' for
comments which is not meant to be a kernel-doc comment

Test-Parameters: trivial
Signed-off-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Change-Id: I1e844495cc9bffba8b6ec065577470075523dccc
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58419
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Petros Koutoupis <petros.koutoupis@hpe.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Anjus George <georgea@ornl.gov>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 weeks agoLU-9633 obdclass: Add kernel doc style for obdclass/cl_io.c 15/58415/2
Arshad Hussain [Sat, 15 Mar 2025 20:33:27 +0000 (02:03 +0530)]
LU-9633 obdclass: Add kernel doc style for obdclass/cl_io.c

This patch converts existing functional comments
to kernel doc style comments and removes '/**' for
comments which is not meant to be a kernel-doc comment

Test-Parameters: trivial
Signed-off-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Change-Id: Ib0a8bc3bdef68a6e894a683f4d79396f081eff61
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58415
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Petros Koutoupis <petros.koutoupis@hpe.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Anjus George <georgea@ornl.gov>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 weeks agoLU-16518 lnet: remove want_large_primary in lnet_peer_merge_data() 53/58353/2
Timothy Day [Sat, 8 Mar 2025 23:15:15 +0000 (23:15 +0000)]
LU-16518 lnet: remove want_large_primary in lnet_peer_merge_data()

This variable is not usused anywhere, so let's remove
it.

Fixes: 57bcd6aa7f5f ("LU-10391 lnet: lnet_peer_merge_data to understand large addr")
Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: If1f67280b15bb2cd37bd29b6731a7956a83e29ca
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58353
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 weeks agoLU-16518 lustre: fix implicit-fallthrough warnings 48/58348/2
Timothy Day [Sat, 8 Mar 2025 21:05:27 +0000 (16:05 -0500)]
LU-16518 lustre: fix implicit-fallthrough warnings

Explicitly lable switch-case intentional fallthroughs
and reorder cases as needed to silence implicit-fallthrough
warngins as reported by Clang.

Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: I7322b3e4f37bcd1716ca48a31ce698798b58e6cf
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58348
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>
5 weeks agoLU-16518 mdt: implicit truncation to a one-bit field 47/58347/3
Timothy Day [Sat, 8 Mar 2025 20:28:26 +0000 (15:28 -0500)]
LU-16518 mdt: implicit truncation to a one-bit field

Change the uc_rbac one-bit fields to unsigned int
to avoid an implicit truncation error reported by
Clang (-Wsingle-bit-bitfield-constant-conversion).

Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: I394e71d5d572d4586de55093d4cc60729041a822
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58347
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 weeks agoLU-18753 ldlm: remove unused stub functions 64/58264/3
Timothy Day [Fri, 28 Feb 2025 06:27:50 +0000 (01:27 -0500)]
LU-18753 ldlm: remove unused stub functions

Remove:

ldlm_lock_fail_match()
ldlm_error2errno()
ldlm_pool_get_clv()
ldlm_pool_set_slv()
ldlm_imp2pl()

They are not called anywhere.

Fixes: e536e511c9e6 ("LU-5829 ldlm: remove unnecessary EXPORT_SYMBOL")
Fixes: fce887d1f9e0 ("b=15226")
Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: Iff93740206b1cf295d4500c8135ea1d2343f4b66
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58264
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 weeks agoLU-16565 ldlm: [2] Remove ldlm is,set,clear macros 49/57549/3
Timothy Day [Fri, 20 Dec 2024 04:16:33 +0000 (23:16 -0500)]
LU-16565 ldlm: [2] Remove ldlm is,set,clear macros

Replaces ldlm_{is,set,clear} macros with the direct flag
names.

The patch has been generated with the coccinelle script in
contrib/cocci/ldlm_flags.cocci.

Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: I30fb07d30f08e84e98d42e2cd11792833ac45c1f
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57549
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 weeks agoLU-18420 misc: Use enum mds_ibits_locks instead of __u64 (part 2) 53/56953/17
Arshad Hussain [Mon, 11 Nov 2024 09:44:10 +0000 (04:44 -0500)]
LU-18420 misc: Use enum mds_ibits_locks instead of __u64 (part 2)

This patch is part 2 that uses enum mds_ibits_locks
instead of generic __u64.

Test-Parameters: testlist=runtests serverversion=2.15
Test-Parameters: testlist=runtests clientversion=2.15
Signed-off-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Change-Id: I77ddc7787c61ce4ef6b9d2041490446d20ce691c
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56953
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
5 weeks agoLU-18806 dne: migrate to skip non-migratable files 02/58402/7
Alexander Zarochentsev [Thu, 13 Mar 2025 18:17:29 +0000 (18:17 +0000)]
LU-18806 dne: migrate to skip non-migratable files

Allow migrate and dir restripe to skip open files
and files with LinkEA overflow and continue the
migrate operation.

HPE-bug-id: LUS-12783
Signed-off-by: Alexander Zarochentsev <alexander.zarochentsev@hpe.com>
Change-Id: I4fa4cbe49d7681cdda9ba1d043f3c0a8a5d0efe9
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58402
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andrew Perepechko <andrew.perepechko@hpe.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 weeks agoLU-18764 tests: fix conf-sanity 123H for interop testing 66/58366/2
Etienne AUJAMES [Tue, 11 Mar 2025 10:45:22 +0000 (11:45 +0100)]
LU-18764 tests: fix conf-sanity 123H for interop testing

conf-sanity 123H failed in interrop with 2.16.1 because this version
does not have LU-18170's patch. The test should be skipped.

Test-Parameters: trivial
Test-Parameters: testlist=conf-sanity serverversion=2.16.1 env=ONLY=123H
Fixes: 5ad117fc6f ("LU-18170 obdclass: fix llog_print_cb()")
Signed-off-by: Etienne AUJAMES <eaujames@ddn.com>
Change-Id: I952d64a87b16dcfc27efeffec3953a3858bf30cf
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58366
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Alex Deiter <adeiter@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 weeks agoLU-16265 ofd: update projid on OST by Client 01/58301/7
Hongchao Zhang [Tue, 18 Feb 2025 08:42:32 +0000 (16:42 +0800)]
LU-16265 ofd: update projid on OST by Client

Occasionally it is possible that the projid of an OST object
does not get the projid from the MDS, even though the projid
is set correctly on the MDT inode.

This patch checks the projid of the file while writing or
truncating it on OST, and update its projid if it is 0

Signed-off-by: Hongchao Zhang <hongchao@whamcloud.com>
Change-Id: If8bf071341e3b8114add5fc7a2e741d3a101ac99
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58301
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>
5 weeks agoLU-18564 doc: difference between lfs 'osts' and 'check ost' 68/57468/4
Richard Henwood [Mon, 16 Dec 2024 19:04:23 +0000 (14:04 -0500)]
LU-18564 doc: difference between lfs 'osts' and 'check ost'

Update man page for lfs.1 to record commands behave
differently. 'check ost' will perform RPC, 'osts' will not.

Test-Parameters: trivial
Signed-off-by: Richard Henwood <rhenwood@ddn.com>
Change-Id: If7faf0d0108fad2f79486ca1a768a23c99b1dfb3
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57468
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Mathieu Dube <mdube@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 weeks agoLU-18424 tests: sanity to cleanup files 02/56902/5
Alex Zhuravlev [Tue, 5 Nov 2024 14:33:58 +0000 (17:33 +0300)]
LU-18424 tests: sanity to cleanup files

add stack_trap's to few sanity's subtests to remove files upon
subtest competion.

Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: Ibcdafa330ca0db1dc76364e46c4d898c912f4139
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56902
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
5 weeks agoLU-16796 nodemap: Change nm_refcount to refcount 53/58453/2
James Simmons [Mon, 17 Mar 2025 19:45:03 +0000 (13:45 -0600)]
LU-16796 nodemap: Change nm_refcount to refcount

This patch changes struct lu_nodemap to use refcount_t instead
of atomic_t. Using refcount adds new functionally that we can
use with rhashtable which will be done in an follow on patch
for nodemaps.

Test-Parameters: trivial testlist=sanity-sec
Change-Id: I2651c24740ea43486398a200b76cf9eb29cdcdf7
Signed-off-by: James Simmons <jsimmons@infradead.org>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58453
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Marc Vef <mvef@whamcloud.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>