Whamcloud - gitweb
fs/lustre-release.git
4 days agoLU-18851 tests: fix nodelist in sanity/170b 40/58540/3 master
Alex Zhuravlev [Wed, 26 Mar 2025 13:41:19 +0000 (16:41 +0300)]
LU-18851 tests: fix nodelist in sanity/170b

on a local setup nodes_list should contain just a single entry

Fixes: 8091e481fc ("LU-18810 misc: filename encoding for remaining files")
Test-Parameters: trivial
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: Ie855dcf6c2f7a62c3fcf3913fe43d8a8c58e54e2
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58540
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Emoly Liu <emoly@whamcloud.com>
4 days agoLU-18751 lnet: disable sanity-lnet/410 test case 97/58897/2
Timothy Day [Tue, 22 Apr 2025 15:06:13 +0000 (15:06 +0000)]
LU-18751 lnet: disable sanity-lnet/410 test case

sanity-lnet/410 hasn't been consistently passing for
a while. Disable it.

Test-Parameters: trivial
Fixes: 30868de940 ("LU-18751 lnet: Segfault in lnetctl fault command")
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: Id384842056086797c146bf695dee8da11aec29e0
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58897
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Frank Sehr <fsehr@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>
4 days agoLU-18333 target: Remove executable bit from lfs.c 89/58889/4
Aryan Gupta [Tue, 22 Apr 2025 05:49:29 +0000 (23:49 -0600)]
LU-18333 target: Remove executable bit from lfs.c

Remove the executable bit that was incorrectly set on lfs.c.

Test-Parameters: trivial
Fixes: 1631c5728b ("LU-17516 utils: new --mdt and --ost options for lfs df")
Signed-off-by: Aryan Gupta <argupta@ddn.com>
Change-Id: Ia1628a7c4882c0037123828af250ac78279d51b8
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58889
Reviewed-by: Chakshu Kansal <ckansal@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
4 days agoLU-18936 quota: correct limits for squashed root 86/58886/5
Sergey Cheremencev [Fri, 18 Apr 2025 18:19:30 +0000 (21:19 +0300)]
LU-18936 quota: correct limits for squashed root

As root doesn't have quota limits, it's limits have been always set to
zero at client side. However, qid=0 can be changed according to the
nodemap at the MDT. As clients don't know about the mapping, quota
limits must to be set to zero only on the MDT.

Signed-off-by: Sergey Cheremencev <scherementsev@ddn.com>
Change-Id: Ibdfd70d0cf4987a6e99e4ee07d7308a6865116ad
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58886
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
4 days agoLU-18910 kernel: update RHEL 9.5 [5.14.0-503.38.1.el9_5] 69/58869/2
Jian Yu [Mon, 21 Apr 2025 08:34:16 +0000 (01:34 -0700)]
LU-18910 kernel: update RHEL 9.5 [5.14.0-503.38.1.el9_5]

Update RHEL 9.5 kernel to 5.14.0-503.38.1.el9_5.

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

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

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

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

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

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

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

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

Change-Id: Ic8eb8a3303cb318efba0718993e7e2b885b64bcd
Signed-off-by: Jian Yu <yujian@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58869
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>
4 days agoLU-18926 kernel: update RHEL 8.10 [4.18.0-553.50.1.el8_10] 68/58868/2
Jian Yu [Mon, 21 Apr 2025 08:22:56 +0000 (01:22 -0700)]
LU-18926 kernel: update RHEL 8.10 [4.18.0-553.50.1.el8_10]

Update RHEL 8.10 kernel to 4.18.0-553.50.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 \
  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: Ife0d29cfd05df1bc40e1657a4501f1a4b88d0346
Signed-off-by: Jian Yu <yujian@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58868
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>
4 days agoLU-9633 ptlrpc: Add kernel doc style for ptlrpc (8) 64/58864/2
Arshad Hussain [Sat, 19 Apr 2025 15:33:17 +0000 (21:03 +0530)]
LU-9633 ptlrpc: Add kernel doc style for ptlrpc (8)

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: I9a9df9e1deb1a5c59d21da0af5b622038e2c8762
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58864
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Petros Koutoupis <petros.koutoupis@hpe.com>
Reviewed-by: Anjus George <georgea@ornl.gov>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
4 days agoLU-9633 ptlrpc: Add kernel doc style for ptlrpc (6) 62/58862/2
Arshad Hussain [Fri, 18 Apr 2025 16:08:51 +0000 (21:38 +0530)]
LU-9633 ptlrpc: Add kernel doc style for ptlrpc (6)

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: I1eabbb64bc6c10dfd2e7f08c7db66566cd92b345
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58862
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Petros Koutoupis <petros.koutoupis@hpe.com>
Reviewed-by: Anjus George <georgea@ornl.gov>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
4 days agoLU-9633 ptlrpc: Add kernel doc style for ptlrpc (3) 59/58859/2
Arshad Hussain [Thu, 17 Apr 2025 23:02:33 +0000 (04:32 +0530)]
LU-9633 ptlrpc: Add kernel doc style for ptlrpc (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: I2e99e4e411a4e253604b1cca3b2c70fca9579b4a
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58859
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Petros Koutoupis <petros.koutoupis@hpe.com>
Reviewed-by: Anjus George <georgea@ornl.gov>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
4 days agoLU-9633 ptlrpc: Add kernel doc style for ptlrpc (2) 58/58858/3
Arshad Hussain [Wed, 16 Apr 2025 21:28:06 +0000 (02:58 +0530)]
LU-9633 ptlrpc: Add kernel doc style for ptlrpc (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: I85945763d950418ac09896e8b5470ade889e4080
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58858
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Anjus George <georgea@ornl.gov>
Reviewed-by: Marc Vef <mvef@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
4 days agoLU-9633 ptlrpc: Add kernel doc style for ptlrpc (1) 57/58857/3
Arshad Hussain [Tue, 15 Apr 2025 18:16:58 +0000 (23:46 +0530)]
LU-9633 ptlrpc: Add kernel doc style for ptlrpc (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: I5d3cfd1f1d3af9810d846ed055fac5029f96bc4a
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58857
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Anjus George <georgea@ornl.gov>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
4 days agoLU-18928 lnet: Fix lnetctl peer/net set help option 08/58808/4
Chris Horn [Tue, 15 Apr 2025 21:06:08 +0000 (15:06 -0600)]
LU-18928 lnet: Fix lnetctl peer/net set help option

jt_set_peer/ni_value do not correctly check return value of
check_cmd() function. As a result they report an error when user
specified '-h' option.

Test-Parameters: trivial testlist=sanity-lnet
Fixes: 9b05e87248 ("LU-10391 lnet: support updating LNet local NI settings")
Signed-off-by: Chris Horn <chris.horn@hpe.com>
Change-Id: I7f55208b530a62e0c8bd14f1e50a36dba555f1a6
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58808
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
4 days agoLU-15762 tests: skip llapi_hsm_test113 on old server 86/58786/10
Andreas Dilger [Mon, 14 Apr 2025 23:31:09 +0000 (17:31 -0600)]
LU-15762 tests: skip llapi_hsm_test113 on old server

Skip sanity-hsm test_500 sub-subtest 113 for old server interop.

This requires adding some infrastructure to allow skipping some
sub-subtests in llapi_hsm_test.c. Moved from llapi_layout_test.c
to llapi_test_utils.c and enhanced to allow non-contiguous test
numbering and sharing between test files.

Modify llapi_layout_test.c to include these same improvements.

Update code style in sanity-hsm test_500 and sanity test_27D so
both modified test programs run in review-subtest-change sessions.

Fix version check in sanity/27D that always skipped sub-subtest 34.

Test-Parameters: trivial testlist=sanity-hsm env=ONLY=500 serverversion=2.14
Fixes: f684172237 ("LU-11085 mdt: revise recording of hsm progress updates.")
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I1d234632444404346142e45e74b61ffbe6500c1e
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58786
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Rajeev Mishra <rajeevm@hpe.com>
Reviewed-by: Nikitas Angelinas <nikitas.angelinas@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
4 days agoLU-18162 kunit: convert OBD test to LU device 85/58785/5
Timothy Day [Mon, 14 Apr 2025 14:25:10 +0000 (14:25 +0000)]
LU-18162 kunit: convert OBD test to LU device

Convert OBD test to use LU device init/fini rather
than the legacy OBD API.

Test-Parameters: trivial testlist=sanity env=ONLY=55,ONLY_REPEAT=25
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: Idd7f31fdf6daebfad448bed9c4ca7102f45c1688
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58785
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
4 days agoLU-18162 obdclass: init LU device after alloc 84/58784/5
Timothy Day [Mon, 14 Apr 2025 19:03:18 +0000 (19:03 +0000)]
LU-18162 obdclass: init LU device after alloc

During obd_setup, ldto_device_alloc will be called if it
is defined. Initialize each lu device after it is allocated.
This isn't currently used by any existing LU device. This is
intended for future LU device conversions.

Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: I859e467971db4335ae98fbc57643be8e1a261694
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58784
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>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
4 days agoLU-18162 obdecho: remove LBUG() from echo_device_init() 02/58802/3
Timothy Day [Tue, 15 Apr 2025 16:22:36 +0000 (16:22 +0000)]
LU-18162 obdecho: remove LBUG() from echo_device_init()

Remove LBUG() from otherwise unimplemented echo_device_init().

Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: Idd6c507a546d158438f7b74deb451f70ab15a341
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58802
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>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
4 days agoLU-18162 osd-ldiskfs: leave osd_device_init() unimplemented 87/58787/3
Timothy Day [Tue, 15 Apr 2025 03:54:19 +0000 (03:54 +0000)]
LU-18162 osd-ldiskfs: leave osd_device_init() unimplemented

osd_device_init() is never called when using ldiskfs OSD. If it is
called, procfs will improperly be initialized twice. To avoid this
would require a refactor or leaving osd_device_init() as a stub.
For now, remove all functional (uncalled) code from the function
and return 0.

Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: Id5d1c2ad28fe2a659b5c31cc4390cd745bc2b95e
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58787
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>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
4 days agoLU-18162 obdclass: create ldto wrappers and default LU allocator 83/58783/3
Timothy Day [Mon, 14 Apr 2025 20:16:20 +0000 (20:16 +0000)]
LU-18162 obdclass: create ldto wrappers and default LU allocator

Wrap calls to ldto_device_* methods with small wrapper functions.
This allows for default behavior to be defined when the ldto_device_*
methods are not defined.

Define a default allocator when ldto_device_alloc and ldto_device_free
are not provided. This will allow many of the simplier OBD devices
to be fully converted to LU devices without as much boilerplate.

Similarly, allow ldto_device_init/fini to be optional.

Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: Iac40138a31a0eef9a2100f958be8e00849301e46
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58783
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
4 days agoLU-9633 lod: Add kernel doc style for lod (Part 7) 79/58779/2
Arshad Hussain [Mon, 14 Apr 2025 12:35:11 +0000 (18:05 +0530)]
LU-9633 lod: Add kernel doc style for lod (Part 7)

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: Ifd1a1e6e767a94ecf2baededf7b0840989034f66
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58779
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Anjus George <georgea@ornl.gov>
Reviewed-by: Petros Koutoupis <petros.koutoupis@hpe.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
4 days agoLU-9633 lod: Add kernel doc style for lod (Part 6) 78/58778/2
Arshad Hussain [Mon, 14 Apr 2025 11:38:01 +0000 (17:08 +0530)]
LU-9633 lod: Add kernel doc style for lod (Part 6)

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: Ia3a4d995bc21ae682254a194d9e0ff9b8ba7ecb3
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58778
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Anjus George <georgea@ornl.gov>
Reviewed-by: Petros Koutoupis <petros.koutoupis@hpe.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
4 days agoLU-9633 lod: Add kernel doc style for lod (Part 5) 77/58777/2
Arshad Hussain [Mon, 14 Apr 2025 11:18:21 +0000 (16:48 +0530)]
LU-9633 lod: Add kernel doc style for lod (Part 5)

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: If3c41e20d58107d370b81062301b4b052eb42a59
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58777
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Petros Koutoupis <petros.koutoupis@hpe.com>
Reviewed-by: Anjus George <georgea@ornl.gov>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
4 days agoLU-18919 nodemap: map suppgids from client 59/58759/6
Sebastien Buisson [Fri, 11 Apr 2025 13:23:23 +0000 (15:23 +0200)]
LU-18919 nodemap: map suppgids from client

Map back to the file system id space the supplementary groups
received from the client.

Add sanity-sec test_76 to exercise this.

Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: I9d6b6e5ae2fca476b102c8a02a62c1be75379acf
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58759
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Marc Vef <mvef@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
4 days agoLU-18904 tests: skip sanity/230k for older servers 22/58722/2
Jian Yu [Tue, 8 Apr 2025 04:09:13 +0000 (21:09 -0700)]
LU-18904 tests: skip sanity/230k for older servers

This patch skips sanity/230k for older servers until
the real issue is fixed.

Test-Parameters: trivial
Test-Parameters: testlist=sanity env=ONLY=230k serverversion=2.12

Change-Id: I82c10fc6da614ae4ca85724011c22ddfd443b894
Signed-off-by: Jian Yu <yujian@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58722
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>
4 days agoLU-18876 osp: rename conflicting ping_show 28/58628/5
Timothy Day [Wed, 2 Apr 2025 15:33:56 +0000 (11:33 -0400)]
LU-18876 osp: rename conflicting ping_show

The function ping_show() is defined twice: once is OSP
and another time in Portals RPC. This causes a linker
error when the Lustre modules are built into the static
kernel image. Rename the ping_show() in OSP to
osp_ping_show() and adjust the attribute definition to
match.

Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: Ibe21f0714a22637f365c9bd1f5cac31608e65cbf
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58628
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.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>
4 days agoLU-18687 doc: move man pages to Documentation [1] 86/58586/2
Timothy Day [Sat, 29 Mar 2025 22:45:19 +0000 (18:45 -0400)]
LU-18687 doc: move man pages to Documentation [1]

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

Move all of the LNET man pages to Docmentation/.

Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: I8f175e9b7cc27e2b80622ae7b8f891104dff24c4
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58586
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: Ellis Wilson <elliswilson@microsoft.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
4 days agoLU-18863 nodemap: warning for inconsistencies with offset 70/58570/7
Sebastien Buisson [Fri, 28 Mar 2025 08:30:21 +0000 (09:30 +0100)]
LU-18863 nodemap: warning for inconsistencies with offset

When offsets are defined on a nodemap, other properties related to id
mapping are impacted.
All squash values should be in the offset range [ 0, offset_limit-1 ],
otherwise squashed ids would escape offsetting.
Any explicit id mapping should map to an fsid in the offset range,
otherwise the mapped id would escape offsetting.
And the offset limit itself should be defined so that nobody (65534)
is included in the offset range.
lctl nodemap_add_offset, nodemap_modify and nodemap_add_idmap commands
are modified to print a warning when such an inconsistency is
detected.
lctl-nodemap-add-idmap.8, lctl-nodemap-add-offset.8 and
lctl-nodemap-modify.8 manpages are updated to explain these
constraints.

Test-Parameters: trivial testlist=sanity-sec
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: I129265e73957660da34837444238fbb98c620240
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58570
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>
4 days agoLU-18814 tests: run extra prog, execute NLOOPS mpi workloads 10/58410/2
Elena Gryaznova [Fri, 14 Mar 2025 15:10:37 +0000 (18:10 +0300)]
LU-18814 tests: run extra prog, execute NLOOPS mpi workloads

Patch adds the abilities:
  - execute the workload the specified number of times (NLOOPS)
    instead of execution them during the test duration set;
  - execute the mpi EXTRAPROG in addition to allowed now IOR,
    mdtest and simul;
  - execute more mpi instances than the number of clients in
    case if NLOOPS set.

Test-Parameters: trivial
Signed-off-by: Elena Gryaznova <elena.gryaznova@hpe.com>
HPE-bug-id: LUS-12231
Reviewed-by: Vladimir Saveliev <vladimir.saveliev@hpe.com>
Reviewed-by: Alexander Boyko <alexander.boyko@hpe.com>
Change-Id: I8e019560356edb94fee75cfcb55e86c6cc7bd69d
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58410
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
4 days agoLU-18862 ldiskfs: update for RHEL 9.6 67/58567/3
Shaun Tancheff [Thu, 10 Apr 2025 09:16:10 +0000 (16:16 +0700)]
LU-18862 ldiskfs: update for RHEL 9.6

Update linux 6.6 ext4-encdata.patch to work around trivial
context change of generic_fillattr() arguments.

Use linux 6.11 version of ext4-kill-dx-root.patch
Use linux 6.6 version of ext4-ialloc-uid-gid-and-pass-owner-down.patch

Test-Parameters: trivial
Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: Ia5cf6dd1c21d81bc39837566ca69ef3a074d30c2
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58567
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
4 days agoLU-17427 mdt: reduce hold time for BFL rename lock 41/57741/38
Keguang Xu [Sat, 18 Jan 2025 14:36:01 +0000 (22:36 +0800)]
LU-17427 mdt: reduce hold time for BFL rename lock

In non-parallel rename, the order of resource locking follows
a fixed order: first global BFL, then (up to) 4 FID locks.
This means the BFL can be held for a long time if any client
holding one of the FID locks is non-responsive for some reason.
Especially in a big cluster where hundreds or thousands clients
exist doing various workloads.

To reduce hold time for BFL lock, we restructure the locking
into two phases,
1. get the 4 child locks first (to cancel the majority of
lock holders)
2. try to get the BFL resource lock if it is uncontended
3a. if BFL is contended then drop child locks and wait for it
3b. re-get the child locks if they were dropped in 3a

Note in phase 1 there's no BFL umbrella anymore, which in turn
may introduce deadlock, hence some order logic is added, e.g.
mdt_rename_determine_lock_order() order by fid if objs belong
to different parents.

> perf results:
1. two active clients with only renames:
max_dirs     without-patch        with
500x500         14418             14276
150x150         20419             20210

2. slow clients scenario, QPS=10 and 5s pause where P(X)=1%
for master and P(X)=0.1% for patch (not quite sure if the P is
reasonable or not),
Metric (ms/req)   without-patch   with
Average Latency   205.76   21.50

Signed-off-by: Keguang Xu <squalfof@gmail.com>
Change-Id: I806f52a7c23acdb0f9cb7e7b4c8e306db2fad8d5
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57741
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Lai Siyao <lai.siyao@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
4 days agoLU-16350 ldiskfs: update for kernel 6.12 26/57126/14
Shaun Tancheff [Fri, 11 Apr 2025 01:40:54 +0000 (08:40 +0700)]
LU-16350 ldiskfs: update for kernel 6.12

Update patches
   ext4-data-in-dirent.patch
   ext4-ext-merge.patch
   ext4-filename-encode.patch
   ext4-prealloc.patch
for kernel 6.12.

Linux commit v6.11-rc4-18-g4f05ee2f82b4
  ext4: store cookie in private data

If file private_data is not set and an open() handler
is defined then the file must be open()'d before proceeding
to iterate() over the directory.

This corresponds with the dropping of file->f_version member
which is replaced by the cookie in file->private_data.

Note that the file->open() handler will load the expected
cookie into file->private_data.

For older kernels the open() handler is not provided.

HPE-bug-id: LUS-11376
Test-Parameters: trivial
Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: Ie64bb701f45a024dce4caefe0e3ee673e6cfe25a
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57126
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
4 days agoLU-17933 target: do not break grants on RPC failure 47/56547/5
Vladimir Saveliev [Wed, 12 Mar 2025 10:13:43 +0000 (13:13 +0300)]
LU-17933 target: do not break grants on RPC failure

When write RPC fails it may leave grant accounting inaccurate.
Grants are allocated in:
  tgt_brw_write
    obd_preprw
      ofd_preprw
        ofd_preprw_write
          tgt_grant_prepare_write
            oa->o_grant = tgt_grant_alloc()
              tgd->tgd_tot_granted += grant;
              ted->ted_grant += grant;
              return grant;
If further it happens to return error, oa->o_grant is zeroed:
  ofd_preprw_write
    ..
  out:
    tgt_grant_prepare_read
      oa->o_grant = 0;

This results in a mismatch between grants owned by a client and grants
the server thinks the client owns.

Clients used to skip grant accounting update in case of write RPC
failure:
ptlrpc_req_interpret
  brw_interpret
    osc_brw_fini_request
      if (rc < 0 && rc != -EDQUOT)
        return rc
     osc_update_grant
       __osc_update_grant(cli, body->oa.o_grant)

Have server to take care of correct grant accounting in case of RPC
failure.

Test to illustrate the issue is added. This test needs zero lost
grants. Sync write on start is to get rid of those.

Signed-off-by: Vladimir Saveliev <vladimir.saveliev@hpe.com>
Change-Id: Ic835eb0b7f1894207637ec541b1d39c59bde286d
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56547
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Alexander Boyko <alexander.boyko@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
4 days agoLU-14590 utils: merge similar list_param params 24/55724/31
Frederick Dilger [Wed, 10 Jul 2024 06:24:01 +0000 (00:24 -0600)]
LU-14590 utils: merge similar list_param params

New [--merge|-m], [--no-merge|-M] and [--dshbak|-b] options have
been added to be able to collapse repeated parameters.
[--merge|-m] will collapse any parameters with the same parameter
name, if used with get_param, matching params that have differing
values will have the differences be printed in red.

New [--color|-c auto|always|never] option to selected whether to
print parameters in color or not.

--merge is enabled by default when using list_param or --dshbak.
If --merge is disabled, duplicate parameters will be printed in
yellow (duplicates with different values will still be highlighted).

--dshbak will replace any instance of MDT|OST|QMT[0-9]* with
MDT|OST|QMT* meaning that for any system with more than one
OST|MDT this will greatly reduce the number of parameters being
printed.

sanity.sh test_0d was failing due to 'mgs.MGS.*' returning
'mgs.MGS.clear', and 'mgs.MGS.clear.uuid' is not a valid parameter
path, so the new param pattern is 'mgs.MGS.*.uuid' to avoid this from
happening. "uuid" is then removed to obtain the appropriate
directory.

Signed-off-by: Frederick Dilger <fdilger@whamcloud.com>
Change-Id: I03c85eb42160d90ce7435ce7fa5524b292fd55a7
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55724
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Olaf Faaland <faaland1@llnl.gov>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
4 days agoLU-12885 llite: add enum ll_file_flags for clarity 24/45924/14
Andreas Dilger [Wed, 6 Jul 2022 20:55:32 +0000 (14:55 -0600)]
LU-12885 llite: add enum ll_file_flags for clarity

Use enum ll_file_flags to store Lustre-internal flags on the open
file descriptor, instead of a generic "__u32 fd_flags", which can
easily be confused with any number of other flags in the code.

Rename variable "fd_flags" to "lfd_file_flags" to make this clear.

Test-Parameters: trivial
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: Idb4013610b9ef6f9461c8de275f6b5b4763ebbe5
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/45924
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Rajeev Mishra <rajeevm@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
4 days agoLU-18515 build: fix configure checks for ZFS 2.2.3 52/57452/4
Timothy Day [Thu, 17 Apr 2025 15:58:29 +0000 (15:58 +0000)]
LU-18515 build: fix configure checks for ZFS 2.2.3

These config checks were missing certain headers. Thus,
the checks failed which caused the build to also fail when
trying to compile against ZFS 2.3.0+.

Fixes: a13fc434c57f ("LU-17662 osd-zfs: Support for ZFS 2.2.3")
Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: I8e231f0c4581f435cb4209c767fc4727cb6cbfa0
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57452
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Akash B <akash-b@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
4 days agoLU-13814 clio: add coo_dio_pages_init 30/58530/3
Patrick Farrell [Tue, 25 Mar 2025 21:23:23 +0000 (17:23 -0400)]
LU-13814 clio: add coo_dio_pages_init

Just like the cl_page it's replacing, the cl_dio_pages
struct needs various pieces of information from the
different layers of the cl_object in order to do the IO.

This adds the skeletion for coo_dio_pages_init.

Test-Parameters: trivial
Signed-off-by: Patrick Farrell <pfarrell@whamcloud.com>
Change-Id: I30251b4b9e1455f87768e488647296390352cf88
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58530
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>
4 days agoLU-13814 clio: add cl_dio_pages_init 09/52109/44
Patrick Farrell [Wed, 26 Mar 2025 21:09:14 +0000 (17:09 -0400)]
LU-13814 clio: add cl_dio_pages_init

Just like the cl_page it's replacing, the cl_dio_pages
struct needs various pieces of information from the
different layers of the cl_object in order to do the IO.

This means we need a cl_dio_pages init, analogous to
cl_page_alloc and coo_pages_init.

Note this does not implement coo_pages_init for any layers,
it just moves parts of the existing init code.

coo_dio_pages_init will be implemented in the next
patch.

Signed-off-by: Patrick Farrell <pfarrell@whamcloud.com>
Change-Id: I1fcf407b16d4077d94c7ba5afbc63bdd3fb3dfb4
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/52109
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>
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>