Whamcloud - gitweb
fs/lustre-release.git
7 days agoLU-18196 build: Use -j nproc in lustre dkms install during make 34/56234/4
Gaurang Tapase [Mon, 25 Apr 2022 12:59:46 +0000 (18:29 +0530)]
LU-18196 build: Use -j nproc in lustre dkms install during make

This is a port of
Lustre-change: https://review.whamcloud.com/47132
Lustre-commit: 56e33729e84f87a73415e195567ae29ec6ab6cda
EX-bug-id:EX-4080

Test-Parameters: trivial

Signed-off-by: Gaurang Tapase <gtapase@ddn.com>
Signed-off-by: Emoly Liu <emoly@whamcloud.com>
Change-Id: I4f815a0be8900ad427e59cace9a6afc3297710d0
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56234
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
7 days agoLU-18103 llite: Apply the change of splice_read 93/56093/4
Yang Sheng [Tue, 20 Aug 2024 04:25:48 +0000 (12:25 +0800)]
LU-18103 llite: Apply the change of splice_read

Upstream changes in kernel v6.4-rc2-3-g69df79a45111
("splice: Rename direct_splice_read() to copy_splice_read()")
the rule of splice_read().  For newer kernels we now
choose copy_splice_read() to adapt it.

Test-Parameters: mdtcount=4 mdscount=2 env=SANITY_EXCEPT="17e 27J 103" clientdistro=ubuntu2404 testlist=sanity
Signed-off-by: Yang Sheng <ys@whamcloud.com>
Change-Id: Ic13da773691ada3c21b9803f65ea3e2533f7885a
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56093
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Qian Yingjin <qian@ddn.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
7 days agoLU-18098 pcc: increase the async open time slightly for test_40 25/56225/2
Qian Yingjin [Sat, 31 Aug 2024 20:45:12 +0000 (04:45 +0800)]
LU-18098 pcc: increase the async open time slightly for test_40

Occasionally async open time may take a tiny bit longer due to
races in the test case sanity-pcc/test_40.
Increase the async open time slightly and ignore this kind of
error.

Test-Parameters: trivial
Signed-off-by: Qian Yingjin <qian@ddn.com>
Change-Id: I699f14a4c83e6e9700b64522b1ebb360d929e211
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56225
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Li Xi <lixi@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
7 days agoLU-18092 test: skip sanity-lfsck read check 24/56224/2
Lai Siyao [Mon, 2 Sep 2024 02:21:14 +0000 (22:21 -0400)]
LU-18092 test: skip sanity-lfsck read check

On some new kernels read on foreign layout doesn't fail yet, skip
read failure check in sanity-lfsck test_38.

Test-Parameters: trivial testlist=sanity-lfsck env=ONLY=38,ONLY_REPEAT=30
Signed-off-by: Lai Siyao <lai.siyao@whamcloud.com>
Change-Id: Ied10a95db217c58383a4082f0bca11c7b47e3276
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56224
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Qian Yingjin <qian@ddn.com>
Reviewed-by: Alex Deiter
Reviewed-by: Oleg Drokin <green@whamcloud.com>
7 days agoLU-18193 test: fix sanity 300l 52/56252/3
Lai Siyao [Wed, 4 Sep 2024 07:23:08 +0000 (03:23 -0400)]
LU-18193 test: fix sanity 300l

Sanity.sh test_300l mkdir with non-root user, but it's creating a
remote dir, it will fail because it requires enable_remote_dir_gid=-1.

Fixes: 29d18f84e ("LU-6341 llite: Use ll_dir_getstripe to get default LMVEA")
Test-Parameters: trivial testlist=sanity env=ONLY=300l,ONLY_REPEAT=30
Signed-off-by: Lai Siyao <lai.siyao@whamcloud.com>
Change-Id: I03d61e89396b205d80ed302b2fd6ccf716a39366
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56252
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-18030 tests: Add a test to ensure permissions copy on nfs 76/56176/8
Oleg Drokin (aider) [Wed, 28 Aug 2024 06:42:49 +0000 (02:42 -0400)]
LU-18030 tests: Add a test to ensure permissions copy on nfs

Also ensure no empty POSIX ACL is created.

Test-Parameters: trivial testlist=parallel-scale-nfsv4,parallel-scale-nfsv3
Change-Id: I85d37f8eebd17d6acdb67c552fec2caa79dbd39c
Signed-off-by: Oleg Drokin <green@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56176
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
11 days agoLU-18182 lctl: Handle fault when issuing 'lctl net' cmd 05/56205/3
Arshad Hussain [Fri, 30 Aug 2024 07:24:14 +0000 (03:24 -0400)]
LU-18182 lctl: Handle fault when issuing 'lctl net' cmd

'lctl net' command whithout arguments should dump
usage message and not fault.

After patch:
$ lctl net
configure LNET
usage: net [Network] <up|down> [-l]
  -l: Override existing, else it will create new

Before patch:
$ lctl net
Segmentation fault (core dumped)

Test-Parameters: trivial testlist=sanity-lnet
Signed-off-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Change-Id: I7c885032d8b5493bcadc35062047a3e0a5a1e48f
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56205
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Chris Horn <chris.horn@hpe.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-17899 scripts: Fix lsvcgss service startup dependencies 83/56183/3
Frederick Dilger [Wed, 28 Aug 2024 16:22:09 +0000 (10:22 -0600)]
LU-17899 scripts: Fix lsvcgss service startup dependencies

A VM was found which did not start networking on boot due to a
circular dependency between it and the lsvcgss service description:

 systemd: network-online.target: Found ordering cycle on network.target
 systemd: network-online.target: Found dependency on lsvcgss.service
 systemd: network-online.target: Found dependency on network-online.target
 systemd: network-online.target: Job network.target/stop deleted to
      break ordering cycle starting with network-online.target/stop

The lsvcgss.service file include "WantedBY=network.target", however
since "network.target" can start before "network-online.target" this
can cause service order issues on boot.

Instead "WantedBy=multi-user.target" is used, which is common usage
for network based services with RHEL linux.

Test-Parameters: trivial
Fixes: 5e39181b6d8 ("LU-17899 gss: improved systemd unit file for SSK daemon")
Signed-off-by: Frederick Dilger <fdilger@whamcloud.com>
Change-Id: I66a16f0601e8fddbcefad3c0301437d6120d6a27
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56183
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>
11 days agoLU-18173 obdclass: remove lprocfs_strnstr() 66/56166/5
Etienne AUJAMES [Tue, 27 Aug 2024 12:51:23 +0000 (14:51 +0200)]
LU-18173 obdclass: remove lprocfs_strnstr()

strnstr() was added in the kernel since RHEL6, we no longer need
lprocfs_strnstr() and it can be removed.

Test-Parameters: trivial
Signed-off-by: Etienne AUJAMES <eaujames@ddn.com>
Change-Id: Id2e3c948dd506b2d983ff776a9136c244d54f6ce
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56166
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: Feng Lei <flei@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Tested-by: Maloo <maloo@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
11 days agoLU-18086 sec: rename pages to objects 81/55981/6
Artem Blagodarenko [Fri, 9 Aug 2024 09:47:09 +0000 (10:47 +0100)]
LU-18086 sec: rename pages to objects

Page pool operates with pages, so it has right name. Some internal
structures and functions work with objects but contain "page" in
names. This adds some misunderstanding.

This patch rename pages to objects there needed to make code clear.

Test-Parameters: trivial
Signed-off-by: Sergey Cheremencev <scherementsev@ddn.com>
Signed-off-by: Artem Blagodarenko <ablagodarenko@ddn.com>
Change-Id: I15bed29116818c3ddae2bf9e490ce14318a4eded
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55981
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>
11 days agoLU-18102 tests: skip read/write in sanity/27J for some kernels 77/55977/5
Bobi Jam [Fri, 9 Aug 2024 03:56:36 +0000 (11:56 +0800)]
LU-18102 tests: skip read/write in sanity/27J for some kernels

Kernel commit v5.11-10234-gcbd59c48ae2b (5.12) skips filemap_read()
with 0 file size, commit v6.2-rc4-61-g5956592ce337 (6.2) just correct
the last page read in filemap_read(), it still skips the real file
read with 0 sized file.

Test-Parameters: trivial
Fixes: b711af7d24 ("LU-16101 tests: skip sanity/27J for more kernels")
Signed-off-by: Bobi Jam <bobijam@whamcloud.com>
Change-Id: I1c562cce1374df7659c8d178fb3601e4dfb01744
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55977
Reviewed-by: Andreas Dilger <adilger@whamcloud.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>
11 days agoLU-18171 tests: Update sanity-sec for IPv6 57/56157/4
Chris Horn [Mon, 26 Aug 2024 15:26:19 +0000 (09:26 -0600)]
LU-18171 tests: Update sanity-sec for IPv6

sanity-sec test 55 and 64 need to be updated to specify a netmask for
IPv6 client NIDs.

Test-Parameters: trivial
Test-Parameters: testlist=sanity-sec env=ONLY="55 64",FORCE_LARGE_NID=true,LOAD_MODULES_REMOTE=true
Fixes: 0ea23e0194 ("LU-13307 nodemap: have nodemap_add_member support large NIDs")
Signed-off-by: Chris Horn <chris.horn@hpe.com>
Change-Id: I64680befee7c1049df1ceecb8a3bd5a16671f111
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56157
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
11 days agoLU-18162 lu: cleanup lu_object.h header 17/56117/2
Timothy Day [Sat, 17 Aug 2024 20:06:11 +0000 (16:06 -0400)]
LU-18162 lu: cleanup lu_object.h header

Use kernel doc style instead of the old Doxygen style. Avoid
using ** for comments that aren't kernel doc. Fix some
checkpatch.pl issues. Use SPDX.

Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: I9e6e16b49e8ce64053248b182549ef94ab68cf4b
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56117
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>
11 days agoLU-10499 pcc: improve pcc-detach and man pages 54/54454/9
Andreas Dilger [Sun, 10 Oct 2021 21:52:19 +0000 (15:52 -0600)]
LU-10499 pcc: improve pcc-detach and man pages

Improve "lfs pcc detach_fid" to have a "--mnt|-m" option to match
the corresponding option for "lfs pcc attach_fid".  There isn't
any reason that they should be different.

Separate lfs-pcc-attach.1 and lfs-pcc-detach.1 from the
lfs-pcc.1 man page and improve descriptions of these commands.
Add links for lfs-pcc-attach_fid.1 and lfs-pcc-detach_fid.1.

Describe fields in lfs-pcc-state.1.  Add lfs-pcc-delete.1 page.

EX-bug-id: EX-4006
Test-Parameters: trivial testlist=sanity-pcc
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: Ieff40b7b133aef64200a9a3f6c1a948d7c3ebbe5
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/54454
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
11 days agoLU-18108 idl: deprecate rr_mirror_id usage 88/55988/10
Andreas Dilger [Fri, 9 Aug 2024 22:24:00 +0000 (16:24 -0600)]
LU-18108 idl: deprecate rr_mirror_id usage

The rr_mirror_id_old field used the last reserved field in
struct mdt_rec_reint but is unused for any other reint type.
There are lots of unused fields in this struct that could be
used instead, so rr_umask was chosen for rs_mirror_id_new
since it is unlikely that a file resync will ever need it.
The other rs_padding fields could potentially be needed at
some point (timestamps or size/blocks) so they were not used.

This field is only used by "lfs mirror resync" operations, so
its usage is limited during normal operations, and only in a
few small functions, so the impact of this change is minimal.
It still needs interoperability, but the number of sites using
FLR mirroring is still not very widespread even today, so will
help shorten the time that interop needs to be maintained, but
I didn't add a LUSTRE_VERSION_CODE check for this yet.

After the rr_mirror_id_old field is no longer being used, it
could revert to a single __u32 and be used for something else.

Test-Parameters: testlist=sanity-flr serverversion=2.15
Test-Parameters: testlist=sanity-flr clientversion=2.15
Fixes: 14171e787d ("LU-10258 lfs: lfs mirror write command")
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I5b760d3bb359ff28ca5c2b299880f00e953ebbe5
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55988
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Lai Siyao <lai.siyao@whamcloud.com>
Reviewed-by: Feng Lei <flei@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
11 days agoLU-14518 ptlrpc: avoid server STONITH for slow request 25/53225/11
Andreas Dilger [Fri, 12 Mar 2021 22:32:45 +0000 (15:32 -0700)]
LU-14518 ptlrpc: avoid server STONITH for slow request

If a service is temporarily overloaded, request processing times
may exceed at_max for a short time.  We don't want to increase
at_max excessively, since that slows down client RPC resend and
recovery, but we also want to avoid server STONITH because at_max
is used directly by ptlrpc_svcpt_health_check() to determine if
the service reports "NOT HEALTHY" and forces HA takeover.

Slow request processing is not as serious as, say, an LBUG, so
allow a configurable parameter at_unhealthy_factor to allow
requests to exceed at_max before a service is considered unhealthy.
This defaults to 3x at_max, and 0 disables service health checks.

Also, importantly, it shouldn't be considered an error if the
RPC *requests* are waiting a long time (that can happen if the
server is overloaded, or NRS is delaying some RPCs), but only
if the *service* is unable to process *any* requests in a long
time.  Otherwise, it will only print a warning of delayed RPCs.

Add sanityn.sh test_200 to exercise related health check test

Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: Ifaf4454efacf5f5ec8fc24f75a49e17e5a3ebbe5
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/53225
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Mikhail Pershin <mpershin@whamcloud.com>
Reviewed-by: Sergey Cheremencev <scherementsev@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
11 days agoLU-6142 osc: Fix style issues for osc_request.c 48/55348/8
Arshad Hussain [Fri, 7 Jun 2024 05:39:31 +0000 (01:39 -0400)]
LU-6142 osc: Fix style issues for osc_request.c

This patch fixes issues reported by checkpatch
for file lustre/osc/osc_request.c

Test-Parameters: trivial
Signed-off-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Change-Id: I81bc9574364b9f6a1daab44bc350dc1ec7296a12
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55348
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>
2 weeks agoLU-18110 doc: llapi_pcc_detach_fid_fd wrong enum names 71/55971/3
Oleg Drokin [Thu, 8 Aug 2024 14:57:23 +0000 (10:57 -0400)]
LU-18110 doc: llapi_pcc_detach_fid_fd wrong enum names

The manpage incorrectly spells some enum names in description

Change-Id: Ic9cc27dc638886a0d41cbe939fb507e4057a3447
Test-Parameters: trivial
Signed-off-by: Oleg Drokin <green@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55971
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Frederick Dilger <fdilger@whamcloud.com>
2 weeks agoLU-17428 ldlm: reduce default lru_max_age 82/53682/9
Andreas Dilger [Tue, 16 Jan 2024 06:28:01 +0000 (23:28 -0700)]
LU-17428 ldlm: reduce default lru_max_age

Decrease the default value of lru_max_age from 3900s to 600s.
Otherwise, clients can accumulate too many old locks.

Fixes: fe60e0135e ("LU-6529 ldlm: reclaim granted locks defensively")
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I93e288491c868b79162620336830290a85529f0d
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/53682
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: Patrick Farrell <patrick.farrell@oracle.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
2 weeks agoLU-18137 ksocklnd: Fix TCP socket cleanup 89/56089/4
Mark Roper [Sun, 18 Aug 2024 18:25:54 +0000 (18:25 +0000)]
LU-18137 ksocklnd: Fix TCP socket cleanup

Linux upstream commit v6.11-rc3-g151c9c724d05d5b0d changed the
handling of orphaned TCP connections. The commit stops the timers
and orphan connection cleanup by default for kernel-created
sockets after sock_release is called. ksocklnd relies on Linux
TCP orphan connection cleanup and this commit changes ksocklnd
socket creation to increment sk_net_refcnt on each socket it
creates and to register each socket with the namespace for
proper orphan connection management.

The upstream Linux commit has been backported to various Linux
distributions including Amazon Linux 2 kernels 4.14 and 5.10.

Test-Parameters: trivial
Signed-off-by: Mark Roper <ropermar@amazon.com>
Change-Id: Ib70ba8fcc3f1e49d3afbe788fccd777d02ec39b8
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56089
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: Chris Horn <chris.horn@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
2 weeks agoLU-16796 llite: Change struct pcc_dataset to use kref 21/56121/4
Arshad Hussain [Thu, 22 Aug 2024 08:54:46 +0000 (04:54 -0400)]
LU-16796 llite: Change struct pcc_dataset to use kref

This patch changes struct pcc_dataset to use
kref instead of atomic_t

Test-Parameters: trivial testlist=sanity-pcc
Signed-off-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Change-Id: Id9f7521a999be5917ce03a0ec4572091b2043c3f
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56121
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Qian Yingjin <qian@ddn.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
2 weeks agoLU-18160 lnet: ensure lnetctl ping completes in a finite time 10/56110/7
Timothy Day [Wed, 21 Aug 2024 16:31:29 +0000 (16:31 +0000)]
LU-18160 lnet: ensure lnetctl ping completes in a finite time

Make the wait_for_completion_timeout() in lnet_ping() interruptible,
so users can halt lnetctl. Remove the second wait_for_completion()
after LNetMDUnlink(). Per the comments in lib-md.c, active messages
associated with the MD may get aborted upon unlinking. So just give
up on the ping.

Clean up some nearby code to make the logic more clear.

Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: Ia49c9b1f152f411ebabc5e1c00ff3f03a99f3596
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56110
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Serguei Smirnov <ssmirnov@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
2 weeks agoLU-17794 crypto: replace 1-element array in llcrypt_symlink_data 05/56105/2
Jian Yu [Wed, 21 Aug 2024 06:48:02 +0000 (23:48 -0700)]
LU-17794 crypto: replace 1-element array in llcrypt_symlink_data

This patch replaces 1-element array with flexible array
in 'struct llcrypt_symlink_data' to resolve the
UBSAN array-index-out-of-bounds runtime warning.

Test-Parameters: trivial mdtcount=4 mdscount=2 \
  testlist=sanity,sanity-sec

Test-Parameters: optional mdtcount=4 mdscount=2 \
  clientdistro=ubuntu2404 testlist=sanity,sanity-sec

Change-Id: Ia28297ade23c6f739f4bf2bc5f7a4c0c2280bb24
Signed-off-by: Jian Yu <yujian@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56105
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Yang Sheng <ys@whamcloud.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
2 weeks agoLU-18156 kernel: update SLES15 SP5 [5.14.21-150500.55.73.1] 92/56092/3
Jian Yu [Mon, 19 Aug 2024 18:00:16 +0000 (11:00 -0700)]
LU-18156 kernel: update SLES15 SP5 [5.14.21-150500.55.73.1]

Update SLES15 SP5 kernel to 5.14.21-150500.55.73.1 for Lustre client.

Test-Parameters: trivial mdtcount=4 mdscount=2 \
  clientdistro=sles15sp5 testlist=sanity

Test-Parameters: optional clientdistro=sles15sp5 testgroup=full-part-1
Test-Parameters: optional clientdistro=sles15sp5 testgroup=full-part-2
Test-Parameters: optional clientdistro=sles15sp5 testgroup=full-part-3

Change-Id: I885498d28685e6f0c40e8b9a94f55473cb599924
Signed-off-by: Jian Yu <yujian@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56092
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Yang Sheng <ys@whamcloud.com>
Reviewed-by: Alex Deiter
Reviewed-by: Oleg Drokin <green@whamcloud.com>
2 weeks agoLU-17794 lustre: replace 0-length arrays with flexible arrays (3/3) 77/56077/4
Jian Yu [Wed, 21 Aug 2024 20:19:43 +0000 (13:19 -0700)]
LU-17794 lustre: replace 0-length arrays with flexible arrays (3/3)

This patch replaces 0-length arrays with flexible arrays to
resolve the UBSAN array-index-out-of-bounds runtime warnings.

Most replacement of 0-length arrays with flexible arrays
requires no special handling. Simply removing the “0” in
the array declaration is sufficient.

In order to have a flexible array member in a union or alone
in a struct, it needs to be wrapped in an anonymous struct
with at least 1 named member, but that member can be empty.
This was wrapped in Linux with the DECLARE_FLEX_ARRAY() macro.

This patch also work-arounds SWIG limitations with flexible arrays.

Test-Parameters: optional mdtcount=4 mdscount=2 \
  clientdistro=ubuntu2404 testgroup=full-dne-part-1
Test-Parameters: optional mdtcount=4 mdscount=2 \
  clientdistro=ubuntu2404 testgroup=full-dne-part-2
Test-Parameters: optional mdtcount=4 mdscount=2 \
  clientdistro=ubuntu2404 testgroup=full-dne-part-3

Change-Id: I873663373332d63fb79137163149d42663f34705
Signed-off-by: Jian Yu <yujian@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56077
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: Bruno Faccini <bfaccini@nvidia.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
2 weeks agoLU-18114 lfsck: split "lctl lfsck_*" group into subcommands 97/55997/7
Emoly Liu [Thu, 15 Aug 2024 08:00:55 +0000 (16:00 +0800)]
LU-18114 lfsck: split "lctl lfsck_*" group into subcommands

Split "lctl lfsck_*" command group into subcommands, e.g.
"lctl lfsck_start" to "lctl lfsck start".
Also, sanity-lfsck.sh test_12a is modified a little to verify
this patch.

Signed-off-by: Emoly Liu <emoly@whamcloud.com>
Change-Id: I039f8942b45a16a26386b579919018163e0d8c7c
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55997
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Frederick Dilger <fdilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
2 weeks agoLU-18086 sec: fix ppp_max_pages 63/55963/6
Sergey Cheremencev [Thu, 8 Aug 2024 09:49:15 +0000 (10:49 +0100)]
LU-18086 sec: fix ppp_max_pages

Set ppp_max_pages as a number of pool's
elements instead of pages number.

Signed-off-by: Sergey Cheremencev <scherementsev@ddn.com>
Signed-off-by: Artem Blagodarenko <ablagodarenko@ddn.com>
Change-Id: Ic7ce0b7d6416fb7ace8b0b9ed33baeeffa95d13b
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55963
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Patrick Farrell <patrick.farrell@oracle.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
2 weeks agoLU-18086 obdclass: change POOLS_COUNT 15/55915/8
Sergey Cheremencev [Thu, 25 Jul 2024 22:22:44 +0000 (01:22 +0300)]
LU-18086 obdclass: change POOLS_COUNT

POOLS_COUNT must guarantee that page_pools
largest pool size is 2 * MAX_BRW_SIZE.
Take into account that pool_order is a power
of 2 number of pages. Previous logic assumed
that pool_order is a power of 2 bytes. That
said, there were 27 pools to provide 64MB*2
pool(the largest pool). As maximum pool pages
is cfs_totalram_pages / POOLS_COUNT, it made
pools too small. For example, for system with
3G RAM pool with order 0(1 page) maximum pool
size would be about 100MB. It might cause
-ENOMEM despite the fact there is enough memory
in a system.

Also added, that every pool must have at
least one object.

Signed-off-by: Sergey Cheremencev <scherementsev@ddn.com>
Signed-off-by: Artem Blagodarenko <ablagodarenko@ddn.com>
Change-Id: I872f4bdda392d7675b26b2f59ac2520208a96fa0
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55915
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>
2 weeks agoLU-18086 obdclass: page_pools shrinker fix 14/55914/7
Sergey Cheremencev [Tue, 9 Jul 2024 02:43:29 +0000 (05:43 +0300)]
LU-18086 obdclass: page_pools shrinker fix

page_pool shrinker should consider opp_free_pages
as a number of memory regions with the size of
2^pool_order pages. Otherwise it starts shrinking
only when becomes too large, for example 2GB instead
of 64MB. It often might be the reason of OOM especially
when compressed files with different chunk-sizes
have been written. In a such case several pools
created for different chunk sizes might hold gigabytes
of memory without any chance to release it.

Fix element_size to return correct element size instead
of number of pages. Because of that elements in
page_pools had below sizes:

  order 0 = 4096
  order 1 = 2
  order 2 = 4
  ....
  order 17 = 131072

This made possible to have elements with sizes 2,4,8,...
bytes that have been allocated with OBD_VMALLOC.
Now all sizes are miltiple of PAGE_SIZE:

  order 0 = 4096
  order 1 = 8192
  ...
  order 5 = 131072

Change the logic around opp_idle_idx.

1. Recalculate opp_idle_idx in __sptlrpc_pool_put_pages the
   same way as it done in __sptlrpc_pool_get_pages. It is
   possible that opp_idle_idx might become 0 or very small
   (less than 10). If there is no new allocations it would
   be impossible to free anything from the pool during 40
   seconds(CACHE_QUIESCENT_PERIOD) despite the large amount
   of free elements ready to shrinking.
2. In pool_shrink_count when opp_idle_idx == IDLE_IDX_MAX,
   it means no one accessed pool for CACHE_QUIESCENT_PERIOD
   (40 seconds), i.e. we may release as much as possible
   pages. Earlier in a such case pool_shrink_count always
   returned 0. Another words it was impossible to shrink
   anything from the pool if there was no allocations for 40s.

Signed-off-by: Sergey Cheremencev <scherementsev@ddn.com>
Signed-off-by: Artem Blagodarenko <ablagodarenko@ddn.com>
Change-Id: I6b55ba67b0d21cdffdb57034e8e66063745f796e
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55914
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>
2 weeks agoLU-18030 llite: make ll_set_acl send xattr to server unmodified 15/55715/4
Oleg Drokin [Fri, 12 Jul 2024 14:25:13 +0000 (10:25 -0400)]
LU-18030 llite: make ll_set_acl send xattr to server unmodified

Otherwise posix_acl_update_mode might convert acl into inode mode
change and as the result it's lost and the existing ACL xattr
is removed (if any

Change-Id: I3956beac04889a657f76f9b36dbe97518ae9f2ac
Signed-off-by: Oleg Drokin <green@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55715
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>
2 weeks agoLU-17863 hsm: add ioctl to set data version in HSM xattr 99/55599/9
Nikitas Angelinas [Mon, 1 Jul 2024 18:00:43 +0000 (21:00 +0300)]
LU-17863 hsm: add ioctl to set data version in HSM xattr

When migrating files to a Lustre filesystem (e.g. from another Lustre
filesystem), certain HSM solutions might prefer to bypass the Lustre
HSM subsystem, i.e. not use use llapi_hsm_import(), the Lustre HSM
coordinator and a copytool and instead just copy files to the
filesystem, as this enables a simpler workflow.

Since there already exists another copy of some of the files, users
might want to set the HS_EXISTS and HS_ARCHIVED HSM flags and perform
an HSM release operation to free disk space; however, the latter
operation fails in mdt_hsm_release(), as there is a data version
mismatch between the data version that is sent from the client, which
has been calculated from the OSTs and the data version in the HSM
xattr, as the latter hasn't been set appropriately via
hsm_cdt_request_completed(), as the Lustre HSM subsystem was bypassed
and the relevant HSM flags were force-set via llapi_hsm_state_set().

Add an ioctl to set the data version field in the HSM xattr to a
specified value and enable "lfs data_version" to synchronize it, to
the data version that is calculated from the OST objects.

HPE-bug-id: LUS-12152
Signed-off-by: Nikitas Angelinas <nikitas.angelinas@hpe.com>
Change-Id: Ic8538aa884c675e8561cbc4e2b1d83d64e23a67a
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55599
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andriy Skulysh <andriy.skulysh@hpe.com>
Reviewed-by: Alexander Boyko <alexander.boyko@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
2 weeks agoLU-10499 pcc: print help msg more clearly for detach 25/54425/8
Qian Yingjin [Thu, 16 Sep 2021 02:45:37 +0000 (10:45 +0800)]
LU-10499 pcc: print help msg more clearly for detach

In this patch, it prints the help message for detach_fid and
detach commands more clearly when not given the required
parameters such as mount point or FIDs.

It also ignores the -EINPROGRESS error if the file is being
attached, i.e. copy data from Lustre OSTs into PCC.

Reset llite.*.pcc_async_threshold to the original value when the
subtest exits, so that it doesn't affect later tests.

Wait for async pcc attach to finish in test_47.

EX-bug-id: EX-3814 EX-3409
Signed-off-by: Qian Yingjin <qian@ddn.com>
Change-Id: I547e80e5c9c213b159039b9b79da176cdb91c4bc
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/54425
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-13308 mdd: add LLOG_F_EXT_X_NID_BE 99/50099/21
Mr NeilBrown [Wed, 21 Aug 2024 13:51:39 +0000 (07:51 -0600)]
LU-13308 mdd: add LLOG_F_EXT_X_NID_BE

The log already has enough space for a large nid thanks to extra space
in string changelog_ext_nid, but there is no way to tell if the
provided nid is large.

Also the nid is stored host-endian meaning the log is nor portable
across architectures.  !!!  A large nid is always big-endian.

So add a flag to assert that the nid is bigendian and use it only for
large nids.

For 4-byte nids we continue to use host-endian and don't set the BE
flag.

LLOG_F_EXT_X_NID_BE indicates that the log implementation supports
large big-endian nids.

CLFE_NID_BE indicates that the NID in this record is big-endian and
large.

CHANGELOG_FLAG_NID_BE is sent by user land tools to tell the kernel
to present NIDs in a large big-endian format.

uc_nid in struct lu_ucred is now a large nid - struct lnet_nid

Signed-off-by: Mr NeilBrown <neilb@suse.de>
Signed-off-by: James Simmons <jsimmons@infradead.org>
Change-Id: I6938090df4f30e916b79d1f58b34b518ab6bdcf7
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/50099
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Etienne AUJAMES <eaujames@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
2 weeks agoLU-17368 tests: init the variables in correct order 77/53477/17
Elena Gryaznova [Mon, 17 Jun 2024 15:24:22 +0000 (18:24 +0300)]
LU-17368 tests: init the variables in correct order

recovery-scale-lib expects the CLIENTS set:
  NODES_TO_USE=${NODES_TO_USE:-$CLIENTS}

but this variable initialized later:
  init_logging() ->
    init_clients_lists () ->
      export CLIENTS=$(comma_list $clients)

This wrong order leads to empty NODES_TO_USE and
recovery-*-scale tests failed with:
   dd: ssh: Could not resolve hostname dd: Name or service not known

Test-Parameters: trivial env=SLOW=no,FAILURE_MODE=HARD \
    clientcount=4 mdtcount=1 mdscount=2 osscount=2 \
    austeroptions=-R failover=true iscsi=1 \
    testlist=recovery-mds-scale,recovery-oss-scale,recovery-random-scale

Fixes: 2c12b93ccb ("LU-9798 tests: split server recovery tests")
HPE-bug-id: LUS-12058
Signed-off-by: Elena Gryaznova <elena.gryaznova@hpe.com>
Change-Id: I3967c7cca7f480610defbeba09b9f5628f7085d3
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/53477
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Vladimir Saveliev <vladimir.saveliev@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
2 weeks agoLU-6142 lov: SPDX for Logical Object Volume 32/56032/2
Timothy Day [Wed, 14 Aug 2024 02:24:22 +0000 (22:24 -0400)]
LU-6142 lov: SPDX for Logical Object Volume

Convert from verbose license text to SPDX.

Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: Idc04972e9167cfdf4544029914fa74d20f97d381
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56032
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>
2 weeks agoLU-6142 lmv: SPDX for Logical MetaData Volume 30/56030/2
Timothy Day [Wed, 14 Aug 2024 02:10:25 +0000 (22:10 -0400)]
LU-6142 lmv: SPDX for Logical MetaData Volume

Convert from verbose license text to SPDX.

Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: Iae8741b2de330a0029ab24a86e6b2fb006d7c978
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56030
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>
2 weeks agoLU-6142 quota: SPDX for Lustre Quota 29/56029/2
Timothy Day [Wed, 14 Aug 2024 02:01:57 +0000 (22:01 -0400)]
LU-6142 quota: SPDX for Lustre Quota

Convert from verbose license text to SPDX.

Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: I7bb663ec8bf9713c02a418868fdbad6a354aa6ae
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56029
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: Sergey Cheremencev <scherementsev@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
2 weeks agoLU-6142 lnet: Fix style issues for socklnd.[ch] 22/55822/5
Arshad Hussain [Fri, 19 Jul 2024 10:22:52 +0000 (06:22 -0400)]
LU-6142 lnet: Fix style issues for socklnd.[ch]

This patch fixes issues reported by checkpatch
for both files lnet/klnds/socklnd/socklnd.c and
socklnd.h

Test-Parameters: trivial testlist=sanity-lnet
Signed-off-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Change-Id: Idbecae78834aac1e1d321bb8614a1ff971903669
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55822
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Chris Horn <chris.horn@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
2 weeks agoLU-6142 lnet: Handle differently return from kib_fmr_pool_map() 36/55736/4
Arshad Hussain [Mon, 15 Jul 2024 09:57:09 +0000 (05:57 -0400)]
LU-6142 lnet: Handle differently return from kib_fmr_pool_map()

This patch removes likely() macro when handling
return from kib_fmr_pool_map() and reorders the
case for if/else.

This patch also fixes issues reported by checkpatch
for file lnet/klnds/o2iblnd/o2iblnd.c

Test-Parameters: trivial testlist=sanity-lnet
Signed-off-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Change-Id: I3dd1f45979e19d3f677d04876c66ba45dcfe9576
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55736
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>
2 weeks agoLU-18167 nodemap: Fix return value of range_search/find 37/56137/4
Chris Horn [Fri, 23 Aug 2024 17:40:17 +0000 (11:40 -0600)]
LU-18167 nodemap: Fix return value of range_search/find

The 'range = NULL' assignments in range_search() and range_find() are
no-ops because the list_for_each_entry_safe macro will set range to
some non-NULL value before the loop exits. Thus, range_search() and
range_find() can return a non-NULL value even when it doesn't match
the NID we are searching for.

Modify the loops to return range immediately upon finding a match.

Test-Parameters: trivial
Test-Parameters: testlist=sanity-sec env=ONLY=16,LOAD_MODULES_REMOTE=true,FORCE_LARGE_NID=true
Fixes: 0ea23e0194 ("LU-13307 nodemap: have nodemap_add_member support large NIDs")
Signed-off-by: Chris Horn <chris.horn@hpe.com>
Change-Id: Id00a2b73da127afaf94d1ecf5d1ef0080d11c6fd
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56137
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>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
3 weeks agoNew tag 2.15.90 2.15.90 v2_15_90
Oleg Drokin [Sun, 25 Aug 2024 16:35:34 +0000 (12:35 -0400)]
New tag 2.15.90

Change-Id: Ibc1fe7b954de78332cfc97c1b54e6cd63b236872
Signed-off-by: Oleg Drokin <green@whamcloud.com>
3 weeks agoLU-18110 doc: fix lustre_routes_config misspelling 73/55973/2
Oleg Drokin [Thu, 8 Aug 2024 14:59:58 +0000 (10:59 -0400)]
LU-18110 doc: fix lustre_routes_config misspelling

lustre_routes_config wrongly mentions lustre_route_config
in the description

Change-Id: I1a181cb7a79bc3942d70e22a83a50cbb609cabed
Test-Parameters: trivial
Signed-off-by: Oleg Drokin <green@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55973
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Frederick Dilger <fdilger@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
3 weeks agoLU-18110 doc: wrong ENOMEM description in manpage 72/55972/2
Oleg Drokin [Thu, 8 Aug 2024 14:58:50 +0000 (10:58 -0400)]
LU-18110 doc: wrong ENOMEM description in manpage

llapi_layout_ost_index_reset.3 wrongly describes ENOMEM

Test-Parameters: trivial
Change-Id: I6d17b97aeccc83bfaef35f79b6bd763fde81adcd
Signed-off-by: Oleg Drokin <green@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55972
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
3 weeks agoLU-18111 ptlrpc: don't drop expired cancel request 46/55946/3
Andriy Skulysh [Mon, 24 Apr 2023 10:54:05 +0000 (13:54 +0300)]
LU-18111 ptlrpc: don't drop expired cancel request

There is no need to drop expired cancel request by
a server because the client will resend the same content.
Even if the server is heavy loaded cancel request processing
helps to release ldlm resources and avoids spending time
on processing of the same resends.

Add extra check to prevent same cookie for another client.

Change-Id: Ib6e22de72262065c453a390e5563f6ac4212c5a6
HPE-bug-id: LUS-11479, LUS-11595
Reviewed-by: Alexander Boyko <alexander.boyko@hpe.com>
Reviewed-by: Alexander Zarochentsev <alexander.zarochentsev@hpe.com>
Signed-off-by: Andriy Skulysh <andriy.skulysh@hpe.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55946
Tested-by: Maloo <maloo@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Reviewed-by: Mikhail Pershin <mpershin@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
3 weeks agoLU-18085 llite: use RCU to protect the dentry_data 84/55984/8
Yang Sheng [Fri, 9 Aug 2024 16:11:14 +0000 (00:11 +0800)]
LU-18085 llite: use RCU to protect the dentry_data

The upstream has changed the rule of dentry kill since
v6.7-rc1-20-g1c18edd1b7a0. The d_release callback will
be invoked before the dentry was removed from children
list. This means the changes of d_fsdata could be seen
for others. We have already used call_rcu to handle the
release. So just apply RCU in read side to ensure access
safety.

Test-Parameters: mdtcount=4 mdscount=2   env=SANITY_EXCEPT="17e 27J 103 244a"   clientdistro=ubuntu2404 testlist=sanity
Signed-off-by: Yang Sheng <ys@whamcloud.com>
Change-Id: I58713bfbf22749d6c0a5e40f710549662248e32f
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55984
Reviewed-by: jsimmons <jsimmons@infradead.org>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Neil Brown <neilb@suse.de>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
3 weeks agoLU-18151 contrib: add example Coccinelle scripts 73/56073/2
Timothy Day [Fri, 16 Aug 2024 03:25:56 +0000 (23:25 -0400)]
LU-18151 contrib: add example Coccinelle scripts

Add a few example Coccinelle scripts to contrib/. Also,
update clang-and-static-analysis.txt to talk about
Coccinelle.

Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: I9a09b2f273bb2257e67c253cb3a69896c32d588a
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56073
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Patrick Farrell <patrick.farrell@oracle.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: jsimmons <jsimmons@infradead.org>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
3 weeks agoLU-18150 kernel: update RHEL 9.4 [5.14.0-427.31.1.el9_4] 69/56069/2
Jian Yu [Thu, 15 Aug 2024 16:55:07 +0000 (09:55 -0700)]
LU-18150 kernel: update RHEL 9.4 [5.14.0-427.31.1.el9_4]

Update RHEL 9.4 kernel to 5.14.0-427.31.1.el9_4.

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

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

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

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

Test-Parameters: optional clientdistro=el9.4 serverdistro=el9.4 \
  testgroup=full-part-1

Test-Parameters: optional clientdistro=el9.4 serverdistro=el9.4 \
  testgroup=full-part-2

Test-Parameters: optional clientdistro=el9.4 serverdistro=el9.4 \
  testgroup=full-part-3

Change-Id: I91ca867fcdd32b74322188ce1c32a04b1e610279
Signed-off-by: Jian Yu <yujian@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56069
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Yang Sheng <ys@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
3 weeks agoLU-18146 ldiskfs: refresh SUSE 15 SP4 and SP5 66/56066/4
Shaun Tancheff [Fri, 16 Aug 2024 04:00:30 +0000 (11:00 +0700)]
LU-18146 ldiskfs: refresh SUSE 15 SP4 and SP5

Refresh patches for SUSE 15 SP4 and SP5:
   ext4-data-in-dirent.patch
   ext4-pdirop.patch
   ext4-prealloc.patch

Also add relevant patches:
   ext4-dquot-commit-speedup.patch
   ext4-filename-encode.patch
   ext4-encdata.patch
   ext4-add-IGET_NO_CHECKS-flag.patch

Test-Parameters: trivial
Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: I529e799c919f1963017689ba6c02f509dfea3cfd
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56066
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: jsimmons <jsimmons@infradead.org>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
3 weeks agoLU-18145 gss: fix key unlink for regular user 53/56053/6
Sebastien Buisson [Wed, 14 Aug 2024 16:08:17 +0000 (18:08 +0200)]
LU-18145 gss: fix key unlink for regular user

In case a key is unlinked for a regular user, it can be necessary to
switch credentials to find a valid keyring for that user, which
implies changing the user namespace as well. This needs a reference
drop on the original namespace, as a ref was taken by prepare_creds(),
and also to take a reference on the newly set namespace, as a ref will
be dropped when put_cred() is finally called.

Because of the user switch, calling get_user_keyring() also adds one
more ref on the user keyring, for kernel implementation based on user
keyring pinned from the user_struct struct. This extra ref needs to be
dropped, but just for this specific case.

Test-Parameters: trivial
Test-Parameters: testgroup=review-dne-selinux-ssk-part-1
Test-Parameters: testgroup=review-dne-selinux-ssk-part-2
Test-Parameters: kerberos=true testlist=sanity-krb5
Fixes: bc740feeaa ("LU-17714 gss: support revoked session keyring")
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: I4d8fb354394a9f97dedf8aca84e4e3381a98fc60
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56053
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Bruno Faccini <bfaccini@nvidia.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
3 weeks agoLU-18141 obd: remove OBD_SLAB_FREE_RTN0() 51/56051/2
Timothy Day [Wed, 14 Aug 2024 14:07:00 +0000 (10:07 -0400)]
LU-18141 obd: remove OBD_SLAB_FREE_RTN0()

This macro isn't called anywhere. So let's
remove it.

Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: I485d1d40220a2cd1a65c430e6487ad2d2052ec44
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56051
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: jsimmons <jsimmons@infradead.org>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
3 weeks agoLU-18141 misc: (for l*) don't check NULL before free'ing 49/56049/3
Timothy Day [Wed, 14 Aug 2024 05:10:23 +0000 (01:10 -0400)]
LU-18141 misc: (for l*) don't check NULL before free'ing

The common free'ing macros already check for NULL,
so we don't need to explicitly check this beforehand.

The patch has been generated with the coccinelle script below.

@@
expression E;
@@
- if (E != NULL)
(
  OBD_FREE_PTR(E);
|
  OBD_FREE(E, ...);
|
  LIBCFS_FREE(E, ...);
|
  CFS_FREE_PTR(E);
|
  CFS_FREE_PTR_ARRAY(E, ...);
)

Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: I9619a08ff736e727544a0442f588e2a0a9f6ad22
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56049
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: jsimmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
3 weeks agoLU-18141 misc: (for [mf]*) don't check NULL before free'ing 48/56048/2
Timothy Day [Wed, 14 Aug 2024 05:07:59 +0000 (01:07 -0400)]
LU-18141 misc: (for [mf]*) don't check NULL before free'ing

The common free'ing macros already check for NULL,
so we don't need to explicitly check this beforehand.

The patch has been generated with the coccinelle script below.

@@
expression E;
@@
- if (E != NULL)
(
  OBD_FREE_PTR(E);
|
  OBD_FREE(E, ...);
|
  LIBCFS_FREE(E, ...);
|
  CFS_FREE_PTR(E);
|
  CFS_FREE_PTR_ARRAY(E, ...);
)

Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: I027db689261e507a3f297a31643baf2ed61bcc7c
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56048
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: jsimmons <jsimmons@infradead.org>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
3 weeks agoLU-18141 misc: (for o*) don't check for NULL before free'ing 47/56047/2
Timothy Day [Wed, 14 Aug 2024 05:07:11 +0000 (01:07 -0400)]
LU-18141 misc: (for o*) don't check for NULL before free'ing

The common free'ing macros already check for NULL,
so we don't need to explicitly check this beforehand.

The patch has been generated with the coccinelle script below.

@@
expression E;
@@
- if (E != NULL)
(
  OBD_FREE_PTR(E);
|
  OBD_FREE(E, ...);
|
  LIBCFS_FREE(E, ...);
|
  CFS_FREE_PTR(E);
|
  CFS_FREE_PTR_ARRAY(E, ...);
)

Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: I6bc5893f9cdbe27eb25507cb214f1dac39f1feec
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56047
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: jsimmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
3 weeks agoLU-18141 ptlrpc: don't check for NULL before free'ing 46/56046/2
Timothy Day [Wed, 14 Aug 2024 05:01:44 +0000 (01:01 -0400)]
LU-18141 ptlrpc: don't check for NULL before free'ing

The common free'ing macros already check for NULL,
so we don't need to explicitly check this beforehand.

The patch has been generated with the coccinelle script below.

@@
expression E;
@@
- if (E != NULL)
(
  OBD_FREE_PTR(E);
|
  OBD_FREE(E, ...);
|
  LIBCFS_FREE(E, ...);
|
  CFS_FREE_PTR(E);
|
  CFS_FREE_PTR_ARRAY(E, ...);
)

Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: Ia436882262a14fda2486b36999c2189f976b047a
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56046
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: jsimmons <jsimmons@infradead.org>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
3 weeks agoLU-18141 mdt: don't check for NULL before free'ing 45/56045/2
Timothy Day [Wed, 14 Aug 2024 04:58:56 +0000 (00:58 -0400)]
LU-18141 mdt: don't check for NULL before free'ing

The common free'ing macros already check for NULL,
so we don't need to explicitly check this beforehand.

The patch has been generated with the coccinelle script below.

@@
expression E;
@@
- if (E != NULL)
(
  OBD_FREE_PTR(E);
|
  OBD_FREE(E, ...);
|
  LIBCFS_FREE(E, ...);
|
  CFS_FREE_PTR(E);
|
  CFS_FREE_PTR_ARRAY(E, ...);
)

Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: Id08fd059dbc4fcb3508497bdd04c6b00035ff91e
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56045
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: jsimmons <jsimmons@infradead.org>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
3 weeks agoLU-18141 osd: don't check for NULL before free'ing 44/56044/2
Timothy Day [Wed, 14 Aug 2024 04:58:01 +0000 (00:58 -0400)]
LU-18141 osd: don't check for NULL before free'ing

The common free'ing macros already check for NULL,
so we don't need to explicitly check this beforehand.

The patch has been generated with the coccinelle script below.

@@
expression E;
@@
- if (E != NULL)
(
  OBD_FREE_PTR(E);
|
  OBD_FREE(E, ...);
|
  LIBCFS_FREE(E, ...);
|
  CFS_FREE_PTR(E);
|
  CFS_FREE_PTR_ARRAY(E, ...);
)

Test-Parameters: trivial
Test-Parameters: trivial fstype=zfs
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: I62d78961192f00faf83f9f3fee3c4bf5b8006863
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56044
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: jsimmons <jsimmons@infradead.org>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
3 weeks agoLU-18141 lnet: don't check for NULL before free'ing 43/56043/3
Timothy Day [Wed, 14 Aug 2024 04:57:25 +0000 (00:57 -0400)]
LU-18141 lnet: don't check for NULL before free'ing

The common free'ing macros already check for NULL,
so we don't need to explicitly check this beforehand.

The patch has been generated with the coccinelle script below.

@@
expression E;
@@
- if (E != NULL)
(
  OBD_FREE_PTR(E);
|
  OBD_FREE(E, ...);
|
  LIBCFS_FREE(E, ...);
|
  CFS_FREE_PTR(E);
|
  CFS_FREE_PTR_ARRAY(E, ...);
)

Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: Ia3a61ad54803ebfccf70afde1bba5c168f7e051e
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56043
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: jsimmons <jsimmons@infradead.org>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
3 weeks agoLU-18141 libcfs: don't emit a warning for LIBCFS_FREE(NULL) 50/56050/3
Timothy Day [Wed, 14 Aug 2024 14:02:55 +0000 (10:02 -0400)]
LU-18141 libcfs: don't emit a warning for LIBCFS_FREE(NULL)

There is no need to emit a console message when doing
a LIBCFS_FREE() of NULL. We ought to silently accept
NULL and do nothing.

Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: If7217f4791998b15e92485a80b6f2ed051f7eecc
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56050
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: jsimmons <jsimmons@infradead.org>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
3 weeks agoLU-18141 llite: don't check for NULL before free'ing 41/56041/2
Timothy Day [Wed, 14 Aug 2024 04:55:45 +0000 (00:55 -0400)]
LU-18141 llite: don't check for NULL before free'ing

The common free'ing macros already check for NULL,
so we don't need to explicitly check this beforehand.

The patch has been generated with the coccinelle script below.

@@
expression E;
@@
- if (E != NULL)
(
  OBD_FREE_PTR(E);
|
  OBD_FREE(E, ...);
|
  LIBCFS_FREE(E, ...);
|
  CFS_FREE_PTR(E);
|
  CFS_FREE_PTR_ARRAY(E, ...);
)

Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: I0a476b17986b9346f07c2f854bb6b60f0f251c87
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56041
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: jsimmons <jsimmons@infradead.org>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
3 weeks agoLU-18141 quota: don't check for NULL before free'ing 34/56034/2
Timothy Day [Wed, 14 Aug 2024 04:55:07 +0000 (00:55 -0400)]
LU-18141 quota: don't check for NULL before free'ing

The common free'ing macros already check for NULL,
so we don't need to explicitly check this beforehand.

The patch has been generated with the coccinelle script below.

@@
expression E;
@@
- if (E != NULL)
(
  OBD_FREE_PTR(E);
|
  OBD_FREE(E, ...);
|
  LIBCFS_FREE(E, ...);
|
  CFS_FREE_PTR(E);
|
  CFS_FREE_PTR_ARRAY(E, ...);
)

Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: Ia32742483baa5fe5a4a26cc7a40cea107b211241
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56034
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: jsimmons <jsimmons@infradead.org>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
3 weeks agoLU-18141 target: don't check for NULL before free'ing 33/56033/2
Timothy Day [Wed, 14 Aug 2024 04:54:24 +0000 (00:54 -0400)]
LU-18141 target: don't check for NULL before free'ing

The common free'ing macros already check for NULL,
so we don't need to explicitly check this beforehand.

The patch has been generated with the coccinelle script below.

@@
expression E;
@@
- if (E != NULL)
(
  OBD_FREE_PTR(E);
|
  OBD_FREE(E, ...);
|
  LIBCFS_FREE(E, ...);
|
  CFS_FREE_PTR(E);
|
  CFS_FREE_PTR_ARRAY(E, ...);
)

Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: Ifbdc95bf18855892afa4e066b654da62cdee5e13
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56033
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: jsimmons <jsimmons@infradead.org>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
3 weeks agoLU-18123 kernel: update SLES15 SP6 [6.4.0-150600.23.17.1] 26/56026/3
Jian Yu [Tue, 13 Aug 2024 20:36:55 +0000 (13:36 -0700)]
LU-18123 kernel: update SLES15 SP6 [6.4.0-150600.23.17.1]

Update SLES15 SP6 kernel to 6.4.0-150600.23.17.1 for Lustre client.

Test-Parameters: trivial mdtcount=4 mdscount=2 \
  env=SANITY_EXCEPT="27J 103a 244a" \
  clientdistro=sles15sp6 testlist=sanity

Test-Parameters: optional clientdistro=sles15sp6 testgroup=full-part-1
Test-Parameters: optional clientdistro=sles15sp6 testgroup=full-part-2
Test-Parameters: optional clientdistro=sles15sp6 testgroup=full-part-3

Change-Id: If68a41888cfebf7d8566682076d72865fd7cc01b
Signed-off-by: Jian Yu <yujian@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56026
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Yang Sheng <ys@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Alex Deiter
3 weeks agoLU-18047 lnet: sanity-lnet test_260 wrong value 25/56025/2
Frank Sehr [Tue, 13 Aug 2024 20:29:15 +0000 (13:29 -0700)]
LU-18047 lnet: sanity-lnet test_260 wrong value

Increased timeout and retries. The test seem to fail randomly at
different parameters, so it doesn't seem to be a configuration
problem. It looks still more like a timeout problem.
Other possibilties to try would be writing the default values in a
file and execute the sysctl commands in one transaction with sysctl.
An alternative would be trying to flush all buffered IO devices with
sync.

Test-Parameters: trivial testlist=sanity-lnet
Signed-off-by: Frank Sehr <fsehr@whamcloud.com>
Change-Id: I02be748d145a4ec2599c208b31bd0d8242eb6df1
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56025
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Serguei Smirnov <ssmirnov@whamcloud.com>
Reviewed-by: Cyril Bordage <cbordage@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
3 weeks agoLU-18138 mdd: handle corner case for .lustre on readdir 21/56021/3
Vladimir Saveliev [Tue, 13 Aug 2024 12:03:52 +0000 (15:03 +0300)]
LU-18138 mdd: handle corner case for .lustre on readdir

If '.lustre' entry is dispaced into last directory block and is alone
in it - the entry to returned by mdd_readdir.

Test to illustrate the issus is added.

Fixes: e6b8e3a86b ("LU-5044 mdd: do not return .lustre from readdir")
Signed-off-by: Vladimir Saveliev <vladimir.saveliev@hpe.com>
Change-Id: Ib4dfe92b66932ede1b1336e55f1af33c1fc6c878
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56021
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Lai Siyao <lai.siyao@whamcloud.com>
Reviewed-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
3 weeks agoLU-18100 pcc: fix the error when get pcc_async_threshold 15/56015/2
Qian Yingjin [Tue, 13 Aug 2024 03:09:55 +0000 (11:09 +0800)]
LU-18100 pcc: fix the error when get pcc_async_threshold

Add "head -n 1" when get llite.*.pcc_async_threshold in the
sanity-pcc/test_102.
Otherwise, it will cause the failure when restore the valule.

Test-Parameters: trivial testlist=sanity-pcc
Signed-off-by: Qian Yingjin <qian@ddn.com>
Change-Id: I9618797a09dadbb358601ad602075547c02207c2
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56015
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Li Xi <lixi@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
3 weeks agoLU-18136 mgs: remove LDLM_LOCK_* macros 13/56013/2
Timothy Day [Tue, 13 Aug 2024 02:24:44 +0000 (22:24 -0400)]
LU-18136 mgs: remove LDLM_LOCK_* macros

These macros are simply duplicates of the corresponding
ldlm_lock_* functions.

The patch has been generated with the coccinelle script below.

@@
expression x;
@@
- LDLM_LOCK_PUT(x)
+ ldlm_lock_put(x)
@@
expression x;
@@
- LDLM_LOCK_RELEASE(x)
+ ldlm_lock_put(x)
@@
expression x;
@@
- LDLM_LOCK_GET(x)
+ ldlm_lock_get(x)

Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: I7b24117325f61ea04618a2d45a36951773f1d566
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56013
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Patrick Farrell <patrick.farrell@oracle.com>
Reviewed-by: jsimmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
3 weeks agoLU-18136 ofd: remove LDLM_LOCK_* macros 12/56012/2
Timothy Day [Tue, 13 Aug 2024 02:23:43 +0000 (22:23 -0400)]
LU-18136 ofd: remove LDLM_LOCK_* macros

These macros are simply duplicates of the corresponding
ldlm_lock_* functions.

The patch has been generated with the coccinelle script below.

@@
expression x;
@@
- LDLM_LOCK_PUT(x)
+ ldlm_lock_put(x)
@@
expression x;
@@
- LDLM_LOCK_RELEASE(x)
+ ldlm_lock_put(x)
@@
expression x;
@@
- LDLM_LOCK_GET(x)
+ ldlm_lock_get(x)

Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: I8b7052f5bca3e887a4f8488ee382be7221230b05
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56012
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Patrick Farrell <patrick.farrell@oracle.com>
Reviewed-by: jsimmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
3 weeks agoLU-18136 quota: remove LDLM_LOCK_* macros 11/56011/2
Timothy Day [Tue, 13 Aug 2024 02:22:49 +0000 (22:22 -0400)]
LU-18136 quota: remove LDLM_LOCK_* macros

These macros are simply duplicates of the corresponding
ldlm_lock_* functions.

The patch has been generated with the coccinelle script below.

@@
expression x;
@@
- LDLM_LOCK_PUT(x)
+ ldlm_lock_put(x)
@@
expression x;
@@
- LDLM_LOCK_RELEASE(x)
+ ldlm_lock_put(x)
@@
expression x;
@@
- LDLM_LOCK_GET(x)
+ ldlm_lock_get(x)

Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: I19622b133d95e619d5bd5a12189cc5eb3d2d928f
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56011
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Patrick Farrell <patrick.farrell@oracle.com>
Reviewed-by: jsimmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
3 weeks agoLU-18136 target: remove LDLM_LOCK_* macros 10/56010/2
Timothy Day [Tue, 13 Aug 2024 02:22:04 +0000 (22:22 -0400)]
LU-18136 target: remove LDLM_LOCK_* macros

These macros are simply duplicates of the corresponding
ldlm_lock_* functions.

The patch has been generated with the coccinelle script below.

@@
expression x;
@@
- LDLM_LOCK_PUT(x)
+ ldlm_lock_put(x)
@@
expression x;
@@
- LDLM_LOCK_RELEASE(x)
+ ldlm_lock_put(x)
@@
expression x;
@@
- LDLM_LOCK_GET(x)
+ ldlm_lock_get(x)

Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: I24c3f10d6225564ae448c0a23c1bd499e4ba7969
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56010
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Patrick Farrell <patrick.farrell@oracle.com>
Reviewed-by: jsimmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
3 weeks agoLU-18136 llite: remove LDLM_LOCK_* macros 09/56009/2
Timothy Day [Tue, 13 Aug 2024 02:21:10 +0000 (22:21 -0400)]
LU-18136 llite: remove LDLM_LOCK_* macros

These macros are simply duplicates of the corresponding
ldlm_lock_* functions.

The patch has been generated with the coccinelle script below.

@@
expression x;
@@
- LDLM_LOCK_PUT(x)
+ ldlm_lock_put(x)
@@
expression x;
@@
- LDLM_LOCK_RELEASE(x)
+ ldlm_lock_put(x)
@@
expression x;
@@
- LDLM_LOCK_GET(x)
+ ldlm_lock_get(x)

Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: I64df3f044f1946a6b0d91dd1f4c24cef8751b05b
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56009
Reviewed-by: Patrick Farrell <patrick.farrell@oracle.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: jsimmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
3 weeks agoLU-18136 mdc: remove LDLM_LOCK_* macros 08/56008/2
Timothy Day [Tue, 13 Aug 2024 02:20:01 +0000 (22:20 -0400)]
LU-18136 mdc: remove LDLM_LOCK_* macros

These macros are simply duplicates of the corresponding
ldlm_lock_* functions.

The patch has been generated with the coccinelle script below.

@@
expression x;
@@
- LDLM_LOCK_PUT(x)
+ ldlm_lock_put(x)
@@
expression x;
@@
- LDLM_LOCK_RELEASE(x)
+ ldlm_lock_put(x)
@@
expression x;
@@
- LDLM_LOCK_GET(x)
+ ldlm_lock_get(x)

Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: I55795d7f2a7f642e4e7076a56a0268088eb9cffe
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56008
Reviewed-by: Patrick Farrell <patrick.farrell@oracle.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: jsimmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
3 weeks agoLU-18136 osc: remove LDLM_LOCK_* macros 07/56007/2
Timothy Day [Tue, 13 Aug 2024 02:18:21 +0000 (22:18 -0400)]
LU-18136 osc: remove LDLM_LOCK_* macros

These macros are simply duplicates of the corresponding
ldlm_lock_* functions.

The patch has been generated with the coccinelle script below.

@@
expression x;
@@
- LDLM_LOCK_PUT(x)
+ ldlm_lock_put(x)
@@
expression x;
@@
- LDLM_LOCK_RELEASE(x)
+ ldlm_lock_put(x)
@@
expression x;
@@
- LDLM_LOCK_GET(x)
+ ldlm_lock_get(x)

Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: Ifeb0d440773a09d12705fdda7177c63ce1c1c893
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56007
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Patrick Farrell <patrick.farrell@oracle.com>
Reviewed-by: jsimmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
3 weeks agoLU-18136 mdt: remove LDLM_LOCK_* macros 06/56006/2
Timothy Day [Tue, 13 Aug 2024 02:17:05 +0000 (22:17 -0400)]
LU-18136 mdt: remove LDLM_LOCK_* macros

These macros are simply duplicates of the corresponding
ldlm_lock_* functions.

The patch has been generated with the coccinelle script below.

@@
expression x;
@@
- LDLM_LOCK_PUT(x)
+ ldlm_lock_put(x)
@@
expression x;
@@
- LDLM_LOCK_RELEASE(x)
+ ldlm_lock_put(x)
@@
expression x;
@@
- LDLM_LOCK_GET(x)
+ ldlm_lock_get(x)

Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: I74504d7ea4fd294b7538c17a78c2023a47144e94
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56006
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Patrick Farrell <patrick.farrell@oracle.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: jsimmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
3 weeks agoLU-18136 ldlm: remove LDLM_LOCK_* macros 05/56005/2
Timothy Day [Tue, 13 Aug 2024 02:03:45 +0000 (22:03 -0400)]
LU-18136 ldlm: remove LDLM_LOCK_* macros

These macros are simply duplicates of the corresponding
ldlm_lock_* functions.

The patch has been generated with the coccinelle script below.

@@
expression x;
@@
- LDLM_LOCK_PUT(x)
+ ldlm_lock_put(x)
@@
expression x;
@@
- LDLM_LOCK_RELEASE(x)
+ ldlm_lock_put(x)
@@
expression x;
@@
- LDLM_LOCK_GET(x)
+ ldlm_lock_get(x)

Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: I52e14ae0fe7e6b946600c98f17c067d93f4e80cf
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56005
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Patrick Farrell <patrick.farrell@oracle.com>
Reviewed-by: jsimmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
3 weeks agoLU-18136 misc: add LDLM_LOCK_* macros to spelling.txt 04/56004/2
Timothy Day [Tue, 13 Aug 2024 02:31:09 +0000 (22:31 -0400)]
LU-18136 misc: add LDLM_LOCK_* macros to spelling.txt

These macros are simply duplicates of the corresponding
ldlm_lock_* functions. Favor the non-macro versions.

Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: I8608ea301c6f7c71ee76ac2977276b67f6591c1e
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56004
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Patrick Farrell <patrick.farrell@oracle.com>
Reviewed-by: jsimmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
3 weeks agoLU-18122 kernel: update RHEL 8.10 [4.18.0-553.16.1.el8_10] 03/56003/2
Jian Yu [Tue, 13 Aug 2024 00:01:14 +0000 (17:01 -0700)]
LU-18122 kernel: update RHEL 8.10 [4.18.0-553.16.1.el8_10]

Update RHEL 8.10 kernel to 4.18.0-553.16.1.el8_10.

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

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

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

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

Test-Parameters: optional clientdistro=el8.10 serverdistro=el8.10 \
  testgroup=full-part-1

Test-Parameters: optional clientdistro=el8.10 serverdistro=el8.10 \
  testgroup=full-part-2

Test-Parameters: optional clientdistro=el8.10 serverdistro=el8.10 \
  testgroup=full-part-3

Change-Id: I989fa90479ca8934db7d9a9f1171cbb13ffe8cfc
Signed-off-by: Jian Yu <yujian@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56003
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Alex Deiter
Reviewed-by: Yang Sheng <ys@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
3 weeks agoLU-18042 tests: skip old server test for sanity-flr/0k 96/55996/3
Bobi Jam [Mon, 12 Aug 2024 05:05:29 +0000 (13:05 +0800)]
LU-18042 tests: skip old server test for sanity-flr/0k

Mirror extend a non-mirrored file in a directory with default
FLR layout needs server support, so this patch adds server version
checking to skip unsupported servers for sanity-flr/0k.

Test-Parameters: trivial
Fixes: 8005a374ca ("LU-15486 lod: mirroring plain file in mirrored-layout dir")
Signed-off-by: Bobi Jam <bobijam@whamcloud.com>
Change-Id: Id5ea10d654af3927c5aaffab17f15990694e9ed3
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55996
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Li Xi <lixi@ddn.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
3 weeks agoLU-18130 build: make nodemap helpers functions static 92/55992/2
Shaun Tancheff [Sun, 11 Aug 2024 07:35:55 +0000 (14:35 +0700)]
LU-18130 build: make nodemap helpers functions static

Resolve build error:
.../nodemap_handler.c:570:5: error: no previous prototype \
  for 'nodemap_add_idmap_range' [-Werror=missing-prototypes]

Test-Parameters: trivial
Fixes: 8445f7b92f ("LU-17922 utils: added idmap range functionality")
Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: I25cf93870b15df55fbddd4c58de7c65688662552
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55992
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: jsimmons <jsimmons@infradead.org>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Maximilian Dilger <mdilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
3 weeks agoLU-18127 autoconf: fix configure tests -Warray-bounds errors 89/55989/2
Jian Yu [Sat, 10 Aug 2024 07:07:59 +0000 (00:07 -0700)]
LU-18127 autoconf: fix configure tests -Warray-bounds errors

Kernel commit v5.17-rc3-1-ge6148767825c (Makefile:
Enable -Warray-bounds) enabled -Warray-bounds option,
which caused Lustre configure tests hit false failures
as follows:

  build/conftest.c: In function 'main':
  build/conftest.c:228:39: error: array subscript 0 is
    outside array bounds of 'struct inode_operations[0]'
    [-Werror=array-bounds]
    228 | ((struct inode_operations *)1)->get_acl((struct inode *)NULL, 0, false);
        |                                       ^~
  cc1: all warnings being treated as errors

This patch fixes the "struct inode_operations" related
configure tests to avoid the above failures.

The -Warray-bounds option was disabled by the following
kernel commits:
- v5.19-rc1-28-gf0be87c42cbd (gcc-12: disable '-Warray-bounds' universally for now)
- v6.2-rc3-9-g5a41237ad1d4 (gcc: disable -Warray-bounds for gcc-11 too)
- v6.3-rc7-202-g0da6e5fd6c37 (gcc: disable '-Warray-bounds' for gcc-13 too)

Test-Parameters: mdtcount=4 mdscount=2 \
  clientdistro=ubuntu2204 testlist=sanity
Test-Parameters: mdtcount=4 mdscount=2 \
  env=SANITY_EXCEPT="27J 103a 244a" \
  clientdistro=sles15sp6 testlist=sanity
Test-Parameters: optional mdtcount=4 mdscount=2 \
  clientdistro=ubuntu2404 testlist=sanity

Change-Id: Iee73962ffc117a2f98e8f339462820aff2278815
Signed-off-by: Jian Yu <yujian@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55989
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Qian Yingjin <qian@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
3 weeks agoLU-18063 lnet: restore LNet NI dropped information 75/55975/5
James Simmons [Thu, 8 Aug 2024 18:48:11 +0000 (12:48 -0600)]
LU-18063 lnet: restore LNet NI dropped information

In testing setting up 2 different LNet nets, tcp1 and tcp2,
revealed two bugs.

The first network was setup using the interface and defaults
to the specified net (tcp1) and the second was setup with a
specific NID (xxx@tcp2). In the case of setup with a specific
NID no interface was provided and it was not found. This was
due to checking only for NULL interface names. Adding checks
for zero length strings also ensures an interface will always
be set for NI.

The next bug observed was the loss of lnd tunable information
with multiple LNet nets. This information is contained in
struct lnet_lnd for each specific LND driver. In the current
code while looping over all the nets we check if the struct
lnet_lnd has changed. It was clearing the local lnd pointer
on no change to avoid sending the same key table multiple
times. We want to only send a new key table if the lnet_lnd
has changed. Later in the inner loop we use the same
struct lnet_lnd to enquire about LND specific information but
since it was set to NULL earlier we can't collect this data.
Introduce a flag instead to avoid sending the key table and
keep around the lnd for data collection.

Test-Parameters: trivial testlist=sanity-lnet
Fixes: d15bfca078 ("LU-10391 lnet: migrate full LNet NI information collection")
Fixes: fff650726b ("LU-13642 lnet: Allow dynamic IP specification")
Change-Id: Ibeb908b106ff0331e1c09249811b3a8a2d7f345e
Signed-off-by: James Simmons <jsimmons@infradead.org>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55975
Reviewed-by: Frank Sehr <fsehr@whamcloud.com>
Reviewed-by: Cyril Bordage <cbordage@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Chris Horn <chris.horn@hpe.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
3 weeks agoLU-18097 pcc: use filemap_write_and_wait() for mmap switch 74/55974/3
Qian Yingjin [Thu, 8 Aug 2024 08:41:03 +0000 (16:41 +0800)]
LU-18097 pcc: use filemap_write_and_wait() for mmap switch

During mmap() mapping switch, the client writes out and waits for
I/O by using filemap_write_and_wait_range() wrongly setting the
end with LUSTRE_EOF.

However, in the newer kernel, it uses [start=0, end=LLONG_MAX] to
determine whehter it is a whole range write-out.
i.e. write_cache_pages() or ext4_do_writepages().

Using LUSTRE_EOF as the end for the whole range write-out may
result in the data is not written out on the local PCC backend
(such as Ext4).
This results in the failures on sanity-pcc/{6, 7a, 7b, 23, 35} on
the kernel newer than rhel8.9.

We fix this error by using filemap_write_and_wait() instead in
which it uses LLONG_MAX as the end of the whole range writeout
by default.

Test-Parameters: testlist=sanity-pcc clientdistro=el9.4
Test-Parameters: testlist=sanity-pcc clientdistro=el8.9
Signed-off-by: Qian Yingjin <qian@ddn.com>
Change-Id: I412e0f5b32195fcc6a5a1711352e0fb5e7650338
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55974
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Li Xi <lixi@ddn.com>
Reviewed-by: Li Dongyang <dongyangli@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
3 weeks agoLU-18110 doc: fix inconsistencies in llapi_layout* manpages 70/55970/3
Oleg Drokin [Thu, 8 Aug 2024 14:55:15 +0000 (10:55 -0400)]
LU-18110 doc: fix inconsistencies in llapi_layout* manpages

Fixed struct name in the examples, misplaced get/set and
stripe size actually is working on stripe size, not count

Change-Id: Ic777b036a609b586a4ef6eb1636985e60ba7d44f
Test-Parameters: trivial
Signed-off-by: Oleg Drokin <green@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55970
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
3 weeks agoLU-18110 doc: Another round of simple spelling errors in manpages 69/55969/2
Oleg Drokin [Thu, 8 Aug 2024 14:53:08 +0000 (10:53 -0400)]
LU-18110 doc: Another round of simple spelling errors in manpages

Change-Id: Idb6adcdb2ed736f9a68d9df184227029fa7a0848
Test-Parameters: trivial
Signed-off-by: Oleg Drokin <green@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55969
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Frederick Dilger <fdilger@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
3 weeks agoLU-18110 spelling: change sematics -> semantics 68/55968/2
Oleg Drokin [Thu, 8 Aug 2024 07:09:32 +0000 (03:09 -0400)]
LU-18110 spelling: change sematics -> semantics

3 occurences in total, one in documentation

Test-Parameters: trivial
Change-Id: I8f417163058f203095a063726d3280712158d38d
Signed-off-by: Oleg Drokin <green@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55968
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Frederick Dilger <fdilger@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
3 weeks agoLU-18110 doc: fix wrong structure name in llapi_advise 67/55967/2
Oleg Drokin [Thu, 8 Aug 2024 07:01:22 +0000 (03:01 -0400)]
LU-18110 doc: fix wrong structure name in llapi_advise

lla_advice is misspelled as lla_ladvice in description,
so fix it.

Test-Parameters: trivial
Change-Id: I0ee455c5151436e3de114767fe3cfb6c164e6ef2
Signed-off-by: Oleg Drokin <green@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55967
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Frederick Dilger <fdilger@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
3 weeks agoLU-18110 doc: change recieved -> received 66/55966/2
Oleg Drokin [Thu, 8 Aug 2024 06:58:34 +0000 (02:58 -0400)]
LU-18110 doc: change recieved -> received

Seems to be a pretty common misspelling, so change it in other places
too.

Test-Parameters: trivial
Change-Id: I7339eb4c2c67f7bda4cf0b23c4d74a9b28a4e295
Signed-off-by: Oleg Drokin <green@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55966
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Frederick Dilger <fdilger@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
3 weeks agoLU-17794 lustre: replace 0-length arrays with flexible arrays (2/3) 40/55940/5
Jian Yu [Tue, 6 Aug 2024 16:42:45 +0000 (09:42 -0700)]
LU-17794 lustre: replace 0-length arrays with flexible arrays (2/3)

This patch replaces 0-length arrays with flexible arrays to
resolve the UBSAN array-index-out-of-bounds runtime warnings.

Most replacement of 0-length arrays with flexible arrays
requires no special handling. Simply removing the “0” in
the array declaration is sufficient.

In order to have a flexible array member in a union or alone
in a struct, it needs to be wrapped in an anonymous struct
with at least 1 named member, but that member can be empty.
This was wrapped in Linux with the DECLARE_FLEX_ARRAY() macro.

Test-Parameters: optional mdtcount=4 mdscount=2 \
  clientdistro=ubuntu2404 testgroup=full-dne-part-1
Test-Parameters: optional mdtcount=4 mdscount=2 \
  clientdistro=ubuntu2404 testgroup=full-dne-part-2
Test-Parameters: optional mdtcount=4 mdscount=2 \
  clientdistro=ubuntu2404 testgroup=full-dne-part-3

Change-Id: I833bea287764005bd4b09cd2a6a008f527f897b3
Signed-off-by: Jian Yu <yujian@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55940
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Li Xi <lixi@ddn.com>
Reviewed-by: jsimmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
3 weeks agoLU-18105 tests: take care of "run LFSCK" message in dmesg 32/55932/3
Vladimir Saveliev [Thu, 14 Mar 2024 11:48:28 +0000 (14:48 +0300)]
LU-18105 tests: take care of "run LFSCK" message in dmesg

"logging isn't available, run LFSCKn" message may get hidden due to
console rate limit feature which causes sanity.sh:test_818 to fail.

Set console_ratelimit to 0 for the duration of sanity.sh:test_818
execution.

HPE-bug-id: LUS-11913
Fixes: 44a359caae ("LU-15166 tests: restore osp-syn threads after test_818")
Test-Parameters: testlist=sanity env=ONLY=818,ONLY_REPEAT=20
Signed-off-by: Vladimir Saveliev <vladimir.saveliev@hpe.com>
Change-Id: Ibe5c254bebe28f65d37f279802944fff5894f981
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55932
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Elena <elena.gryaznova@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
3 weeks agoLU-18088 osd: use __vfs_getxattr 17/55917/4
Vladimir Saveliev [Fri, 8 Dec 2023 16:55:57 +0000 (19:55 +0300)]
LU-18088 osd: use __vfs_getxattr

vfs_getxattr() is not suitable for osd. To get security xattr it goes
via:

vfs_getxattr
  xattr_getsecurity
    security_inode_getsecurity
      cap_inode_getsecurity
        dentry = d_find_any_alias(inode)
          if (!dentry)
            return -EINVAL;
and return -EINVAL because osd object inodes have empty alias list.

Use __vfs_getxattr() instead.

Fixes: b9ef5d1e7f7 ("LU-17546 osd: use __vfs_removexattr")
HPE-bug-id: LUS-12018
Signed-off-by: Vladimir Saveliev <vladimir.saveliev@hpe.com>
Change-Id: I71ed0141ebf5124d4ff0862c24fd719f29d883ae
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55917
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Qian Yingjin <qian@ddn.com>
3 weeks agoLU-18086 obdclass: do not use seeks to store pool order 13/55913/7
Artem Blagodarenko [Thu, 18 Jul 2024 20:27:27 +0000 (21:27 +0100)]
LU-18086 obdclass: do not use seeks to store pool order

Seeks field is used to decide how many elements to free
at shrink. Changing it leads to wrong shrink strategy and
finally to the OOM.

Let's use another means to store pool order.

Test-Parameters: trivial testlist=sanity-compr
Test-Parameters: trivial testlist=sanity-compr
Fixes: 93af01f966 ("LU-16724 ptlrc: ptlrpc: extend sec bulk functionality")
Change-Id: I075d6d139aedea29df03bafae1fac592e671656b
Signed-off-by: Artem Blagodarenko <ablagodarenko@ddn.com>
Signed-off-by: Sergey Cheremencev <scherementsev@ddn.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55913
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>
3 weeks agoLU-18082 utils: fid2path support for path exceeding PATH_MAX 97/55897/4
Sebastien Buisson [Wed, 31 Jul 2024 14:03:52 +0000 (16:03 +0200)]
LU-18082 utils: fid2path support for path exceeding PATH_MAX

PATH_MAX affects the path length of a single pathname, but it is
possible to exceed this by eg. creating a subdirectory tree, then cd
into it, then create a deep tree below this using a relative pathname.

So fix ll_fid2path and lfs_fid2path to not limit the output buffer to
PATH_MAX.

Add sanity test_154i to exercise this.

Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: Ic3a0e3ac1e806e45eb4c72c571f33404c60d0df5
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55897
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Stephane Thiell <sthiell@stanford.edu>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
3 weeks agoLU-18075 tests: fiemap test for sparse files 83/55883/6
Elena Gryaznova [Sun, 18 Aug 2024 14:08:55 +0000 (17:08 +0300)]
LU-18075 tests: fiemap test for sparse files

New "Check fiemap for sparse files" test shows the
memory corruption without the following fix:
  LU-17110 llite: fix slab corruption with fm_extent_count=0

Test-Parameters: trivial testlist=sanity env=ONLY=44f,ONLY_REPEAT=10,NUMFILES_44f=20
Signed-off-by: Elena Gryaznova <elena.gryaznova@hpe.com>
Signed-off-by: Vladimir Saveliev <vladimir.saveliev@hpe.com>
HPE-bug-id: LUS-11952,LUS-12040
Reviewed-by: Andrew Perepechko <andrew.perepechko@hpe.com>
Reviewed-by: Vladimir Saveliev <vladimir.saveliev@hpe.com>
Change-Id: I22034c7937366d9ea4b2b3f02fd7085d7ebe7e10
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55883
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
3 weeks agoLU-17687 utils: Netlink doesn't return for missing MGS device 81/55881/2
James Simmons [Mon, 29 Jul 2024 15:30:56 +0000 (11:30 -0400)]
LU-17687 utils: Netlink doesn't return for missing MGS device

If the MGS is down then yaml_get_device_index() will fail to
contact the Netlink layer on the MGS server. When it fails
the bool done is still set to true which causes it to go into
a loop. The proper solution is to break on emitter failure of
any kind to the end of the function to cleanup the parser
and netlink socket.

Change-Id: Ia25000dd86fd2c5f46f5de24f9a5f391c373fea4
Signed-off-by: James Simmons <jsimmons@infradead.org>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55881
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
3 weeks agoLU-17928 build: fix 'or' clause for rpmbuild 77/55877/3
Caleb Carlson [Sun, 11 Aug 2024 02:06:11 +0000 (09:06 +0700)]
LU-17928 build: fix 'or' clause for rpmbuild

This fixes the 'or' clause testing for older distro
versions, which was intended to provide backwards
compatibility for builds on distros that didn't natively
support the rpmbuild 'or' keyword. Instead, it always
evaluated to true, making it so that the DKMS package
was never included as a requirement satisfaction.

This change uses the 'or dkms' Requires, if any of the
distro versions are above a certain level.

Test-Parameters: trivial
HPE-bug-id: LUS-12467
Fixes: ab3b29ec39 ("LU-17928 lnet: add kmod devel package")
Signed-off-by: Caleb Carlson <caleb.carlson@hpe.com>
Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: I529d30a0dfb0b6e2e2bb55834db4c53506992d37
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55877
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: jsimmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
3 weeks agoLU-17794 lustre: replace 0-length arrays with flexible arrays (1/3) 74/55874/7
Jian Yu [Tue, 6 Aug 2024 10:26:45 +0000 (03:26 -0700)]
LU-17794 lustre: replace 0-length arrays with flexible arrays (1/3)

This patch replaces 0-length arrays with flexible arrays to
resolve the UBSAN array-index-out-of-bounds runtime warnings.

Most replacement of 0-length arrays with flexible arrays
requires no special handling. Simply removing the “0” in
the array declaration is sufficient.

In order to have a flexible array member in a union or alone
in a struct, it needs to be wrapped in an anonymous struct
with at least 1 named member, but that member can be empty.
This was wrapped in Linux with the DECLARE_FLEX_ARRAY() macro.

Test-Parameters: optional mdtcount=4 mdscount=2 \
  clientdistro=ubuntu2404 testgroup=full-dne-part-1
Test-Parameters: optional mdtcount=4 mdscount=2 \
  clientdistro=ubuntu2404 testgroup=full-dne-part-2
Test-Parameters: optional mdtcount=4 mdscount=2 \
  clientdistro=ubuntu2404 testgroup=full-dne-part-3

Change-Id: I0e23a92382686678951f5d0dc56d91c895af7817
Signed-off-by: Jian Yu <yujian@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55874
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Li Xi <lixi@ddn.com>
Reviewed-by: jsimmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
3 weeks agoLU-18067 utils: lfs getdirstripe hangs on FIFO 61/55861/10
Rajeev Mishra [Wed, 24 Jul 2024 21:09:01 +0000 (21:09 +0000)]
LU-18067 utils: lfs getdirstripe hangs on FIFO

The command "lfs getdirstripe -r ." hangs when
executed on a directory containing a FIFO file.

Steps to reproduce-

mkfifo testFile
lfs getdirstripe -r .
A test case, test_56ebb, has been added to sanity.sh
to verify this scenario.

Test-Parameters: trivial
HPE-bug-id: LUS-12266
Signed-off-by: Rajeev Mishra <rajeevm@hpe.com>
Change-Id: I62276e94383755a860b4195868dac554f90f7fe8
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55861
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Feng Lei <flei@whamcloud.com>
Reviewed-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Reviewed-by: Petros Koutoupis <petros.koutoupis@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
3 weeks agoLU-18059 utils: lfs migrate fails for ost striped file 47/55847/8
Rajeev Mishra [Tue, 23 Jul 2024 20:57:03 +0000 (20:57 +0000)]
LU-18059 utils: lfs migrate fails for ost striped file

The lfs migrate fails for the ost striped file
with following error message
lfs migrate: can't create composite layout from
file /mnt/lustre/d56xh.sanity.src:
Numerical result out of range

test_56ej has been added to sanity.sh to test this
scenario.

Signed-off-by: Rajeev Mishra <rajeevm@hpe.com>
HPE-bug-id: LUS-11815
Test-Parameters: trivial
Change-Id: Idc345c3662fde5db3d323019927b4d3a82b04816
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55847
Tested-by: Maloo <maloo@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Reviewed-by: Petros Koutoupis <petros.koutoupis@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
3 weeks agoLU-18053 osc: add another cond_resched() to osc_lru_shrink() 88/55888/4
Brian Behlendorf [Tue, 30 Jul 2024 15:40:19 +0000 (08:40 -0700)]
LU-18053 osc: add another cond_resched() to osc_lru_shrink()

When discarding pages osc_lru_shrink() eventually calls
delete_from_page_cache() which must aquire a spin lock
on the page cache.  On systems with a large number of
CPUs this can result in spinlock contention and soft
lockups.  Add a call to cond_resched() to yield the CPU
as needed.  This is a follow up to LU-17630.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Change-Id: I1ebf940a9a96c433f527f3e0dd9dc765b2645c97
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55888
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Qian Yingjin <qian@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Alexander Zarochentsev <alexander.zarochentsev@hpe.com>
Reviewed-by: Patrick Farrell <patrick.farrell@oracle.com>
3 weeks agoLU-18032 llite: disable unaligned AIO 16/55716/5
Patrick Farrell [Fri, 12 Jul 2024 15:33:34 +0000 (11:33 -0400)]
LU-18032 llite: disable unaligned AIO

Parallel copy for unaligned DIO has an unpleasant
interaction with AIO - Since AIO is async, we must do the
copying first.

This shows up as rare failures in 119i, which tests
unaligned AIO.

Handling this correctly for AIO introduces some complexity,
so instead we disable unaligned AIO.  This is a very small
use case and the complexity is not worth the benefit.

Signed-off-by: Patrick Farrell <patrick.farrell@oracle.com>
Change-Id: I81781da841b83130c9a7b5855abd88ae048f1908
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55716
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>
3 weeks agoLU-17987 ofd: always trust OST last_id 74/55574/4
Lai Siyao [Thu, 30 May 2024 08:19:59 +0000 (04:19 -0400)]
LU-17987 ofd: always trust OST last_id

In normal precreate, the last_id on OST is always trustable because
it's maintained in memory, and it should be MDT that messes up the
last created FID in reconnect. Even if the gap is more than
OST_MAX_PRECREATE, reply the last_id to MDT to avoid leaving OST in
unavailable status.

Signed-off-by: Lai Siyao <lai.siyao@whamcloud.com>
Change-Id: I838aa0ab15e6adaaa340356e54ab597a43a9fdf4
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55574
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Mikhail Pershin <mpershin@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>