Whamcloud - gitweb
Timothy Day [Mon, 24 Feb 2025 06:38:13 +0000 (01:38 -0500)]
LU-16518 mdt: fix unused-but-set-variable warnings
Remove unused variables in various parts of the MDT code.
This silences the Clang compiler -Wunused-but-set-variable
warning.
Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: I2c42e9ce86ac854a49f8b12f5325ce1f34b8ecc3
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58184
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Max Wang <wamax@amazon.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Timothy Day [Mon, 24 Feb 2025 06:21:23 +0000 (01:21 -0500)]
LU-16518 target: fix unused-but-set-variable warnings
In tgt_checksum_niobuf(), remove the unused err return code
of cfs_crypto_hash_final() to silence a Clang compiler
warning.
Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: I6dfe664479d4430c4386d2ff50644e41d91a4c28
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58183
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Max Wang <wamax@amazon.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Timothy Day [Mon, 24 Feb 2025 06:18:11 +0000 (01:18 -0500)]
LU-16518 osc: fix unused-but-set-variable warnings
When CONFIG_CRC_T10DIF=n and osc_checksum_bulk_t10pi() is
a macro, Clang generates compiler warnings for some of the
arguments - since they are not used elsewhere. Silence this
by creating a proper function.
Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: I502dcf1764602711fcf2cf3553ad6d2f4fed3f14
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58182
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Max Wang <wamax@amazon.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Timothy Day [Mon, 24 Feb 2025 06:12:08 +0000 (01:12 -0500)]
LU-16518 lnet: fix unused-but-set-variable warnings
Remove unused primary_nid variable in lnet_peer_merge_data()
to silence a Clang compiler warning.
Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: Ib66fd31c7acc08fa66578cd7ab571f278f98afe1
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58181
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Max Wang <wamax@amazon.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Serguei Smirnov <ssmirnov@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Timothy Day [Mon, 24 Feb 2025 01:53:27 +0000 (20:53 -0500)]
LU-16518 ldlm: fix unused-but-set-variable warnings
In ldlm_flock_completion_ast(), obd* is not being
used. Remove it to silence the Clang compiler warning.
Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: Idc8d0fd9a351b4bb328a0956eabd2026460cdfe1
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58180
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Max Wang <wamax@amazon.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Timothy Day [Mon, 24 Feb 2025 01:50:28 +0000 (20:50 -0500)]
LU-16518 obdclass: fix unused-but-set-variable warnings
Remove swab variable in class_config_yaml_output()
that is not being used.
Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: I0db780c98fe34cef91988fc3f8c2ccac9481de2c
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58179
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Max Wang <wamax@amazon.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Timothy Day [Mon, 24 Feb 2025 01:47:17 +0000 (20:47 -0500)]
LU-16518 llite: fix unused-but-set-variable warnings
Remove unused variables in llite. Clang does not like
this, so disard them.
Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: Icb555135fc5ee53c2a7b2819beed4a78fe89b91d
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58178
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Max Wang <wamax@amazon.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Timothy Day [Mon, 24 Feb 2025 01:25:30 +0000 (20:25 -0500)]
LU-16518 pcc: fix unused-but-set-variable warnings
In several places, pcc_file is set but never used.
Clang doesn't like this, so discard this variable.
Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: I7fde9d49bd6309335e6f9083ba588fc86d495b1c
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58177
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Qian Yingjin <qian@ddn.com>
Reviewed-by: Max Wang <wamax@amazon.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Timothy Day [Sun, 23 Feb 2025 18:26:59 +0000 (13:26 -0500)]
LU-17995 obdclass: remove obdname2fsname()
This function is not called anywhere.
Test-Parameters: trivial
Test-Parameters: trivial fstype=zfs
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: Ib6c92787685564e812634c8a466b9edc27ba6977
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58174
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Max Wang <wamax@amazon.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Timothy Day [Sat, 22 Feb 2025 17:54:10 +0000 (12:54 -0500)]
LU-17995 osd-zfs: remove server_name_is_ost()
We can determine whether a server name is for an
OST by checking the return code of server_name2index().
Test-Parameters: trivial
Test-Parameters: trivial fstype=zfs
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: I2e1c337b9095d333772f87bd2a5253966b54bd45
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58163
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
James Simmons [Sat, 22 Feb 2025 12:56:17 +0000 (07:56 -0500)]
LU-18516 quota: use wait_woken for qsd_op_begin0()
Kernels with debugging enabled report for Lustre quota handling:
do not call blocking ops when !TASK_RUNNING;
? __might_sleep+0x9d/0xc0
down_read_nested+0x2e/0x4b0
lquota_disk_read+0x46e/0x800 [lquota]
qsd_refresh_usage+0x105/0x3d0 [lquota]
qsd_acquire+0xbe/0x7c0 [lquota]
qsd_op_begin0+0x5f8/0xc80 [lquota]
This is due to qsd_acquire() performing operations that can sleep while
the kthread is in an idle state. The Linux kernel solution for this
is wait_woken(). Move the function qsd_op_begin0() from using
wait_event_idle_timeout() to wait_woken(). This will resolve the
potential sleeping issues.
Test-Parameters: trivial testlist=sanity-quota
Change-Id: Id2b7a5886869bf0ed3d560e159524dcda841d8b0
Signed-off-by: James Simmons <jsimmons@infradead.org>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58156
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: Sergey Cheremencev <scherementsev@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Sohei Koyama [Wed, 19 Feb 2025 07:24:42 +0000 (16:24 +0900)]
LU-8289 utils: fix ll_decode_linkea doc
Arguments "#123451" and "#123452" in example were hidden by "\".
Test-Parameters: trivial
Signed-off-by: Sohei Koyama <skoyama@ddn.com>
Change-Id: I059abac920fcc5ecfe03eddc00fef1dd6d89db27
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58128
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Frederick Dilger <fdilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Arshad Hussain [Mon, 17 Feb 2025 11:11:26 +0000 (16:41 +0530)]
LU-9633 llite: Add kernel doc style for lustre/llite/*.c (Part 4)
This patch converts existing functional comments
to kernel doc style comments and removes '/**' for
comments which is not meant to be a kernel-doc comment
Tested with:
<kernel src path>/scrips/kernel-doc -v -none <file>
Test-Parameters: trivial
Signed-off-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Change-Id: I1b0eae8e684d96b843cd5da15d6ed2ef944ad9d2
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58100
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: Anjus George <georgea@ornl.gov>
Reviewed-by: Petros Koutoupis <petros.koutoupis@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Arshad Hussain [Mon, 17 Feb 2025 08:15:42 +0000 (13:45 +0530)]
LU-9633 llite: Add kernel doc style for lustre/llite/*.c (Part 3)
This patch converts existing functional comments
to kernel doc style comments and removes '/**' for
comments which is not meant to be a kernel-doc comment
Tested with:
<kernel src path>/scrips/kernel-doc -v -none <file>
Test-Parameters: trivial
Signed-off-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Change-Id: I360e4d93d161e17172095b638cbf3628791c35a6
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58098
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Anjus George <georgea@ornl.gov>
Reviewed-by: Petros Koutoupis <petros.koutoupis@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Sebastien Buisson [Fri, 14 Feb 2025 09:16:56 +0000 (17:16 +0800)]
LU-18723 hsm: sanity-hsm 500 hung in llapi_hsm_copytool_recv
sanity-hsm hung in test_500 in llapi_hsm_test test100.
The bug can be reproduced by the following test script:
ONLY="411 500" REFORMAT=yes ./sanity-hsm.sh
The reason is that the previous test case 411 does not cleanup
clearly and failed to unregister the HSM agent due to the
permission under the active rbac role and return -EPERM:
mdt_hsm_ct_unregister() {
...
if (!mdt_hsm_is_admin(info))
GOTO(out, rc = -EPERM);
...
This bug can easily be solved by making sure nodemap is always removed
before the copytool is cleaned up.
Test-Parameters: trivial testlist=sanity-hsm
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: I093775eeaf39b4d2671e3a05e41f33a9e1d8ec5e
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58084
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Tested-by: Robert Read <rread@ddn.com>
Reviewed-by: Robert Read <rread@ddn.com>
Reviewed-by: Li Xi <lixi@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Qian Yingjin [Thu, 6 Feb 2025 12:41:59 +0000 (20:41 +0800)]
LU-18705 pcc: only reset file mapping for valid cached file
It should only reset and revise file mapping for the valid cached
file (@cached == true) in pcc_file_mapping_reset().
Otherwise, it will cause sanity-pcc test_97 panic as follows:
(pcc.c:3077:pcc_vma_file_reset())
ASSERTION( vma->vm_file->f_mapping == inode->i_mapping ) failed:
panic+0x114/0x2f6
lbug_with_loc.cold+0x30/0x69 [libcfs]
pcc_mmap_io_init+0xafe/0xd60 [lustre]
pcc_fault+0x170/0x3d0 [lustre]
ll_fault+0x43/0x9a0 [lustre]
__do_fault+0x3c/0x170
do_fault+0x24b/0x640
Test-Parameters: testlist=sanity-pcc env=ONLY=97,ONLY_REPEAT=50
Signed-off-by: Qian Yingjin <qian@ddn.com>
Change-Id: I7e9cd0cba9d230160c90a32bef452139c23164b3
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57999
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Li Xi <lixi@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Jian Yu [Tue, 25 Feb 2025 19:30:32 +0000 (11:30 -0800)]
LU-18750 kernel: update RHEL 9.5 [5.14.0-503.26.1.el9_5]
Update RHEL 9.5 kernel to 5.14.0-503.26.1.el9_5.
Test-Parameters: trivial fstype=ldiskfs mdtcount=4 mdscount=2 \
clientdistro=el9.5 serverdistro=el9.4 testlist=sanity
Test-Parameters: trivial fstype=ldiskfs mdtcount=4 mdscount=2 \
clientdistro=el9.4 serverdistro=el9.5 testlist=sanity
Test-Parameters: optional fstype=ldiskfs mdtcount=4 mdscount=2 \
clientdistro=el9.5 serverdistro=el9.5 testgroup=full-dne-part-1
Test-Parameters: optional fstype=ldiskfs mdtcount=4 mdscount=2 \
clientdistro=el9.5 serverdistro=el9.5 testgroup=full-dne-part-2
Test-Parameters: optional fstype=ldiskfs mdtcount=4 mdscount=2 \
clientdistro=el9.5 serverdistro=el9.5 testgroup=full-dne-part-3
Test-Parameters: optional fstype=zfs mdtcount=4 mdscount=2 \
clientdistro=el9.5 serverdistro=el9.5 testgroup=full-dne-zfs-part-1
Test-Parameters: optional fstype=zfs mdtcount=4 mdscount=2 \
clientdistro=el9.5 serverdistro=el9.5 testgroup=full-dne-zfs-part-2
Test-Parameters: optional fstype=zfs mdtcount=4 mdscount=2 \
clientdistro=el9.5 serverdistro=el9.5 testgroup=full-dne-zfs-part-3
Change-Id: Id381dd6628ad738fa23ddbe3746f42457269595f
Signed-off-by: Jian Yu <yujian@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58212
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Alex Deiter <adeiter@ddn.com>
Reviewed-by: Yang Sheng <ys@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Caleb Carlson [Tue, 18 Jun 2024 19:04:42 +0000 (13:04 -0600)]
LU-18566 lnet: dynamically configure timeouts
Add/use default LND timeouts:
* SOCKNAL_TIMEOUT_DEFAULT = 50,
* IBLND_TIMEOUT_DEFAULT = 50,
* KFILND_TIMEOUT_DEFAULT = 125,
* GNILND_TIMEOUT_BASE = 60
LND timeouts default to these if not set by kernel
module params. Return only this value from the
<lnd>_timeout() functions, dropping the call to
lnet_get_lnd_timeout() which was based on the LTT and
LRC values.
Adds lnd_get_timeout() function to the lnet_lnd API
procedural struct, which returns the LND timeout of
whichever LND initialized the struct.
Use this lnd_get_timeout() function to update
the lnet_lnd tunables upon retrieval, to get current
value from module parameters.
For kfilnd, switch to using kfilnd_timeout() instead of
lnet_get_lnd_timeout(). Define KP_PURGE_LIMIT for KFI
peer purge timeout limits.
For lolnd, there's no timeout function definition, so
added conditional logic to check if the timeout function
is valid and returns a positive integer. Also, LNetGet
using the loopback LND creates the message with both
msg_txni and msg_rxni being NULL, so we check for that
condition.
Use control flow for send/recv to find correct msg NI.
Fix formatting of struct array in nidstrings.c.
Add module param path variables for ksocklnd,
kkfilnd, and kgnilnd. Renames the o2ib_modparam
variable to be more consistent:
o2iblnd_modparam_path.
Remove depency on default lnet_lnd_timeout value
in kgnilnd_timeout() function; use tunable value
instead.
Fallback to lnet_get_lnd_timeout() if tunables timeout
value is 0 (or is unset).
Modifies the 'lnetctl net set' command to allow setting
the LND timeout value via:
'lnetctl net set --net <foo> --lnd-timeout <val>'
Renames yaml_lnet_config_ni_healthv to
yaml_lnet_config_ni_value and adds arguments to broaden
the scope of the function.
Fixes bug when setting both --all and --nid for lnetctl net
set not returning -EINVAL.
Adds sanity tests to sanity-lnet.sh that tests
dynamically configured LND timeouts using values
from LND tunables set and display, and tests
that setting the LND tunable timeout value to zero
ends up defaulting to global lnd_timeout value.
Add timeout get functionality for netlink to kfilnd.
Signed-off-by: Caleb Carlson <caleb.carlson@hpe.com>
HPE-bug-id: LUS-12342
Test-Parameters: testlist="sanity-lnet"
Change-Id: Ic69a7d9d6af4cfed65d07caaf87d8b78238beab0
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57514
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Chris Horn <chris.horn@hpe.com>
Reviewed-by: Serguei Smirnov <ssmirnov@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Timothy Day [Thu, 12 Dec 2024 05:40:32 +0000 (00:40 -0500)]
LU-18538 ldlm: use bitmap for NS flags
Use a bitmap for namespace flags in LDLM. Consolidate two
bit fields into a single bitmap. This is more in line with
Linux kernel style and more correct.
Fixes: 70b9dc5 ("LU-17812 ldlm: stack trace log for LDLM error")
Fixes: 3d4b5da ("LU-11518 ldlm: cancel LRU improvement")
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: I50dd21d064147db1a93edb2e582db29c26b1c211
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57386
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Patrick Farrell [Thu, 30 Nov 2023 16:54:34 +0000 (11:54 -0500)]
LU-16897 tgt: note 'hole' pages
In order to do sparse reads, we must know which pages
correspond to holes, so we note this when the page is read
from disk.
Note something unusual: We store the hole information in
the lnb, which is a per-IO struct. This means the hole
information is not present when a page is reused in cache.
So when a region with a hole is first read from disk, the
hole annotation is available for the transfer code, but if
the page cache is in use, this information is not available
on subsequent reads from the same pages.
This can't be avoided because the server does not have any
per-page private information for page cache pages (and ZFS
would not support this).
This isn't too costly for two reasons:
1. We default page cache to off on flash systems
2. Most data is only read once rather than many times in
quick succession
NB: It's not clear how we can efficiently get hole
information from ZFS so this is only for ldiskfs for now.
Signed-off-by: Patrick Farrell <pfarrell@whamcloud.com>
Change-Id: I54b1b0abeb6889163f36b315292d8b6e760d6f78
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/53297
Tested-by: Maloo <maloo@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Reviewed-by: Cyril Bordage <cbordage@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Shaun Tancheff [Sat, 21 Dec 2024 11:01:03 +0000 (16:31 +0530)]
LU-18475 build: compatibility updates for kernel 6.12
Linux commit v6.6-rc2-11-gd77008421afd
groups: Convert group_info.usage to refcount_t
Provide wrappers to inc/dec group_info.usage
Linux v6.12-rc1-3-g5f60d5f6bbc1
move asm/unaligned.h to linux/unaligned.h
Add a configure test to determine which header to use
Linux v6.11-rc1-51-ga225800f322a
fs: Convert aops->write_end to take a folio
Linux v6.11-rc1-52-g1da86618bdce
fs: Convert aops->write_begin to take a folio
Add 'struct folio' for page vs folio signature change.
Linux v6.11-rc4-27-g11068e0b64cb
fs: remove f_version
f_version is removed, conditionally ignore it.
Linux v6.11-rc6-86-g09022bc196d2
mm: remove PG_error
PG_error flag and PageError wrappers are removed.
Linux v6.11-rc6-233-g99f86bbda317
mm: remove PageMlocked
PageMLocked wrappers are removed
Linux v6.11-rc6-225-ge880034cf718
mm: introduce page_mapcount_is_type()
PAGE_MAPCOUNT_RESERVE is removed and page_mapcount_is_type()
is used instead.
Test-Parameters: trivial
Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: I43928749e017c95edcbba9469550c33b00160e16
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57125
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
James Simmons [Sat, 22 Feb 2025 15:10:24 +0000 (10:10 -0500)]
LU-18743 llite: inode_to_wb() needs locking
When running a kernel with lockdep turned on testing shows the
following error:
WARNING: CPU: 1 PID: 37 at include/linux/backing-dev.h:291 ll_writepages+0x3dd/0x400 [lustre]
Workqueue: writeback wb_workfn (flush-lustre-
ffff8f09f4)
RIP: 0010:ll_writepages+0x3dd/0x400 [lustre]
Call Trace: [ 1267.032775] ? show_regs.cold.9+0x22/0x2f
? __warn+0xc8/0x150 [ 1267.043623] ? ll_writepages+0x3dd/0x400 [lustre]
This due to inode_to_wb() being called without a lock. We can
pick from 3 types of locks but I went with the inode i_lock.
Change-Id: I7427041d6df102161c06cfbb05b7e26428675225
Signed-off-by: James Simmons <jsimmons@infradead.org>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58161
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Patrick Farrell <pfarrell@whamcloud.com>
Reviewed-by: Qian Yingjin <qian@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Alexander Zarochentsev [Tue, 21 Jan 2025 20:10:22 +0000 (20:10 +0000)]
LU-18639 dne: a correct check for dir split
Use the actual dir stripe count while performing
a dir split sanity check in lod_dir_declare_dir_split().
Fix lod_object_lock() to work with a striped dir with
only one stripe correctly.
Improve sanity test_230p by adding a dir split right
after the dir merges.
Also fix a typo in lustre/doc/lfs-migrate.1 .
Fixes:
2e2b16c28b ("LU-11025 dne: support directory restripe")
Fixes:
392f558f40 ("LU-17810 dne: dir restripe without fixed hash flag")
HPE-bug-id: LUS-12701
Test-Parameters: envdefinitions=ONLY=230p fstype=ldiskfs mdtcount=2 mdscount=2 testlist=sanity
Signed-off-by: Alexander Zarochentsev <alexander.zarochentsev@hpe.com>
Change-Id: I8d8501fd09f89d03ccb1ea92a8562326110ecc24
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57784
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Lai Siyao <lai.siyao@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Bruno Faccini [Fri, 15 Nov 2024 09:24:08 +0000 (10:24 +0100)]
LU-18446 ptlrpc: lower CPUs latency during client I/O
Some CPUs with power-management can suffer with high
latency to exit from idle state.
This can have a strong impact on Lustre client perfs.
Use PM-QoS framework to guarantee usage of low-latency
power management mode, for CPUs/Cores known to be
involved to handle RPC replies for Lustre I/Os
completion.
Added PM-QoS configure checks:
PM-QoS framework is present since Kernel v3.2.
DEV_PM_QOS_RESUME_LATENCY was on DEV_PM_QOS_LATENCY before v3.15.
to handle all these cases for older kernels compatibility.
Add 4 tuneables :
_ 'enable_pmqos' to enable/disable using PM-QoS to
bump CPUs latency
_ 'pmqos_latency_max_usec' to allow modifying the max
latency value to be used
_ 'pmqos_default_duration_usec' to allow modifying
the timeout value to unset low latency
_ 'pmqos_use_stats_for_duration to enable/disable
using the per-target stats to set low latency timeout
Here is a table summarising the single node fio (randread)
performance :
NJOBS Target perf Original perf perf with patch
1 2.5 1.05 2.56
2 5.24 2.14 5.26
4 10.8 4.36 10.5
8 21.3 8.68 20.9
16 40 16.9 40
32 65.4 32.2 64.1
64 84 56.8 83.4
128 90.8 79.6 89.9
192 91.7 85.2 91.5
256 91.9 87.4 91.8
320 91.8 89.7 91.9
Signed-off-by: Bruno Faccini <bfaccini@nvidia.com>
Change-Id: I784a699f355da413db5029c6c7584ce3ee4ba9e1
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57039
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Olaf Faaland [Tue, 18 Feb 2025 04:46:38 +0000 (20:46 -0800)]
LU-18738 utils: avoid statx() of root of mounted FS
When looking for a specific mounted lustre file system by path, avoid
the stat() or statx() call on lustre file systems whose mountpoints do
not match the given path.
This avoids hangs if the client is disconnected from MDT0 of other
mounted file systems, but the desired file system is reachable.
Signed-off-by: Olaf Faaland <faaland1@llnl.gov>
Change-Id: I1c67214f107ae2afe34d050470155807063bda51
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58135
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: Etienne AUJAMES <eaujames@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Alex Zhuravlev [Tue, 18 Feb 2025 09:14:08 +0000 (12:14 +0300)]
LU-18727 target: reference transaction early
grab a reference to distrubuted transaction handle before putting on
the list, otherwize the concurrent commit thread can find it and
release, thus the original thread will be accessing just freed
structure.
Test-Parameters: testlist=replay-single,replay-dual
Test-Parameters: testlist=replay-single,replay-dual
Test-Parameters: testlist=replay-single,replay-dual
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: I12546b1bce3b3f0fe3c74a99bb589bee39768754
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58112
Reviewed-by: Mikhail Pershin <mpershin@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Lai Siyao <lai.siyao@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Li Dongyang [Mon, 17 Feb 2025 03:37:55 +0000 (14:37 +1100)]
LU-18392 tests: watch destroys_in_flight recovery_small/160
In recovery_small/160, we sleep and check for destroys_in_flight
and make sure the number is low, which indicates destroys are not
blocked.
However there's a 10s timeout, the destroy rpcs could be retried
and before they got put back on error_list again, the destroys_in_flight
could be bumped up, if the test case happen to check destroys_in_flight
during this window the test case could fail.
Use wait_update_cond to watch for the expected drop.
Change-Id: I0b29a90e4c78e80a0b5a522d57ed97db1b698364
Test-Parameters: trivial testlist=recovery-small env=ONLY=160,ONLY_REPEAT=100
Fixes:
27f787daa7 ("LU-15737 ofd: don't block destroys")
Signed-off-by: Li Dongyang <dongyangli@ddn.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58096
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
James Simmons [Fri, 14 Feb 2025 17:50:47 +0000 (12:50 -0500)]
LU-8066 osc: move complex proc to debugfs
Time to pull the trigger and move the complex proc files
to debugfs for the osc layer.
Change-Id: I719362a6885fd9272ad92249e089ed059dc734b5
Signed-off-by: James Simmons <jsimmons@infradead.org>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58090
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
James Simmons [Fri, 14 Feb 2025 17:54:42 +0000 (12:54 -0500)]
LU-8066 mdc: move complex proc to debugfs
Time to pull the trigger and move the complex proc files
to debugfs for the mdc layer.
Change-Id: Id4cc8a53ab581ec6a56578d6d23b3541946933e5
Signed-off-by: James Simmons <jsimmons@infradead.org>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58089
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
James Simmons [Fri, 14 Feb 2025 16:05:20 +0000 (11:05 -0500)]
LU-8066 ldlm: move debugfs entries to general sysfs
Any simple debugfs files in the top ldlm directory should be
moved to /sys/fs/lustre/ldlm. This ensures these files will
always be available which is not the case for debugfs.
Change-Id: I851923894d8b6c594056d71a891364d5f54988a1
Signed-off-by: James Simmons <jsimmons@infradead.org>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58087
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Jian Yu [Fri, 14 Feb 2025 06:00:46 +0000 (22:00 -0800)]
LU-18721 kernel: update SLES15 SP6 [6.4.0-150600.23.38.1]
Update SLES15 SP6 kernel to 6.4.0-150600.23.38.1 for Lustre client.
Test-Parameters: trivial mdtcount=4 mdscount=2 \
clientdistro=sles15sp6 testlist=sanity
Test-Parameters: optional mdtcount=4 mdscount=2 \
clientdistro=sles15sp6 testgroup=full-dne-part-1
Test-Parameters: optional mdtcount=4 mdscount=2 \
clientdistro=sles15sp6 testgroup=full-dne-part-2
Test-Parameters: optional mdtcount=4 mdscount=2 \
clientdistro=sles15sp6 testgroup=full-dne-part-3
Change-Id: I56a4c37f2316c9180d07b8633db4334f59e09fce
Signed-off-by: Jian Yu <yujian@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58080
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Yang Sheng <ys@whamcloud.com>
Reviewed-by: Alex Deiter <adeiter@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Marc Vef [Fri, 14 Feb 2025 11:14:22 +0000 (12:14 +0100)]
LU-18680 ptlrpc: Improve yaml output for nodemap offset
Nodemap offset presents loose values on lctl get_param:
$ lctl get_param -n nodemap.t0.offset
start_uid: 100000
limit_uid: 200000
start_gid: 100000
limit_gid: 200000
start_projid: 100000
limit_projid: 200000
This is technically valid YAML syntax, but not contextually bound as a
unit or to its key "offset". In the future, we want to save/restore
entire nodemap configurations. This means that the key "offset" is
necessary to relate the values to. This can be done via indenting or
more explicitly with {}, as done in this patch to be consistent with
other nodemap properties like ranges or idmap and to not necessarily
rely on indentation:
$ lctl get_param -n nodemap.t0.offset
{
start_uid: 100000,
limit_uid: 200000,
start_gid: 100000,
limit_gid: 200000,
start_projid: 100000,
limit_projid: 200000
}
Note, offsets are always shown even for zero, thus {} is not
shown when no offsets are defined.
Test-Parameters: trivial testlist=sanity-sec env=ONLY=27ab
Signed-off-by: Marc Vef <mvef@whamcloud.com>
Change-Id: I9b9a5411c3adcd39d45f29c8fc1d8c51163ba9b5
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58085
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Aurelien Degremont <adegremont@nvidia.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
James Simmons [Mon, 3 Feb 2025 17:07:27 +0000 (12:07 -0500)]
LU-9859 libcfs: migrate hash table to obdclass
The lustre specific hash is only used by the Lustre layer so it
doesn't make sense to keep it in libcfs. Move the hash code to
obdclass. Once ldlm resource hashtable moves to rhashtabble this
be server only code.
Test-Parameters: trivial
Change-Id: I676f6a3decf17e0e90cd747ad4bb4c4d16a52a30
Signed-off-by: James Simmons <jsimmons@infradead.org>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57945
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Andreas Dilger [Fri, 31 Jan 2025 07:39:23 +0000 (23:39 -0800)]
LU-18211 build: add e2fsprogs-devel to dkms dependency
The e2fsprogs-devel package is needed to build server packages
with DKMS, so add it to the Requires: list, since RHEL defaults
to XFS these days and it may not always be installed.
Test-Parameters: trivial testgroup=full-dkms
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I1d5ef22d2caa54821dc55d401beff1f491300c1e
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57934
Reviewed-by: Minh Diep <mdiep@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Sergey Cheremencev [Wed, 29 Jan 2025 22:22:15 +0000 (01:22 +0300)]
LU-16641 tests: 12b: unlink recently created files
It is possible that createmany hasn't created requested
number of files on mdt0. So remove only the number of
successfully created files instead of requested.
Fix error_ignore to avoid default error behaviour.
Fixes:
25896b8b88 ("LU-16641 tests: fix sanity-quota_12b")
Signed-off-by: Sergey Cheremencev <scherementsev@ddn.com>
Change-Id: Ic6d5a02295c73fbed0773408c67a47850dee1f80
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57929
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Artem Blagodarenko <ablagodarenko@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Aurelien Degremont [Mon, 20 Jan 2025 14:07:59 +0000 (15:07 +0100)]
LU-18680 ptlrpc: improve nodemap lproc syntaxes
- 'idmap='
Fix bad YAML syntax when only gid or projid were set, but no uid mapping.
Now simply a pair of brackets when empty, no more multiple or empty lines.
idmap=[]
- 'exports='
Now each entry is on a separate line, likewise 'idmap'. While still
YAML compliant, this is easier to read for admins. The final ',' has been
cleared.
Simply a pair of brackets when empty, no more multiple or empty lines.
exports=[]
exports=[
{ nid: 172.16.0.1@tcp, uuid:
1d49406a-68eb-4d54-ae08-
3587d6a6b078 },
{ nid: 172.16.0.1@tcp, uuid:
48ed3108-de34-11ef-bd15-
670a7bd749aa }
]
- 'ranges='
Now simply a pair of brackets when empty, no more multiple or empty lines.
Still one entry per line when populated.
ranges=[]
Change-Id: Ib1711614a825dc3bbb2b8861a61461fdea4e4f4b
Signed-off-by: Aurelien Degremont <adegremont@nvidia.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57915
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Marc Vef <mvef@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
James Simmons [Fri, 24 Jan 2025 15:06:50 +0000 (10:06 -0500)]
LU-18621 lnet: fix wrong stats for lnet_net_show_dump
For the function lnet_get_ni_stats() the im_idx assumes the idx
is relative to all NIs. With lnet_net_show_dump() the idx we
use is realtive to our own NI list so it doesn't always match
the idx lnet_get_ni_stats() expects. This can lead to the wrong
stats being collected when a net_id is set. The only reason we
need an idx for lnet_get_ni_stats() is so the NI can be located
but we already know the NI. Just call lnet_usr_translate_stats()
directly instead of using lnet_get_ni_stats() to figure out the
NI to call lnet_user_translate_stats() internally with.
Test-Parameters: trivial testlist=sanity-lnet
Fixes:
8f8f6e2f36e ("LU-10003 lnet: use Netlink to support old and new NI APIs.")
Change-Id: Ie39e65146c21d976f9a7655eead8c46e9293ee27
Signed-off-by: James Simmons <jsimmons@infradead.org>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57885
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Chris Horn <chris.horn@hpe.com>
Reviewed-by: Cyril Bordage <cbordage@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Shaun Tancheff [Wed, 5 Feb 2025 16:56:47 +0000 (23:56 +0700)]
LU-18610 obdclass: add job expired flag
In lprocfs_job_cleanup() expired jobs are de-referenced before
being removed from the lru to defer holding a spinlock.
This opens a race where a job can be put multiple times
when only a single put on expiry is expected. To avoid a double
de-reference race use a bit flag to avoid the extra de-reference
on jobs in the process of being expired and removed.
HPE-bug-id: LUS-12670
Test-Parameters: testlist=sanity env=ONLY=205,ONLY_REPEAT=100
Fixes:
cad59b9b72 ("LU-18351 obdclass: jobstat scaling")
Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: Ia7dc91cac313919827cc13db971ffb3debe318c2
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57616
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Bobi Jam [Wed, 8 Jan 2025 12:38:16 +0000 (20:38 +0800)]
LU-18618 ofd: handle filter_fid properly on server
The object's filter_fid could be changed via out_xattr_set(), then the
ofd_object::ofo_ff is out of date, the old ofo_ff layout version could
be a bigger value than that of the merged file, so write/punch upon
this OFD object could be rejected as it prohibit operation with
smaller layout version than that on the disk.
Test-Parameters: testlist=sanity-flr env=ONLY=70a,ONLY_REPEAT=250
Test-Parameters: testlist=sanity-flr env=ONLY=200,ONLY_REPEAT=50
Signed-off-by: Bobi Jam <bobijam@whamcloud.com>
Change-Id: I8bd8c1af4d7806c3d8e4ab9de5af519381d36060
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57678
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>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Alex Zhuravlev [Sat, 14 Dec 2024 11:49:51 +0000 (14:49 +0300)]
LU-18557 ldlm: save ldlm namespace ops for use
save ldlm namespace ops for use as __ldlm_resource_putref_final() can
initiate namespace release in a separate thread which in turn will
invalidate the structure pointing to the namespace's ops.
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: If3ddc032b21806046fede09d40a4df78d441138d
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57432
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Alexey Lyashkov <alexey.lyashkov@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Mikhail Pershin <mpershin@whamcloud.com>
Marc Vef [Fri, 27 Dec 2024 17:17:16 +0000 (18:17 +0100)]
LU-18357 ptlrpc: Add alternate fileset data structure handler
Handling multiple future alternate filesets requires an in-memory data
structure that is synchronized with the nodemap IAM storage for
filesets. Specifically, it is necessary to properly handle gaps in the
cluster idx subid range that is reserved for filesets which occur when
filesets are deleted.
To easily synchronize the IAM filesets with the in-memory nodemap, an
this patch implements an ordered associative array, rb tree in this
case, which is naturally ordered by a node key - in this case the
global fileset id that can later be directly mapped to the IAM cluster
idx subid range for filesets.
This patch sets the maximum number of alternate filesets to 255 (+1
primary fileset).
This patch only includes the management of the fileset rb tree and
includes all necessary functions. The next patch connects the rb tree
to the IAM and add the API for adding and deleting filesets.
Test-Parameters: trivial
Test-Parameters: testlist=conf-sanity env=ONLY=134
Test-Parameters: testlist=sanity-hsm env=ONLY=411
Test-Parameters: testlist=sanity-quota env=ONLY=75
Test-Parameters: testlist=sanity-sec
Test-Parameters: testlist=sanity-selinux env=ONLY=21
Signed-off-by: Marc Vef <mvef@whamcloud.com>
Change-Id: Ia532894880e5fe65692c699de14e93794c2da483
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57600
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Marc Vef [Thu, 19 Dec 2024 15:02:35 +0000 (16:02 +0100)]
LU-18357 ptlrpc: Add fileset ID handling on the nodemap IAM
For handling multiple filesets in the nodemap's IAM cluster idx space,
the cluster idx subids must be associated with a fileset id and vice
versa. This allows to place fileset fragments in the correct subid
range and to assign retrieved fragments to the correct fileset.
This patch adds these calculations for a single fileset with the work
for multiple alternate filesets pending.
Test-Parameters: trivial testlist=sanity-sec
Signed-off-by: Marc Vef <mvef@whamcloud.com>
Change-Id: I7bef5218ebb38d57d0e3aa6aab499111733eaef7
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57527
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Marc Vef [Thu, 19 Dec 2024 10:09:24 +0000 (11:09 +0100)]
LU-18357 ptlrpc: Use dynamic memory allocation for filesets
Currently, a nodemap's fileset uses a static-sized array which may be
much larger than needed. This patch adds dynamic memory allocation for
a nodemap's fileset to reduce the future memory footprint when
multiple filesets per nodemap are specified.
Note, when reading fileset fragments from the nodemap IAM, the needed
size is not known yet. Therefore, each fileset is initially
preallocated with "PATH_MAX + 1" and then shrunk when the actual size
is know. This is done on the last step, when a nodemap is set active,
e.g., after reading all IAM idx pages.
The nodemap's fileset is further renamed as future "lctl
nodemap_set_fileset" commands can only modify the primary fileset.
Test-Parameters: trivial testlist=sanity-sec
Signed-off-by: Marc Vef <mvef@whamcloud.com>
Change-Id: I39bd3355c96fcf3938aaa52c8e5ff1eb70617378
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57523
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Marc Vef [Mon, 9 Dec 2024 11:53:09 +0000 (12:53 +0100)]
LU-18357 ptlrpc: Use nodemap IAM for persisting filesets
Currently, two separate commands exist to set a fileset and both
behave differently. "lctl set_param (-P)" works as expected. On the
other hand, "lctl nodemap_set_fileset" updates the fileset only on the
local node and is not persistent. It could also be run from other
server nodes and not only from the MGS. This behavior is inconsistent
with other nodemap commands.
Ideally, we would want to use the nodemap IAM records for persisting
all nodemap properties without relying on secondary mechanisms, such
as the params llog which is currently used for filesets. This patch
adds support for persistence across restarts for "lctl
nodemap_set_fileset" commands. Filesets are split into 28 byte path
fragments which are stored alongside 4 byte fragment metadata into one
nodemap IAM record (which is 32 bytes).
For this, fileset fragments are stored in a "defined" subid range
within the NODEMAP_CLUSTER_IDX type. In anticipation of supporting
multiple filesets, the first fileset subid is reserved for a fileset
header. The subid range is set to support at maximum 256 nodemap
records for fileset fragments. 256 entries support enough fragments
to hold a PATH_MAX fileset in total. Only needed fragments are
inserted into the nodemap IAM.
To support seamless updates from fileset llog to IAM versions, a
nodemap flag was added which allows existing "lctl set_param -P
nodemap.<name>.fileset" to be applied outside the nodemap IAM as long
as no IAM records were set. Filesets from the llog are not migrated to
the IAM but are still compatbiel after an update. "lctl set_param
nodemap.<name>.fileset" is deprecated and uses the IAM once fileset
IAM records are in use.
Sanity-sec "test_27a" was modified to test fileset persistence.
Signed-off-by: Marc Vef <mvef@whamcloud.com>
Change-Id: Ic2e5e8026261867b7f0e90ea4ee2287251c503f7
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56757
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Marc Vef [Mon, 25 Nov 2024 13:08:37 +0000 (14:08 +0100)]
LU-18469 ptlrpc: Add flag to deny mounts for nodemaps
Previously, nodemaps could only be activated and deactived globally.
This patch adds the ability to deny mount attempts for individual
nodemaps. Existing mounted clients are not evicted when the new flag
is set.
This feature is implemented by adding a new nodemap flag "deny_mount"
and it is stored in the nodemap IAM config record. It is therefore
persistent and the flag is automatically distributed across the
cluster.
Similar to other nodemap flags, the new "deny_mount" flag is set via
"lctl nodemap_modify" and retrieved via "lctl get_param".
Deny mounts for nodemap:
lctl nodemap_modify --name <nm_name> --property deny_mount --value 1
Allow mounts for nodemap (default):
lctl nodemap_modify --name <nm_name> --property deny_mount --value 0
Read nodemap deny_mount flag:
lctl get_param nodemap.<nm>.deny_mount
A new sanity-sec test 74 was added to test this flag.
Signed-off-by: Marc Vef <mvef@whamcloud.com>
Change-Id: Ibf05d3e04768a5702dc6070e2d35c9ac07e731ac
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57096
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Alex Zhuravlev [Thu, 12 Dec 2024 05:46:32 +0000 (08:46 +0300)]
LU-18535 ptlrpc: do not use kstrndup()
instead use OBD_ALLOC() + memcpy() so subsequent OBD_FREE() does
correct math to detect memory leaks.
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: Ib6ab1ec865f3d1c9e92328b4ccddef9c1861dee4
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57385
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: Timothy Day <timday@amazon.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Timothy Day [Fri, 1 Sep 2023 16:28:15 +0000 (16:28 +0000)]
LU-17079 utils: improve mkfs.lustre error messages, do cleanup
Several error message have been changed to output the real error.
This should make it much easier to debug certain types of issues.
Many conditional compilation macros have been cleaned up. Since
this utilies have loadable plugings, we can't know at compile
time which backend storage types are going to be supported.
Plus, these macros add complexity to the code.
Test-Parameters: trivial
Test-Parameters: trivial fstype=zfs
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: Ifcd20cc9fa389a6440b453f6236c41b3a80d92d3
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/52223
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Bobi Jam [Thu, 13 Feb 2025 07:37:10 +0000 (15:37 +0800)]
LU-18718 llite: cl_file_inode_init() only for regular file
cl_file_inode_init() only applies to regular files, so we'd avoid
LBUG-ing it if the pre-condition is not met.
cl_file_inode_init()) ASSERTION((((inode->i_mode) &
00170000)
== 0100000)) failed:
Call Trace:
dump_stack+0x41/0x60
lbug_with_loc.cold.8+0x5/0x58 [libcfs]
cl_file_inode_init+0x216/0x390 [lustre]
ll_update_inode+0x44f/0x710 [lustre]
ll_iget+0x228/0x320 [lustre]
ll_prep_inode+0x3e5/0xa10 [lustre]
ll_lookup_it_finish.constprop.32+0xce/0x10a0 [lustre]
ll_lookup_it+0x82f/0x1840 [lustre]
ll_lookup_nd+0x112/0x1c0 [lustre]
__lookup_hash+0x75/0xa0
do_unlinkat+0x156/0x300
do_syscall_64+0x5b/0x1a0
entry_SYSCALL_64_after_hwframe+0x66/0xcb
Signed-off-by: Bobi Jam <bobijam@whamcloud.com>
Change-Id: I7fef2645ef040cb3c3fd6e4ece062e1c9ab64327
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58057
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Patrick Farrell <pfarrell@whamcloud.com>
Reviewed-by: Qian Yingjin <qian@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Arshad Hussain [Sun, 22 Sep 2024 14:15:03 +0000 (10:15 -0400)]
LU-6142 mdc: Fix style issues for mdc_request.c
This patch fixes issues reported by checkpatch
for both files lustre/mdc/mdc_request.c
Test-Parameters: trivial
Signed-off-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Change-Id: Id1931d5b1b498e0a0971eb2a28c020bc5470da96
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56480
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Andreas Dilger [Wed, 19 Feb 2025 00:04:35 +0000 (17:04 -0700)]
LU-18468 tests: write PAGE_SIZE for sanity-flr/211
Do not write smaller than PAGE_SIZE (=64KiB on aarch64/ppc64) when
using "dd oflag=direct" for sanity-flr test_211. Otherwise, this
will fail on clients/servers that do not support unaligned direct IO.
Test-Parameters: trivial
Test-Parameters: testlist=sanity-flr env=ONLY=211 clientarch=aarch64 clientdistro=el9.3 serverversion=2.14
Fixes:
b5db891cad ("LU-18468 llapi: always truncate mirrors on resync")
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: Ia102b99e1303bb24114e58ecc129fe27a198135e
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58122
Tested-by: Maloo <maloo@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Jian Yu [Thu, 13 Feb 2025 20:58:56 +0000 (12:58 -0800)]
LU-18716 kernel: update RHEL 9.5 [5.14.0-503.23.2.el9_5]
Update RHEL 9.5 kernel to 5.14.0-503.23.2.el9_5.
Test-Parameters: trivial fstype=ldiskfs mdtcount=4 mdscount=2 \
clientdistro=el9.5 serverdistro=el9.4 testlist=sanity
Test-Parameters: trivial fstype=ldiskfs mdtcount=4 mdscount=2 \
clientdistro=el9.4 serverdistro=el9.5 testlist=sanity
Test-Parameters: optional fstype=ldiskfs mdtcount=4 mdscount=2 \
clientdistro=el9.5 serverdistro=el9.5 testgroup=full-dne-part-1
Test-Parameters: optional fstype=ldiskfs mdtcount=4 mdscount=2 \
clientdistro=el9.5 serverdistro=el9.5 testgroup=full-dne-part-2
Test-Parameters: optional fstype=ldiskfs mdtcount=4 mdscount=2 \
clientdistro=el9.5 serverdistro=el9.5 testgroup=full-dne-part-3
Test-Parameters: optional fstype=zfs mdtcount=4 mdscount=2 \
clientdistro=el9.5 serverdistro=el9.5 testgroup=full-dne-zfs-part-1
Test-Parameters: optional fstype=zfs mdtcount=4 mdscount=2 \
clientdistro=el9.5 serverdistro=el9.5 testgroup=full-dne-zfs-part-2
Test-Parameters: optional fstype=zfs mdtcount=4 mdscount=2 \
clientdistro=el9.5 serverdistro=el9.5 testgroup=full-dne-zfs-part-3
Change-Id: I1ab9751aec09263128c29531bf51370ef9982ba1
Signed-off-by: Jian Yu <yujian@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58077
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Alex Deiter <adeiter@ddn.com>
Reviewed-by: Yang Sheng <ys@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Jian Yu [Thu, 13 Feb 2025 00:13:54 +0000 (16:13 -0800)]
LU-18717 kernel: update RHEL 8.10 [4.18.0-553.40.1.el8_10]
Update RHEL 8.10 kernel to 4.18.0-553.40.1.el8_10.
Test-Parameters: trivial fstype=ldiskfs mdtcount=4 mdscount=2 \
clientdistro=el8.10 serverdistro=el8.10 testlist=sanity
Test-Parameters: optional fstype=zfs mdtcount=4 mdscount=2 \
env=SANITY_EXCEPT="66 413" \
clientdistro=el8.10 serverdistro=el8.10 testlist=sanity
Test-Parameters: optional fstype=ldiskfs mdtcount=4 mdscount=2 \
clientdistro=el8.10 serverdistro=el8.10 testgroup=full-dne-part-1
Test-Parameters: optional fstype=ldiskfs mdtcount=4 mdscount=2 \
clientdistro=el8.10 serverdistro=el8.10 testgroup=full-dne-part-2
Test-Parameters: optional fstype=ldiskfs mdtcount=4 mdscount=2 \
clientdistro=el8.10 serverdistro=el8.10 testgroup=full-dne-part-3
Test-Parameters: optional fstype=zfs mdtcount=4 mdscount=2 \
clientdistro=el8.10 serverdistro=el8.10 testgroup=full-dne-zfs-part-1
Test-Parameters: optional fstype=zfs mdtcount=4 mdscount=2 \
clientdistro=el8.10 serverdistro=el8.10 testgroup=full-dne-zfs-part-2
Test-Parameters: optional fstype=zfs mdtcount=4 mdscount=2 \
clientdistro=el8.10 serverdistro=el8.10 testgroup=full-dne-zfs-part-3
Change-Id: I40bc8e5add765103993acbee5d16e04b84696a5f
Signed-off-by: Jian Yu <yujian@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58054
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Yang Sheng <ys@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Alex Deiter <adeiter@ddn.com>
Timothy Day [Fri, 31 Jan 2025 19:28:12 +0000 (19:28 +0000)]
LU-18687 contrib: move cc-plugins, clarify license
Move cc-plugins from the top-level to contrib. This is
a more sensible location. Also, clarify that it available
under GPLv2 and add Apache-2.0 to LICENSES/dual/ directory.
This mirrors the practices of the Linux kernel.
Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: I462b4ded84e9bd78692a87532da3df4f703db302
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57939
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Alexander Boyko [Tue, 14 Jan 2025 12:02:04 +0000 (13:02 +0100)]
LU-18671 mdc: don't send empty rpc for DoM
osc_page_gang_lookup() sends empty rpc to refresh a lock,
bases on cl_io lm_next_rpc_time from a thread storage.
mdc_lock_discard_pages() does not set time, and it is taken from a
osc_thread_info. Sometimes this leads to an empty rpc for a DoM,
outside of DoM component size.
LustreError: lustre-MDT0000-mdc-
ffffa0816bceb000: operation ost_read
to node 192.168.122.55@tcp failed: rc = -116
HPE-bug-id: LUS-12706
Fixes:
564070343ac4 ("LU-14711 osc: Notify server if cache discard takes a long time")
Signed-off-by: Alexander Boyko <alexander.boyko@hpe.com>
Change-Id: I36cdc2c697e2306e792241ecee77b442b24356ce
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57883
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andriy Skulysh <andriy.skulysh@hpe.com>
Reviewed-by: Alexey Lyashkov <alexey.lyashkov@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Sebastien Buisson [Wed, 22 Jan 2025 14:20:11 +0000 (15:20 +0100)]
LU-18109 nodemap: fix idmap offset for root
root must be mapped and offset just like other ids, so that all ids on
the client in the range [0, offset_limit-1] are mapped to the
filesystem id range [offset, offset+offset_limit-1].
This means that as soon as an offset is defined on a nodemap, root is
necessarily mapped:
- if admin=1, root id is offset
- if admin=0, root is squashed then offset.
Similarly:
- if trusted=1, ids are mapped (with any explicit mapping) and offset
- if trusted=0, ids are squashed then offset.
Moreover, add_offset and del_offset operations are only allowed on the
MGS or for a dynamic nodemap.
Finally, enhance sanity-sec test_27ab to test id mappings with offset.
Fixes:
e3051ad0f1 ("LU-18109 utils: adding nodemap offset capability")
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: I7a20c59496174d9d1fc040c5b3b43d8dad3447f9
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57856
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: Marc Vef <mvef@whamcloud.com>
Sebastien Buisson [Wed, 15 Jan 2025 17:23:46 +0000 (18:23 +0100)]
LU-18637 obd: add 'network' server mount option
Just like the '-o network' client option, we want to control which
LNet network is used for connections established by servers to remote
peers (MGS, other servers).
This controls the following connections:
- osp
- lwp
- mgc
This patch leverages the 'imp_conn_restricted_net' field on the
'struct obd_import'.
Enhance sanity-sec test_31 to exercise this '-o network' option on
server side.
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: I39cbab2645aeda6fe54efb377d1b1d9edfceb89f
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57780
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Cyril Bordage <cbordage@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Mikhail Pershin <mpershin@whamcloud.com>
Reviewed-by: Serguei Smirnov <ssmirnov@whamcloud.com>
Shaun Tancheff [Sat, 15 Feb 2025 11:01:06 +0000 (18:01 +0700)]
LU-18187 ldlm: use cfs hash extra_bits
BUG: KASAN: vmalloc-out-of-bounds in \\
ldlm_reclaim_lock_cb+0xa46/0xa50 [ptlrpc]
In ldlm_namespace_new() allocation of ns_rs_buckets can be replaced
with extra bits sized to hold struct ldlm_ns_bucket. Then
cfs_hash_bd_extra_get() can be used to access struct ldlm_ns_bucket.
This should resolve the inconsistency that could occur after
cfs_hash_buckets_realloc().
HPE-bug-id: LUS-12508
Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: I13af91d400c12891a4bab5c4443dc3d3cbd25da4
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56290
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Yang Sheng <ys@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Shaun Tancheff [Sat, 15 Feb 2025 11:17:46 +0000 (18:17 +0700)]
LU-18186 libcfs: avoid kmalloc order > MAX_PAGE_ORDER
WARNING: CPU: 4 PID: 448333 at mm/page_alloc.c:4663
__alloc_pages_noprof+0x3a7/0x4e0
libcfs calls memdup_user_nul() which uses kmalloc() which can
trigger the above warning.
Limit these excessive allocations a reasonable minimum.
Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: Ide49aa3870cadc43c520f29b0a942c8f9798d053
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56215
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Emoly Liu [Sat, 8 Feb 2025 07:30:01 +0000 (15:30 +0800)]
LU-18114 nodemap: split "lctl nodemap_*" group into subcommands
Split "lctl nodemap_*" command group into subcommands, e.g.
"lctl nodemap_add" to "lctl nodemap add". And "lctl nodemap_*"
commands in sanity-sec.sh are modified to verify this patch.
Also, the old man pages are modified to reflect the new command
format, and the new man page references for lctl-nodemap_xxx.8 are
added to match the old ones.
Test-Parameters: testlist=sanity-sec
Signed-off-by: Emoly Liu <emoly@whamcloud.com>
Change-Id: I165583d95f4a850ce2461c15c56583d64077ef16
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56207
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Marc Vef <mvef@whamcloud.com>
Frederick Dilger [Mon, 26 Aug 2024 22:54:36 +0000 (16:54 -0600)]
LU-4315 doc: updating llapi-[g-h] man page style
Updating files to match the new code style for Lustre manual pages as
enforced by 'contrib/scripts/checkpatch-man.pl'.
This also includes other changes like removing < > or { } for singular
required arguments and placing [ ] around optional ones as well as
making all arguments CAPITAL and italicized, literal arguments are
bolded. Lines over 80 characters should be split at the natural line
end rather than the word that goes over the limit as fewer lines will
need to be modified when making changes if each sentence is on it's
own line.
Only using features that appear in groff 1.22.3 as this is the
available version is CentOS 8.
Checked files:
- llapi_get_fsname.3
- llapi_get_fsname_instance.3
- llapi_get_instance.3
- llapi_get_lum_dir.3
- llapi_get_lum_dir_fd.3
- llapi_get_lum_file.3
- llapi_get_lum_file_fd.3
- llapi_getname.3
- llapi_group_lock.3
- llapi_group_unlock.3
- llapi_heat_get.3
- llapi_heat_set.3
- llapi_hsm_action_begin.3
- llapi_hsm_action_end.3
- llapi_hsm_action_get_dfid.3
- llapi_hsm_action_get_fd.3
- llapi_hsm_action_progress.3
- llapi_hsm_copytool_get_fd.3
- llapi_hsm_copytool_recv.3
- llapi_hsm_copytool_register.3
- llapi_hsm_copytool_unregister.3
- llapi_hsm_state_get.3
- llapi_hsm_state_set.3
Test-Parameters: trivial
Signed-off-by: Frederick Dilger <fdilger@whamcloud.com>
Change-Id: I0b503f02f8d5b80a3888bd57676001f7a0bc1dc5
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56170
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Alexander Zarochentsev [Fri, 2 Feb 2024 16:39:39 +0000 (16:39 +0000)]
LU-13582 out: make tx abort verbose
A distributed transaction abort and rollback of already
done updates indicates insufficient locking or fs metadata
inconsistency and should be reported to the console at least
as a warning.
Signed-off-by: Alexander Zarochentsev <alexander.zarochentsev@hpe.com>
Change-Id: Id1127d422d19725eeb425e028ff854769cf312d5
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/53891
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andrew Perepechko <andrew.perepechko@hpe.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Bobi Jam [Fri, 20 Dec 2024 15:01:01 +0000 (23:01 +0800)]
LU-18588 obdclass: keep track of cl_page's bufsize
When a cl_page is allocated, the slab cache size to be used is a
rounding-up value of the cl_object's coh_page_bufsize, while the
object's coh_page_bufsize could change if the layout is changed,
and when the cl_page on the LRU list got shrank, cl_page_free()
would find that its bufsize does not match the current
coh_page_bufsize value.
LustreError: 949:0:(cl_page.c:178:__cl_page_free()) ASSERTION(
cl_page_kmem_size_array[index] == bufsize) failed:
lbug_with_loc.cold+0x5/0x58 [libcfs]
__cl_page_free+0x1c2/0x260 [obdclass]
cl_page_free+0x96/0x4d0 [obdclass]
cl_batch_put+0x1ac/0x3d0 [obdclass]
discard_cl_pages+0x99/0x150 [osc]
osc_lru_shrink+0x34a/0x930 [osc]
lru_queue_work+0xea/0x220 [osc]
work_interpreter+0x32/0x170 [ptlrpc]
ptlrpc_check_set+0x40e/0x1ef0 [ptlrpc]
ptlrpcd_check+0x3b4/0x5a0 [ptlrpc]
ptlrpcd+0x1ba/0x4d0 [ptlrpc]
This patch would keep track of the page's bufsize by referring
to cl_page_kmem_size_array if its in the array or reusing
cp_kmem_index to store its bufsize.
Signed-off-by: Bobi Jam <bobijam@whamcloud.com>
Change-Id: I433a5601851da3c3d9ec8578005a262f29e979ea
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57565
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Tested-by: Qian Yingjin <qian@ddn.com>
Reviewed-by: Qian Yingjin <qian@ddn.com>
Reviewed-by: Patrick Farrell <pfarrell@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Mikhail Pershin [Sat, 9 Nov 2024 13:53:53 +0000 (16:53 +0300)]
LU-14947 test: recovery_small/26a fix
- issue writes to all OSTs prior test to make sure client
exports are not dropped by server as having no updates
- set rq_sent when request is dropped by fail_check to
reconnect not immediately but in timely manner
Test-Parameters: testlist=recovery-small env=ONLY=26a
Signed-off-by: Mikhail Pershin <mpershin@whamcloud.com>
Change-Id: Idb219a0453c867903528130669d151bbb6c7bab4
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56949
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Robert Read [Tue, 11 Feb 2025 21:39:30 +0000 (16:39 -0500)]
LU-4239 tests: add missing call to test
Fix issue in test40 in llapi_fid_test.c. The test
creates a file but was not calling the helper
function to do the test.
Signed-off-by: Robert Read <rread@ddn.com>
Test-Parameters: trivial testlist=sanity env=ONLY=154g,ONLY_REPEAT=100
Change-Id: Icd30476d5c2ae986d6971922ea6fc7a2c6859f33
Fixes:
2b10c0bde ("LU-4239 tests: test FID related APIs")
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58047
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Patrick Farrell <pfarrell@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Arshad Hussain [Mon, 10 Feb 2025 11:51:19 +0000 (06:51 -0500)]
LU-9633 llite: Add kernel doc style for lustre/llite/*.c (Part 2)
This patch converts existing functional comments
to kernel doc style comments and removes '/**' for
comments which is not meant to be a kernel-doc comment
Tested with:
<kernel src path>/scrips/kernel-doc -v -none <file>
Pass criteria: No errors/warnings reported
Test-Parameters: trivial
Signed-off-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Change-Id: I1535b80eff527596457346456c19ede97ff970a9
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58030
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Timothy Day [Fri, 31 Jan 2025 05:09:34 +0000 (00:09 -0500)]
LU-18687 build: consolidate autoconf files
Maintain all of the autoconf files in the same
top-level directory. This mirrors the practices
of other projects (like ZFS) and makes it easier
to find these files.
Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: I6bfdef9032bf768a63292999a6e9369a85240a2b
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57933
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Max Wang <wamax@amazon.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Alex Zhuravlev [Sun, 24 Nov 2024 11:34:45 +0000 (14:34 +0300)]
LU-18485 ptlrpc: use-after-free in batch_send_update_req
if rpc in batch_send_update_req() is async, then the interpreter
(freeing the head) can be called sooner than lprocfs_oh_tally_log2()
(using the head):
BUG: unable to handle kernel paging request at
ffffa35eb3668018
PGD
100090067 P4D
100090067 PUD
100091067 PMD
14d0c0067 PTE 0
Oops: 0000 [#1] PREEMPT SMP
CPU: 1 PID: 10997 Comm: ll_sa_10979 Tainted: G W O
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-1
RIP: 0010:batch_send_update_req.constprop.1.cold.4+0xb5/0x1d1 [ptlrpc]
Fixes:
a20f25d24b5 ("LU-14139 statahead: add stats for batch RPC requests")
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: I65588da9a772e0109bfc133c4057b1effc0e7e5b
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57116
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Oleg Drokin [Mon, 10 Feb 2025 17:34:44 +0000 (12:34 -0500)]
LU-18689 osp: Unregister proc files before obd cleanup
Don't register the proc files before we are fully done initializing
either.
This fixes problems with proc/sysfs access highlighted by
recovery-small test 57 that take many forms, but
universally have osp in backtrace and either crashes in one of the
attributes or in osp_statfs
BUG: unable to handle kernel NULL pointer dereference at
0000000000000710
IP: [<
ffffffff817dfdf8>] down_read+0x28/0x50
RIP: 0010:[<
ffffffff817dfdf8>] [<
ffffffff817dfdf8>] down_read+0x28/0x50
Call Trace:
[<
ffffffffa1535378>] active_show+0x28/0x90 [osp]
[<
ffffffffa0397166>] lustre_attr_show+0x16/0x20 [obdclass]
[<
ffffffff812d728c>] sysfs_kf_seq_show+0xcc/0x1e0
[<
ffffffff812d58b3>] kernfs_seq_show+0x23/0x30
[<
ffffffff8126f0b5>] seq_read+0x135/0x470
[<
ffffffff812d643d>] kernfs_fop_read+0x11d/0x190
[<
ffffffff81245839>] vfs_read+0xb9/0x1c0
[<
ffffffff8124676f>] SyS_read+0x7f/0xf0
BUG: unable to handle kernel NULL pointer dereference at
0000000000000158
IP: [<
ffffffffa14e85b1>] osp_statfs+0x2a1/0x4e0 [osp]
Oops: 0000 [#1] SMP DEBUG_PAGEALLOC
RIP: 0010:[<
ffffffffa14e85b1>] [<
ffffffffa14e85b1>] osp_statfs+0x2a1/0x4e0 [osp]
Call Trace:
[<
ffffffffa03c53f2>] filestotal_show+0x52/0x120 [obdclass]
[<
ffffffffa0378166>] lustre_attr_show+0x16/0x20 [obdclass]
[<
ffffffff812d728c>] sysfs_kf_seq_show+0xcc/0x1e0
[<
ffffffff812d58b3>] kernfs_seq_show+0x23/0x30
[<
ffffffff8126f0b5>] seq_read+0x135/0x470
[<
ffffffff812d643d>] kernfs_fop_read+0x11d/0x190
[<
ffffffff81245839>] vfs_read+0xb9/0x1c0
[<
ffffffff8124676f>] SyS_read+0x7f/0xf0
Signed-off-by: Oleg Drokin <green@whamcloud.com>
Change-Id: Ie0337fcecfa1afe0c6be901bd9dab9cf6847555a
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57949
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Yang Sheng [Tue, 14 Jan 2025 18:22:01 +0000 (02:22 +0800)]
LU-18625 llite: use locks_copy_lock API
The RHEL8.[4-7] operates the lockowner ref-count
in fl_copy_lock, So use locks_copy_lock to expand
the fixing scope. Also skip the test case if work
without fix patch in interop enviroment.
Fixes:
fb3c3d2052 ("LU-17692 llite: flock work with lockd")
Signed-off-by: Yang Sheng <ys@whamcloud.com>
Change-Id: I038ab25f51062decf2e7846dfdc98bc81339467a
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57753
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
James Simmons [Sat, 8 Feb 2025 13:46:18 +0000 (08:46 -0500)]
LU-18651 tests: use urandom in sanity-pfl test
With newer ZF having compression on test using dd with /dev/zero
will fail. Change the sanity-pfl test to use /dev/urandom
instead.
Change-Id: I508611fd3cee96bab623e3e12fbc1cad060b72f7
Test-Parameters: trivial fstype=zfs testlist=sanity-pfl
Signed-off-by: James Simmons <jsimmons@infradead.org>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58019
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Jian Yu [Fri, 7 Feb 2025 17:24:06 +0000 (09:24 -0800)]
LU-18702 kernel: update RHEL 8.10 [4.18.0-553.37.1.el8_10]
Update RHEL 8.10 kernel to 4.18.0-553.37.1.el8_10.
The patch also provides a fallback series which uses
the former base/ext4-delayed-iput.patch for kernel
before 4.18.0-553.22.1.el8_10.
Test-Parameters: trivial fstype=ldiskfs mdtcount=4 mdscount=2 \
clientdistro=el8.10 serverdistro=el8.10 testlist=sanity
Test-Parameters: optional fstype=zfs mdtcount=4 mdscount=2 \
env=SANITY_EXCEPT="66 413" \
clientdistro=el8.10 serverdistro=el8.10 testlist=sanity
Test-Parameters: optional fstype=ldiskfs mdtcount=4 mdscount=2 \
clientdistro=el8.10 serverdistro=el8.10 testgroup=full-dne-part-1
Test-Parameters: optional fstype=ldiskfs mdtcount=4 mdscount=2 \
clientdistro=el8.10 serverdistro=el8.10 testgroup=full-dne-part-2
Test-Parameters: optional fstype=ldiskfs mdtcount=4 mdscount=2 \
clientdistro=el8.10 serverdistro=el8.10 testgroup=full-dne-part-3
Test-Parameters: optional fstype=zfs mdtcount=4 mdscount=2 \
clientdistro=el8.10 serverdistro=el8.10 testgroup=full-dne-zfs-part-1
Test-Parameters: optional fstype=zfs mdtcount=4 mdscount=2 \
clientdistro=el8.10 serverdistro=el8.10 testgroup=full-dne-zfs-part-2
Test-Parameters: optional fstype=zfs mdtcount=4 mdscount=2 \
clientdistro=el8.10 serverdistro=el8.10 testgroup=full-dne-zfs-part-3
Fixes:
40b69da398a ("LU-18423 kernel: update RHEL 8.10 [4.18.0-553.27.1.el8_10]")
Change-Id: I5cc375a4a3586e1485fa0d9934ea1693f6899a19
Signed-off-by: Jian Yu <yujian@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58006
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Yang Sheng <ys@whamcloud.com>
Reviewed-by: Alex Deiter <adeiter@ddn.com>
Alex Zhuravlev [Thu, 6 Feb 2025 13:35:55 +0000 (16:35 +0300)]
LU-18153 osd: don't release uninitialized SA
if osd-zfs's object has no initialized SA, then do not
try to release that.
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: I210ae1eb9cae0bfb02161efeee2f897d9c37294b
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57989
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Timothy Day <timday@amazon.com>
Alex Zhuravlev [Wed, 29 Jan 2025 07:16:44 +0000 (10:16 +0300)]
LU-18683 llite: remove call to client_fid_init()
the devices right under llite (lov and lmv) don't use fld client
directly, only osc and mdc do. also, client_obd (as part of
lov/lmv) is not initialized, thus calling client_fid_init()
and client_fid_fini() from llite makes no sense and just cause a
noisy warnings from the kernel.
Fixes:
424b9ccb00 ("LU-18009 obd: remove o_fid_init/o_fid_fini")
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: Ic04b668ba70e63a65a419735cdf9402d80d3f4e1
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57918
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Mikhail Pershin <mpershin@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Timothy Day <timday@amazon.com>
Arshad Hussain [Mon, 6 Jan 2025 05:06:26 +0000 (00:06 -0500)]
LU-9633 llite: Add kernel doc style for lustre/llite/*.c (Part 1)
This patch converts existing functional comments
to kernel doc style comments and removes '/**' for
comments which is not meant to be a kernel-doc comment
Tested with:
<kernel src path>/scrips/kernel-doc -v -none <file>
Pass criteria: No errors/warnings reported
Test-Parameters: trivial
Signed-off-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Change-Id: I90643c70bc5ecfbcc90504da1a5b3b3ea67e3381
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57725
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Alex Zhuravlev [Tue, 24 Dec 2024 15:37:30 +0000 (18:37 +0300)]
LU-18599 mdc: assign mod_close_req when RPC is ready
we shouldn't assign mod_close_req before the corresponding close RPC
is fully populated, otherwise mdc_replay_open() can be accessing RPC
with no rq_reqmsg set.
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: I78f7ba2b18c7e9c431accce591cd4a921e25f4da
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57587
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Feng Lei <flei@ddn.com>
Reviewed-by: Nikitas Angelinas <nikitas.angelinas@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Alex Zhuravlev [Thu, 19 Dec 2024 08:20:41 +0000 (11:20 +0300)]
LU-18580 osc: don't use old mtime from lvb
do not use lvb's mtime if it's older than the current one.
Test-Parameters: env=ONLY=39,ONLY_REPEAT=100 testlist=sanityn
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: I1da25d7710313d055985a39989326b9b6a52b68c
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57521
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Patrick Farrell <pfarrell@whamcloud.com>
Reviewed-by: Mikhail Pershin <mpershin@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Frederick Dilger [Sat, 30 Nov 2024 23:12:55 +0000 (16:12 -0700)]
LU-18501 tests: sanity.sh test_56oe fix time range
test_56oe was likely failing due to the test running slow, resulting
in all of the files escaping the time range before they are found
with 'lfs find -ctime -Tupper -ctime +Tlower' so the bounds are now
calculated after all files have been created meaning that even if
there are large gaps between the creation of each file they will
still be within the new bounds.
Just in case the test is really extra slow, this test will be skipped
to avoid having to retest for the 0.01% of the time that it happens.
Test-Parameters: trivial testlist=sanity env=ONLY=56oe,ONLY_REPEAT=100
Signed-off-by: Frederick Dilger <fdilger@whamcloud.com>
Change-Id: If3f737146f1a1d110873c5dd3a6ece60604e54ac
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57201
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
James Simmons [Sat, 8 Feb 2025 01:51:19 +0000 (20:51 -0500)]
LU-18624 zfs: disable compression by default
By default ZFS is enabling compression which is causing test
failures for us. It should the administrators choice to use
ZFS with compression turned on or off. Change mount.lustre
zfs backend to handle compression=val mount option. By default
we will turn it off.
For the test suite we can use <facet_type>_FS_MKFS_OPTS to
turn on compression for testing.
Disable lots of conf-sanity test which are broken with ZFS 2.X.
Change-Id: I752c883f6f912a340aa346e1dfb8bf7bdef24939
Signed-off-by: James Simmons <jsimmons@infradead.org>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57990
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Tested-by: Maloo <maloo@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Alexander Boyko [Wed, 29 Jan 2025 11:31:13 +0000 (12:31 +0100)]
LU-18218 llog: repeat declare for remote obj
llog_cat_new_log() for remote object is asynchornous,
so flag LOHA_EXIST could be removed when out operation
failed. Repeat llog_cat_new_log() at declare phase
when it is not exist.
Fixes:
8047d75a5b ("LU-18218 llog: catalog lgh_lock refactoring")
Signed-off-by: Alexander Boyko <alexander.boyko@hpe.com>
Change-Id: I510711f7e2d442a1de5534f0c35ab9478c4ebe6b
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57920
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Alexey Lyashkov <alexey.lyashkov@hpe.com>
Reviewed-by: Mikhail Pershin <mpershin@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Oleg Drokin [Thu, 14 Nov 2024 06:50:00 +0000 (01:50 -0500)]
LU-18445 libcfs: Remove msleep before panic for lbug
If panic on lbug is set, do not sleep before calling
the panic() as it has very undesirable side effects.
Logs are getting rotated, racing threads continue moving
and get harder to understand what they were doing and
so on.
Test-Parameters: trivial
Fixes:
9f44a48b365 ("LU-17793 libcfs: fix objtool warning in lbug_with_loc()")
Change-Id: Idd49bda78c6441a11d3ea18cb053fd9755552604
Signed-off-by: Oleg Drokin <green@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57010
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Timothy Day <timday@amazon.com>
Arshad Hussain [Sun, 22 Sep 2024 14:43:43 +0000 (10:43 -0400)]
LU-6142 mdd: Fix style issues for mdd_internal.h
This patch fixes issues reported by checkpatch
for both files lustre/mdd/mdd_internal.h
Test-Parameters: trivial
Signed-off-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Change-Id: Id4c6ea7d432517be2c6a35fef593daa63737051a
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56484
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Petros Koutoupis <petros.koutoupis@hpe.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Arshad Hussain [Sat, 7 Sep 2024 12:56:01 +0000 (08:56 -0400)]
LU-6142 misc: Fix style issues for lustre_import.h
This patch fixes issues reported by checkpatch
for file lustre/include/lustre_import.h
Test-Parameters: trivial
Signed-off-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Change-Id: I1a1e13ed641ac65e723dd501272f7b217c1e685c
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56300
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Petros Koutoupis <petros.koutoupis@hpe.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Arshad Hussain [Sat, 8 Feb 2025 11:10:01 +0000 (06:10 -0500)]
LU-17419 target: Fix KASAN slab-out-of-bounds in string_nocheck
flexi array mti_nidlist member of 'struct mgs_target_info'
is only valid when 'large_nid' is true. However, on returning
from server_lsi2mti() member mti_nidlist was unconditionally
accessed leading to slab-out-of-bounds because its rows are
not yet allocated.
This patch adds a condition for debug printing to either print
member mti_nids(v4/not large nid) or mti_nidlist for large nids
KASAN slab-out-of-bounds was triggered when running
conf-sanity/19b giving the below stack
==================================================================
[ 534.044351] BUG: KASAN: slab-out-of-bounds in string_nocheck+0x1ec/0x290
[ 534.045064] Read of size 1 at addr
ffff88818625d1c0 by task mount.lustre/5165
[ 534.045797]
[ 534.045971] CPU: 1 PID: 5165 Comm: mount.lustre Tainted: G \
W OE ---------r- - 4.18.0-348.23.1.el8_5.x86_64+debug #1
[ 534.047172] Hardware name: Red Hat KVM/RHEL-AV, \
BIOS 1.16.0-4.module_el8.9.0+3659+
9c8643f3 04/01/2014
[ 534.048120] Call Trace:
[ 534.048393] dump_stack+0x8e/0xd0
[ 534.048749] ? string_nocheck+0x1ec/0x290
[ 534.049178] print_address_description.constprop.5+0x1e/0x230
[ 534.054812] string+0xb6/0xc0
[ 534.057142] libcfs_debug_msg+0x152c/0x2290 [libcfs]
[ 534.059975] server_start_targets+0x39d8/0x73e0 [ptlrpc]
[ 534.074514] server_fill_super+0x1352/0x1cc0 [ptlrpc]
[ 534.077431] lustre_fill_super+0x779/0x9f0 [lustre]
[ 534.078519] mount_nodev+0x48/0xe0
[ 534.079441] legacy_get_tree+0x105/0x200
[ 534.080294] vfs_get_tree+0x89/0x330
[ 534.081114] do_mount+0xd40/0x1570
[ 534.083922] ksys_mount+0xb6/0xd0
[ 534.084282] __x64_sys_mount+0xba/0x150
[ 534.084704] do_syscall_64+0xa5/0x430
[ 534.085090] entry_SYSCALL_64_after_hwframe+0x6a/0xdf
----
[ 534.092557] Allocated by task 5165:
[ 534.092927] kasan_save_stack+0x19/0x80
[ 534.093321] __kasan_kmalloc.constprop.9+0xc1/0xd0
[ 534.093817] __kmalloc+0x143/0x260
[ 534.094257] server_lsi2mti+0x6d5/0x1600 [ptlrpc]
[ 534.094838] server_start_targets+0x9f5/0x73e0 [ptlrpc]
[ 534.095489] server_fill_super+0x1352/0x1cc0 [ptlrpc]
[ 534.096062] lustre_fill_super+0x779/0x9f0 [lustre]
[ 534.096584] mount_nodev+0x48/0xe0
[ 534.096946] legacy_get_tree+0x105/0x200
[ 534.097353] vfs_get_tree+0x89/0x330
[ 534.097729] do_mount+0xd40/0x1570
[ 534.098114] ksys_mount+0xb6/0xd0
[ 534.098482] __x64_sys_mount+0xba/0x150
[ 534.098885] do_syscall_64+0xa5/0x430
[ 534.099269] entry_SYSCALL_64_after_hwframe+0x6a/0x
Test-Parameters: trivial testlist=conf-sanity
Signed-off-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Change-Id: I82eb33abc70cfe918711835b019af8e07c46272d
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58018
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Frank Sehr <fsehr@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Jian Yu [Tue, 4 Feb 2025 18:48:41 +0000 (10:48 -0800)]
LU-18692 build: add -f option to libtoolize
If libtool and aclocal.m4 were generated by different
versions of build tools, then building Lustre codes
will hit libtool version mismatch error.
This patch adds -f option to libtoolize in autogen.sh
to replace existing libtool files by default.
Change-Id: I8f4786eccfdf38b3554393d7f9d6f52613a3a3f5
Test-Parameters: trivial
Signed-off-by: Jian Yu <yujian@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57965
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Minh Diep <mdiep@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Alex Zhuravlev [Thu, 6 Feb 2025 13:09:14 +0000 (16:09 +0300)]
LU-17763 tests: use urandom in sanity/66
as zfs-2.2.6 compresses data by default and this breaks the test
using /dev/zero as a source.
Test-Parameters: trivial
Test-Parameters: fstype=zfs env=ONLY=66 testlist=sanity
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: I6853c693e7cb560ae737025507e5377da82c787b
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57987
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
James Simmons [Mon, 3 Feb 2025 15:16:56 +0000 (10:16 -0500)]
LU-12511 lnet: rework lnd module loading
The kernel IS_MODULE() only works in the positive, ie no ifndef.
So rework the LND module loading code to handle if modules are
enabled.
Test-Parameters: trivial testlist=sanity-lnet
Change-Id: Ie97b00b6b5c21d6e20acf72f796707630369251e
Signed-off-by: James Simmons <jsimmons@infradead.org>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57946
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Frank Sehr <fsehr@whamcloud.com>
Reviewed-by: Serguei Smirnov <ssmirnov@whamcloud.com>
Reviewed-by: Chris Horn <chris.horn@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Emoly Liu [Mon, 20 Jan 2025 03:17:58 +0000 (11:17 +0800)]
LU-18114 tests: fix the version checks
Fix the version checks for the following patches:
Fixes:
fec78d4568 ("LU-18114 lctl: split "lctl net_delay_*" group into subcommands")
Fixes:
79a76faa48 ("LU-18114 lctl: split "lctl net_drop_*" group into subcommands")
Fixes:
77e98c10b3 ("LU-18114 changelog: split "lctl changelog_*" group into subcommands
Fixes:
166c48c1c3 ("LU-18114 snapshot: split "lctl snapshot_*" group into subcommands")
Fixes:
441adeced3 ("LU-18114 barrier: split "lctl barrier_*" group into subcommands")
Fixes:
89b0bcdab5 ("LU-18114 lfsck: split "lctl lfsck_*" group into subcommands")
Test-Parameters: trivial testlist=sanity-lnet serverversion=2.16
Test-Parameters: trivial testlist=sanity env=ONLY="60i 801c" serverversion=2.16
Test-Parameters: trivial fstype=zfs testlist=sanity-lsnapshot serverversion=2.16
Test-Parameters: trivial testlist=sanity-lfsck env=ONLY=12a serverversion=2.16
Signed-off-by: Emoly Liu <emoly@whamcloud.com>
Change-Id: I16786e31113a4bd6c8e2e334afa10a795d0b03d9
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57824
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Frederick Dilger <fdilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Andreas Dilger [Fri, 10 Jan 2025 00:16:27 +0000 (17:16 -0700)]
LU-12572 tests: wait longer to clean up files
Occasionally if a VM test node is busy after creating many files,
then it may take slightly longer to clean up at subtest completion.
Wait longer instead of failing the subtest and needing a full rerun.
This affects subtests like sanity-quota/8, sanity-pfl/20b, etc.
Test-Parameters: trivial
Test-Parameters: testlist=sanity-quota env=ONLY=8,ONLY_MINUTES=30
Test-Parameters: testlist=sanity-pfl env=ONLY=20b,ONLY_MINUTES=30
Fixes:
c44b2bea1b ("LU-15179 tests: add trap cleanup_quota_test")
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I0c48a0e45a2423bb79ad886e5246e6a8ff50041e
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57704
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Patrick Farrell <pfarrell@whamcloud.com>
Reviewed-by: Emoly Liu <emoly@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Alex Zhuravlev [Sun, 15 Dec 2024 05:28:12 +0000 (08:28 +0300)]
LU-18558 scrub: don't release os_ls_fids too early
a running iterator can use os_ls_fids (in osd_iit_iget()) even with
the scrubber thread completed which should not release os_ls_fids
too early.
Test-Parameters: testlist=sanity-scrub,sanity-lfsck
Test-Parameters: testlist=sanity-scrub,sanity-lfsck
Test-Parameters: testlist=sanity-scrub,sanity-lfsck
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: I3c5739f3b475f368235344716cd1b596e7f11bd8
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57434
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
James Simmons [Wed, 5 Feb 2025 15:13:02 +0000 (10:13 -0500)]
LU-9859 libcfs: rework special libcfs string handling
The header libcfs_string.h contains NID string specific items so
move them to the LNet header lib-types.h. Only functions for
string to or from mask handling is left in libcfs_string.c. We
can merged that into debug.c where it is first used.
Test-Parameters: trivial
Change-Id: I79c56594af065dfd08b8205a05326fa0ebf36d55
Signed-off-by: James Simmons <jsimmons@infradead.org>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57944
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Shaun Tancheff [Sat, 21 Sep 2024 06:27:35 +0000 (13:27 +0700)]
LU-18251 build: annotate lustre.spec
Consolidate duplicate branches and use some comments
to clarify nested if/endif pairs.
Test-Parameters: trivial
Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: Ic30b8c0c617c65ffc9096f3cb1e4338c104cf0b2
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56448
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Caleb Carlson <caleb.carlson@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Timothy Day [Mon, 20 Jan 2025 21:07:13 +0000 (16:07 -0500)]
LU-16707 scripts: ignore some files in license-status
Many files in-tree don't need a SPDX tag - so lets
ignore them in license-status.
Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: I31a0ae474fce78885e0391544500c2339dae66d7
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57833
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
James Simmons [Fri, 31 Jan 2025 04:42:32 +0000 (23:42 -0500)]
LU-17651 lnet: Fix KASAN use-after-free in lnet_net_remove_cpts
Allocation of net (struct lnet_net) is done under lnet_dyn_add_ni().
When adding and starting net there is a check if the net is unique
or not. If it is not unique (it is a duplicate or already added before)
the net cleanup is done under lnet_startup_lndnet() and -EEXISTS is
return. This breaks the order of allocation. The allocation order
is struct lnet_ni is part of struct lnet_net. Therefore lnet_net
cannot be deallocated before lnet_ni.
This patch removes lnet_net_free() call only when the net is found
to be duplicate. The cleanup of net (lnet_net_free()) is called
from lnet_dyn_add_ni() where it is actually allocated. This is
locally tested and no KASAN error was reported.
Lustre: DEBUG MARKER: lnetctl net add --net tcp --if ens2
LNet: Added LNI 192.168.205.1@tcp [8/256/0/180]
LNet: Accept secure, port 988
Lustre: DEBUG MARKER: lnetctl net add --net tcp --if ens2
==================================================================
BUG: KASAN: use-after-free in lnet_net_remove_cpts.constprop.0+0x774/0x7f0 [lnet]
Read of size 8 at addr
ffff888005be7a50 by task lnetctl/79304
CPU: 1 PID: 79304 Comm: lnetctl Kdump: loaded Tainted: G W OE ------- --- 5.14.0rocky93-debug #4
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-1.fc39 04/01/2014
Call Trace:
<TASK>
? lnet_net_remove_cpts.constprop.0+0x774/0x7f0 [lnet]
dump_stack_lvl+0x57/0x7d
print_address_description.constprop.0+0x1f/0x1e0
? lnet_net_remove_cpts.constprop.0+0x774/0x7f0 [lnet]
print_report.cold+0x55/0x240
kasan_report+0xc8/0x200
? lnet_net_remove_cpts.constprop.0+0x774/0x7f0 [lnet]
lnet_net_remove_cpts.constprop.0+0x774/0x7f0 [lnet]
lnet_ni_free+0x6a/0x620 [lnet]
lnet_dyn_add_ni+0x29d/0x370 [lnet]
Test-Parameters: trivial testlist=sanity-lnet
Change-Id: I2c751a1bfeb583b86d9b68241607cf90c69f4277
Signed-off-by: James Simmons <jsimmons@infradead.org>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57861
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Frank Sehr <fsehr@whamcloud.com>
Reviewed-by: Chris Horn <chris.horn@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Oleg Drokin [Thu, 6 Feb 2025 01:33:48 +0000 (20:33 -0500)]
New tag 2.16.52
Change-Id: I570cf3ba8ca39dd583cca7fe152be5532b9d6de5
Signed-off-by: Oleg Drokin <green@whamcloud.com>
Jian Yu [Thu, 23 Jan 2025 19:58:14 +0000 (11:58 -0800)]
LU-18665 kernel: update RHEL 9.5 [5.14.0-503.22.1.el9_5]
Update RHEL 9.5 kernel to 5.14.0-503.22.1.el9_5.
Test-Parameters: trivial fstype=ldiskfs mdtcount=4 mdscount=2 \
clientdistro=el9.5 serverdistro=el9.4 testlist=sanity
Test-Parameters: trivial fstype=ldiskfs mdtcount=4 mdscount=2 \
clientdistro=el9.4 serverdistro=el9.5 testlist=sanity
Test-Parameters: optional fstype=ldiskfs mdtcount=4 mdscount=2 \
clientdistro=el9.5 serverdistro=el9.5 testgroup=full-dne-part-1
Test-Parameters: optional fstype=ldiskfs mdtcount=4 mdscount=2 \
clientdistro=el9.5 serverdistro=el9.5 testgroup=full-dne-part-2
Test-Parameters: optional fstype=ldiskfs mdtcount=4 mdscount=2 \
clientdistro=el9.5 serverdistro=el9.5 testgroup=full-dne-part-3
Test-Parameters: optional fstype=zfs mdtcount=4 mdscount=2 \
clientdistro=el9.5 serverdistro=el9.5 testgroup=full-dne-zfs-part-1
Test-Parameters: optional fstype=zfs mdtcount=4 mdscount=2 \
clientdistro=el9.5 serverdistro=el9.5 testgroup=full-dne-zfs-part-2
Test-Parameters: optional fstype=zfs mdtcount=4 mdscount=2 \
clientdistro=el9.5 serverdistro=el9.5 testgroup=full-dne-zfs-part-3
Change-Id: I04054f65026b59c75d0e51e13c8a2fb6f8cd4fa0
Signed-off-by: Jian Yu <yujian@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57875
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Alex Deiter <adeiter@ddn.com>
Reviewed-by: Yang Sheng <ys@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Shaun Tancheff [Mon, 27 Jan 2025 10:28:24 +0000 (17:28 +0700)]
LU-18678 build: dkms in-kernel check kernel source
From dkms the default $kernel_source_dir will be
@MODDIR@/$kernelver/build
unless otherwise specified with the --kernelsourcedir option.
Unfortunately the check for kernel headers will fail as only
the generated headers are available from the 'build' symbolic
link on SUSE.
Probe for the 'source' symbolic link if it points to a directory
with 'include/linux' proceed to prefer it when checking for
in-kernel rdma support.
HPE-bug-id: LUS-12710
Test-Parameters: trivial
Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: I645acfa9f0cd6308fd5c234dc679c63f94172164
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57905
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Caleb Carlson <caleb.carlson@hpe.com>
Reviewed-by: Petros Koutoupis <petros.koutoupis@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Frederick Dilger [Fri, 24 Jan 2025 23:42:46 +0000 (16:42 -0700)]
LU-4315 docs: updating lfs-[m-q] mage page style
Updating files to match the new code style for Lustre manual pages as
enforced by 'contrib/scripts/checkpatch-man.pl'. This also includes
other changes like removing < > or { } for singular required
arguments and placing [ ] around optional ones as well as making all
arguments CAPITAL and italicized, literal arguments are bolded.
Only using features that appear in groff 1.22.3 as this is the
available version is CentOS 8.
Checked files:
- lfs-mkdir.1
- lfs-path2fid.1
- lfs-pcc.1
- lfs-pcc-attach.1
- lfs-pcc-detach.1
- lfs-pcc-delete.1
- lfs-pcc-state.1
- lfs-project.1
Test-Parameters: trivial
Signed-off-by: Frederick Dilger <fdilger@whamcloud.com>
Change-Id: Iefaad081f9a4f6627f0c7ac4e9e59c4bc099fa93
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57890
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Li Dongyang [Thu, 23 Jan 2025 00:28:36 +0000 (11:28 +1100)]
LU-18387 kernel: add missing patch for RHEL 9.5
Add virtio_scsi-silence-page-allocation-failure.patch
to 5.14-rhel9.5.series
Change-Id: I40d5b4b6756df26873842402e495db06bf96a995
Test-Parameters: trivial serverdistro=el9.5
Fixes:
56bb6438aa ("LU-18387 kernel: RHEL 9.5 server support")
Signed-off-by: Li Dongyang <dongyangli@ddn.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57870
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Yang Sheng <ys@whamcloud.com>
Reviewed-by: Alex Deiter <adeiter@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
James Simmons [Wed, 22 Jan 2025 20:53:52 +0000 (15:53 -0500)]
LU-8066 gss: migrate rest of proc files to debugfs
For GSS only part of the proc tree was ported to debugfs. Since
GSS is a root only thing we can safely move the reset to debugfs.
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
Change-Id: Ic76bd920ed54c5535d71f36ca8e75dd1904394f3
Signed-off-by: James Simmons <jsimmons@infradead.org>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57864
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Sebastien Buisson [Tue, 14 Jan 2025 16:20:25 +0000 (17:20 +0100)]
LU-18633 gss: carry out creds negotiation as user
Instead of switching back to root id right after we did credentials
preparation, just do the whole credentials negotiation as the user.
We just need root privileges to proceed to ioctls that exchange data
with kernel space.
sanity-krb5 test_11 is added to exercise this.
Fixes:
6791fbc530 ("LU-18497 gss: carry out creds prepare as user")
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
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: I93dd367abadca077e61c1910638337a2d80996c8
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57752
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Aurelien Degremont <adegremont@nvidia.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>