Whamcloud - gitweb
Frederick Dilger [Thu, 12 Dec 2024 08:11:10 +0000 (01:11 -0700)]
LU-16446 utils: fix issues with llapi_get_lmm_from_path()
size_t was being used for lmmlen when it should have been ssize_t
so that it can hold a negative return value.
comp_v1 was returned by llapi_get_lmm_from_path() but not freed.
lmmbuf was allocated in llapi_get_lmm_from_path() but leaked on error.
file p was opened in llapi_get_lmm_from_path() but leaked on error.
Test-Parameters: trivial
CoverityID: 451724 ("Unsigned compared against 0")
CoverityID: 451710 ("Resource leak")
CoverityID: 451707 ("Resource leak")
Fixes:
a796b10fa2 ("LU-16446 utils: specify total count for mirror extend")
Signed-off-by: Frederick Dilger <fdilger@whamcloud.com>
Change-Id: I729d2c2abb8789a82d61858b034dcadf733a4197
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57391
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Serguei Smirnov [Mon, 9 Dec 2024 21:43:27 +0000 (13:43 -0800)]
LU-18129 tests: wait longer for tcp connections to establish
In sanity-lnet test_230, increase the wait time for the
requested number of connections to establish before checking:
this is important for high conns_per_peer values.
To the same case, added setting of conns_per_peer at "net add".
Test-Parameters: trivial
Test-Parameters: testlist=sanity-lnet env=ONLY=230,ONLY_REPEAT=100 clientdistro=ubuntu2404
Test-Parameters: testlist=sanity-lnet env=ONLY=230,ONLY_REPEAT=100 clientdistro=ubuntu2404
Test-Parameters: testlist=sanity-lnet env=ONLY=230,ONLY_REPEAT=100 clientdistro=ubuntu2404
Test-Parameters: testlist=sanity-lnet env=ONLY=230,ONLY_REPEAT=100 clientdistro=ubuntu2404
Test-Parameters: testlist=sanity-lnet env=ONLY=230,ONLY_REPEAT=100 clientdistro=ubuntu2404
Signed-off-by: Serguei Smirnov <ssmirnov@whamcloud.com>
Change-Id: I1137251afddf54c4b5dd2bb9426d3e6cbf459748
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57350
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Caleb Carlson <caleb.carlson@hpe.com>
Reviewed-by: Cyril Bordage <cbordage@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Emoly Liu [Wed, 4 Dec 2024 01:01:43 +0000 (09:01 +0800)]
LU-18476 tests: fix version check in replay-single.sh/202
Separate ddn version from community versino to fix version
check for interop testing in replay-single.sh test_202.
Test-Parameters: trivial testlist=replay-single env=ONLY=202 \
serverbuildno=4587 serverjob=lustre-master serverdistro=el8.10
Test-Parameters: trivial testlist=replay-single env=ONLY=202 \
serverbuildno=94 serverjob=lustre-b2_15 serverdistro=el8.10
Test-Parameters: trivial testlist=replay-single env=ONLY=202 \
serverbuildno=616 serverjob=lustre-b_es5_2 serverdistro=el7.9
Fixes:
c66a7dea85 ("LU-18435 lod: recover layout generation from replay")
Signed-off-by: Emoly Liu <emoly@whamcloud.com>
Change-Id: I7a13804380477ad24d08ad97db3e2ef701f444c9
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57253
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Hongchao Zhang [Sun, 24 Nov 2024 10:01:46 +0000 (18:01 +0800)]
LU-18453 quota: show default quota in lfs quota -a
When getting all quota info by "lfs quota -a", the default quota
should also be printed if some specific quota ID is using it.
Signed-off-by: Hongchao Zhang <hongchao@whamcloud.com>
Change-Id: Ib6cb42fe6ec62df0c2239c7098eabaf012f02b2e
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57053
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Sergey Cheremencev <scherementsev@ddn.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Sergey Cheremencev [Wed, 9 Oct 2024 22:19:23 +0000 (01:19 +0300)]
LU-18353 utils: prohibit set inode limit to PQ
Prohibit to set inode limit for Pool Quotas.
Without the fix it sent a request at MDT and
failed with following errors:
lfs setquota: Cannot find pool 'ddn_ssd'
lfs setquota: quotactl failed: No such file or directory
With the patch it fails with more suitable message
and returns ENOENT directly from utils without extra
request at MDT:
lt-lfs setquota: inode limits are not supported with Pool Quotas
setquota failed: Invalid argument
Test-Parameters: trivial testlist=sanity-quota
Signed-off-by: Sergey Cheremencev <scherementsev@ddn.com>
Change-Id: If3fae3cee49138b47605bc603e896955f9b73851
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56634
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Alexander Boyko <alexander.boyko@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Timothy Day [Thu, 22 Aug 2024 01:20:45 +0000 (21:20 -0400)]
LU-18155 misc: use LASSERT/F instead of if () LBUG()
We should use a proper LASSERT statement rather than
more verbose if/LBUG blocks.
The patch has been generated with the coccinelle script below.
I manually inverted the logic in the asserts.
@@
expression L;
expression list F;
@@
- if (L) {
(
- CDEBUG(F);
|
- CWARN(F);
|
- CERROR(F);
|
- CEMERG(F);
|
- CNETERR(F);
|
- LCONSOLE(F);
|
- LCONSOLE_INFO(F);
|
- LCONSOLE_WARN(F);
|
- LCONSOLE_ERROR(F);
|
- LCONSOLE_EMERG(F);
)
- LBUG();
- }
+ LASSERTF(L, F);
@@
expression L;
@@
-if (L) LBUG();
+LASSERT(L);
Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: Ie0b5b8872004f446253ac7c613c41e07af6b168a
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56115
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: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Sebastien Buisson [Mon, 11 Mar 2024 08:27:15 +0000 (09:27 +0100)]
LU-17631 tests: move refresh_krb5_tgt() to test-framework.sh
refresh_krb5_tgt() is used in multiple test scripts, so move it to
test-framework.sh.
Test-Parameters: trivial kerberos=true testlist=sanity-krb5
Fixes:
478df60923 ("LU-17050 tests: test Kerberos env in sanity-krb5")
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: I26c5aaf653d332666a08e315425e1befe8cad2b2
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/54347
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Li Xi <lixi@ddn.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Sergey Cheremencev [Wed, 28 Feb 2024 19:19:47 +0000 (22:19 +0300)]
LU-17588 tests: test_block_soft: set max_diry_mb=1
Set max_dirty_mb to 1 during the test in test_block_soft.
This affects 3a, 3b and 3c. Sometimes all written data
could be stored in a cache because tests 3a 3b and 3c
write quite small amount of data - from 4 to 6 MB.
If there was no BRW at OST side, tests would fail with:
Grace timeout was not set or quota not exceeded
In debug logs from sanity-quota_1g failure have been found
that BRW size at OST sometimes could be 4MB despite of
osc*.*.max_diry_mb set to 1MB. This could be the reason of
failure because the file in 1g has overstriping and one of
OSTs might not reply EDQUOT to the moment of last write.
Set oflag=sync to avoid that.
Test-Parameters: trivial testlist=sanity-quota env=ONLY=3,ONLY_REPEAT=100
Fixes:
de352465eb ("LU-17046 tests: fix write success in 1g")
Signed-off-by: Sergey Cheremencev <scherementsev@ddn.com>
Change-Id: I0f430051b3f9f37a0c628ea33e108f9bd42838ed
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/54208
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Hongchao Zhang <hongchao@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Wei Liu [Thu, 11 Jan 2024 20:07:24 +0000 (12:07 -0800)]
LU-16904 tests: use 2-component layout in sanity-compr
Set system with 2-component PFL layout (1 stripe each) to see if
only using a PFL layout is causing any test-script issues.
Allow compr_STRIPEPARAMS/fs_STRIPEPARAMS to change layout instead
of COMPR_EXTRA_LAYOUT for consistency with other test scripts.
Fix issue in setstripe_getstripe funtion to only print layout of given
dir/file
Test-Parameters: trivial testlist=sanity-compr
Test-Parameters: testlist=sanity-compr env=compr_STRIPEPARAMS="-E 64k -c 1 -E eof"
Test-Parameters: testlist=sanity-compr env=compr_STRIPEPARAMS="-E 64k -c 1 -E eof -c 2"
Test-Parameters: testlist=sanity-compr env=compr_STRIPEPARAMS="-E 64k -c 1 -E 1M -c 2 -E eof -c 4 -S 4M"
Signed-off-by: Wei Liu <sarah@whamcloud.com>
Change-Id: I8fa60c104bc69876be8805edbaab1574207d6cc2
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/53651
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: Artem Blagodarenko <ablagodarenko@ddn.com>
Alexey Lyashkov [Mon, 23 Dec 2024 17:24:40 +0000 (12:24 -0500)]
LU-17253 tools: extract lustre logs from cores
Crash extension to extract lustre logs from crash dumps.
Test-Parameters: trivial
Signed-off-by: Alexey Lyashkov <alexey.lyashkov@hpe.com>
Change-Id: I20afb41b1cc90923fe68ccb06618ffacc1a8221c
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/52947
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Artem Blagodarenko <ablagodarenko@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
James Simmons [Fri, 20 Dec 2024 18:36:00 +0000 (13:36 -0500)]
LU-8585 tests: update sanity test for subdir mount
Update the sanity test cases to pass when FILESET is set,
instead of skipping them.
Test-Parameters: trivial testlist=sanity
Signed-off-by: James Simmons <jsimmons@infradead.org>
Change-Id: Ie5eb429b80dbb89d3ee96515d503c57d107faa57
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/33666
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
James Simmons [Mon, 23 Dec 2024 20:17:47 +0000 (15:17 -0500)]
LU-8585 test: fix sanity/200 looping breakage
Create test files in $tdir instead of another directory name
so that run_one_logged() will cleanup the test files after
each iteration when run in a loop.
Change-Id: I9bf8a74990a3ebe65b8d42a55d52a03072b02728
Test-Parameters: trivial testlist=sanity env=ONLY=200,ONLY_REPEAT=250
Signed-off-by: James Simmons <jsimmons@infradead.org>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57576
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>
Arshad Hussain [Thu, 19 Sep 2024 09:05:56 +0000 (05:05 -0400)]
LU-6142 ptlrpc: Fix style issues for recover.c
This patch fixes issues reported by checkpatch
for both files lustre/ptlrpc/recover.c
Test-Parameters: trivial
Signed-off-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Change-Id: Ibfeb59ed4cfe01675c43934ffad898e03d130c2f
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56483
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Petros Koutoupis <petros.koutoupis@hpe.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Arshad Hussain [Sun, 22 Sep 2024 14:22:52 +0000 (10:22 -0400)]
LU-6142 mdt: Fix style issues for mdt_internal.h
This patch fixes issues reported by checkpatch
for both files lustre/mdt/mdt_internal.h
Test-Parameters: trivial
Signed-off-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Change-Id: I727c59e7b69b57260c1b8b9aacc71e8c3025e0b9
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56481
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Petros Koutoupis <petros.koutoupis@hpe.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Elena Gryaznova [Fri, 31 May 2024 14:10:55 +0000 (17:10 +0300)]
LU-15555 tests: fix conf_sanity 110 and 111
The large_dir option is in the kernel now. This broke conf_sanity
110 and 111. Block size is not set to 1024 and created names
are not enougth to fill two htree levels.
This patch fixes conf_sanity 110 and 111.
Fixes:
8048e216c1 ("LU-1365 tests: LARGEDIR and 3-level htree for local ldiskfs")
Test-Parameters: trivial testlist=conf-sanity mdssizegb=20 env=SLOW=yes,ONLY="110 111",ONLY_REPEAT=10
Change-Id: I4b5c7b68e1afe7f04a3b1d85c11f505ac43cda54
Signed-off-by: Artem Blagodarenko <artem.blagodarenko@hpe.com>
Signed-off-by: Elena Gryaznova <elena.gryaznova@hpe.com>
HPE-bug-id: LUS-10730
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/46570
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Artem Blagodarenko <ablagodarenko@ddn.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Shaun Tancheff [Fri, 1 Nov 2024 02:39:13 +0000 (10:39 +0800)]
LU-18360 zfs-osd: za_name flexible array
zfs-2.3 commit
3cf2bfa57008af7f0690f73491d7f9b4ac4ed65a
Allocate zap_attribute_t from kmem instead of stack
za_name maximum size increased to ZAP_MAXNAMELEN_NEW
Ensure zap_attribute_t.za_name space is available and
zap_attribute_t.za_name_len now needs to be initialized
to the allocated space of MAXNAMELEN.
Also mkfs should disable longname support as it would break
MAX_NAME interop.
HPE-bug-id: LUS-12561
Test-Parameters: fstype=zfs
Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: I6c48c66a42a36ea6816b37ffce7e17f45eed3dbf
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56656
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>
Jian Yu [Tue, 10 Dec 2024 20:16:57 +0000 (12:16 -0800)]
LU-18387 kernel: RHEL 9.5 server support
This patch makes changes to support RHEL 9.5 release
with kernel 5.14.0-503.15.1.el9_5 for Lustre server.
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=zfs mdtcount=4 mdscount=2 \
env=SANITY_EXCEPT="27u 66 120g 398b 413a 413b" \
clientdistro=el9.5 serverdistro=el9.4 testlist=sanity
Test-Parameters: optional fstype=zfs mdtcount=4 mdscount=2 \
env=SANITY_EXCEPT="66 413a 413b" \
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: I08dec00ba898e65453f2157a44616fa20c8a3603
Signed-off-by: Jian Yu <yujian@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57237
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: Shaun Tancheff <shaun.tancheff@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Shaun Tancheff [Mon, 30 Dec 2024 19:34:36 +0000 (11:34 -0800)]
LU-18526 ldiskfs: restore el9.4 before [5.14.0-427.42.1.el9_4]
5.14.0-427.42.1 includes a ext4 fix for which a common version of
rhel9.4/ext4-delayed-iput.patch is not possible.
Instead we have to provide a fallback series which uses the former
rhel9.1/ext4-delayed-iput.patch
Test-Parameters: trivial clientdistro=el9.4 serverdistro=el9.4
Fixes:
0027b134c4d ("LU-18414 kernel: update RHEL 9.4 [5.14.0-427.42.1.el9_4]")
Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: I00d875678c0546e7363274634eae9b1d57a059cd
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57352
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Yang Sheng <ys@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Oleg Drokin [Fri, 3 Jan 2025 17:42:32 +0000 (12:42 -0500)]
New tag 2.16.51
Change-Id: Ibdf71bdeeb440d5c01236e71b7a144dcfcbdf40e
Signed-off-by: Oleg Drokin <green@whamcloud.com>
Alex Zhuravlev [Wed, 18 Dec 2024 12:24:14 +0000 (15:24 +0300)]
LU-18576 obdclass: do not update llog's timestamp each time
updating llog's timestamp on every record doesn't makes sense as
we save seconds and introduces performance penalty (upto 15% in
microbenchmark). it should be enough to update it every second.
the results, in msec per record inserted:
32K records into a plain llog:
mtime update: yes no
1 thread 2421 2137
4 threads 1941 1687
120K records into a catalog:
mtime update yes no
1 thread 3007 2765
4 threads 2012 1744
Fixes:
e33d196b93 ("LU-17309 llog: set timestamp on llog objects at creation time")
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: I0178ba7071ce39668550b4faa5e1e86397c8a89d
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57510
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: kg.xu <squalfof@gmail.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Sebastien Buisson [Mon, 16 Dec 2024 20:04:56 +0000 (21:04 +0100)]
LU-18571 nodemap: fix coverity issues in range_create()
Fix issues found by Coverity in range_create():
CoverityID: 451797 ("Null pointer dereferences")
Dereferencing a pointer that might be "NULL" "c" when calling
"strscpy".
CoverityID: 451795 ("Integer handling issues")
"netmask > 999" is always false regardless of the values of its
operands. This occurs as the logical operand of "if."
Fixes:
8f6988be44 ("LU-14288 nodemap: Use nidmasks for IPv6 NIDs")
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: I1a6f85f2c9a3591ddd82ed634e9a87902b2b7d0a
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57488
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Chris Horn <chris.horn@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Andreas Dilger [Thu, 12 Dec 2024 23:14:36 +0000 (16:14 -0700)]
LU-17000 libcfs: quiet Coverity LIBCFS_ALLOC warning
Coverity has a frequent but harmeless warning in LIBCFS_ALLOC_PRE():
logical_vs_bitwise: The expression
cptab->ctb_nparts * 4UL /* sizeof (*part->cpt_distance) */ <=
(8192UL /* 2 << 12 */) && 1
/* ((gfp_t)(0x200000U | 0x400000U) | (gfp_t)64U) &
(((gfp_t)32U | (gfp_t)524288U) | (gfp_t)4194304U) */
is suspicious because it performs a Boolean operation on a
constant other than 0 or 1.
Fix by comparing GFP mask to zero, rather than the whole expression.
There are many similar CIDs, only listing a couple for reference.
Add a Git commit-msg hook check for CoverityID: in commit messages,
and test cases for the same.
Test-Parameters: trivial
CoverityID: 397137 ("Logical vs. bitwise operator")
CoverityID: 397837 ("Logical vs. bitwise operator")
Fixes:
3a92c850b0 ("LU-56 libcfs: NUMA allocator and code cleanup")
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I4691d9611f752b8a58f3ed1d5e0830b24da39648
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57408
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Jian Yu [Thu, 12 Dec 2024 07:51:30 +0000 (23:51 -0800)]
LU-18533 build: fix the common.postinst nonexistence issue
Since dkms v3.1.3, the common.postinst script was not installed
anymore with the install-redhat target, which caused the following
failure while installing lustre-client-dkms package:
WARNING: /usr/lib/dkms/common.postinst does not exist.
ERROR: DKMS version is too old and lustre-client was not
built with legacy DKMS support.
You must either rebuild lustre-client with legacy postinst
support or upgrade DKMS to a more current version.
This patch fixes the above issue by using dkms add, build,
and install commands directly instead of the common.postinst script.
Test-Parameters: trivial
Test-Parameters: optional testgroup=full-dkms
Change-Id: If8a61e33d1ef37388e6de7836c00c3e425c2bdc0
Signed-off-by: Jian Yu <yujian@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57392
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Nathaniel Clark <nclark@whamcloud.com>
Reviewed-by: Li Xi <lixi@ddn.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Sebastien Buisson [Wed, 11 Dec 2024 10:21:00 +0000 (11:21 +0100)]
LU-18086 sec: fix warning message for insufficient memory
If even the very first pool cannot be allocated, then pool_order is 0.
So fix warning message in this case, as reported by Coverity:
CoverityID: 451725 ("Integer handling issues")
In expression "0x1000UL << pool_order - 1", shifting by a negative
amount has undefined behavior. The shift amount, "pool_order - 1",
is -1.
Fixes:
1a6ae4b3eb ("LU-18086 sec: do not allocate empty pools")
Test-Parameters: trivial
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: I45a8cf45cae3a8ed07b170d852ec5e1d096da656
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57368
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Sergey Cheremencev <scherementsev@ddn.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Arshad Hussain [Wed, 11 Dec 2024 05:09:13 +0000 (00:09 -0500)]
LU-17679 tests: Disable sanity/851
Disable sanity/851 it is fanotify(monitoring API)
and can be disabled until proper solution.
Test-Parameters: trivial
Signed-off-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Change-Id: I78d45e44035c534fbab8138e031a1a843180cc88
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57359
Reviewed-by: Feng Lei <flei@ddn.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>
James Simmons [Mon, 9 Dec 2024 16:08:59 +0000 (11:08 -0500)]
LU-15420 sec: fix native fscrypt builds
The recent changes in libcfs prevents native fscrypt from
building. Replace llcrypt.h with lustre_crypto.h in linux-prim.c
which will build under all conditions. We really only need
llcrypt_[init|exit] for this code. The new symlink fix for
fscrypt also breaks when building native fscrypt. Now 5.9 or
less kernels will build natively and it pass all testing.
Test-Parameters: trivial
Fixes:
209607fd79 ("LU-18096 enc: ll_get_symlink overlay function")
Change-Id: I8230364604992150da5bbfb27a3407e99e212ba6
Signed-off-by: James Simmons <jsimmons@infradead.org>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57344
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Qian Yingjin [Mon, 2 Dec 2024 06:10:04 +0000 (14:10 +0800)]
LU-18523 tests: wait statahead thread quit during cleanup
The list pattern statahead can optimize the stat() workload as
follows:
- opendir() will authorize the statahead
- readdir() to get the name and inode number for the dentries
- do stat() on the dentries one by one
- closedir() will deauthorize the statahead
After closedir() is called, the statahead thread will quit.
However, this is not same for fname pattern statahead which
workload is calling stat() on the files in Alphabetic sorting
order of the file name and does not include by opendir/closedir()
call pair.
For a fname pattern statahead, the statahead thread will wait for
a certain time period (30s by default) and it is not quit until
the user is no longer using the directory (traverse and stat) for
this long time.
Thus after fname statahead pattern is enabled by default, we must
wait for stat-ahead thread quit during cleanup. Otherwise, it will
faile sanity/test_65j as follow:
"cln..There are ll_sa thread not exit!"
Test-Parameters: trivial
Signed-off-by: Qian Yingjin <qian@ddn.com>
Change-Id: I510073c38167fd07fc6343dc14a509754bd1eace
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57337
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Sohei Koyama [Sun, 8 Dec 2024 13:59:39 +0000 (22:59 +0900)]
LU-18518 ldiskfs: fix LC_SRC_NFS_FILLDIR_USE_CTX check
When compiled with clang, these checks always failed, resulting
in lustre device mount being stuck.
Signed-off-by: Sohei Koyama <skoyama@ddn.com>
Change-Id: I7bac750700b791046050964bdcd59c2f05d7d986
Test-Parameters: trivial
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57333
Tested-by: Maloo <maloo@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Jian Yu [Thu, 5 Dec 2024 21:15:30 +0000 (13:15 -0800)]
LU-18129 tests: except sanity-lnet/230 due to failures
This patch skips sanity-lnet/230 temporarily until the
issue can be fixed.
Test-Parameters: trivial testlist=sanity-lnet
Change-Id: I9f8d337f1a331583733f6ea48288df1ca4767aa9
Signed-off-by: Jian Yu <yujian@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57314
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>
Artem Blagodarenko [Tue, 3 Dec 2024 10:52:04 +0000 (05:52 -0500)]
LU-11648 mgs: Create white list for CONFIGS directory files
Not all files that are stored in CONFIGS directory should
be processed. For example there are ".bak" files which
created during change_nids operation and used to store
non-modified copy. Currently blacklist is used to process
CONFIGS directory (".bak"s are excluded), but using
whitelist looks more robust.
These files(patterns) should be in the white list:
*-client
*-MDT????
*-OST????
mountdata
nodemap
params
sptlrpc
Test-Parameters: testlist=conf-sanity
Change-Id: I34871fa11d50941450233053446c6c41a1f83048
Signed-off-by: Artem Blagodarenko <ablagodarenko@ddn.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57271
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Sergey Cheremencev <scherementsev@ddn.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Li Dongyang [Tue, 3 Dec 2024 04:46:45 +0000 (15:46 +1100)]
LU-18504 llite: fix whole-file readahead RPC limit
We try to increase whole-file readahead to match RPC size,
by using the connect data from sbi->ll_dt_exp.
But that's not the right location, the lov layer
could not touch/change the ocd_brw_size in connect data,
it stays 64M as the largest possible RPC size,
which could be too large for whole-file readahead.
Introduce a new key KEY_MAX_PAGES_PER_RPC in lov_get_info,
to iterate every osc obd to get max pages per rpc replied
from OST.
After obd_connect in client_common_fill_super, there
are chances that the connect rpc reply hasn't been
processed so the optimal ocd_brw_size replied from server
hasn't been updated yet, delay checking max pages per
rpc to give us a better chance to get the replies from OST.
Bump up SBI_DEFAULT_READAHEAD_WHOLE_MAX to 4M, which is
the same to DT_DEF_BRW_SIZE from osd for now.
Fixes:
627d0133d9 ("LU-7990 llite: increase whole-file readahead to RPC size")
Signed-off-by: Li Dongyang <dongyangli@ddn.com>
Change-Id: I172bf81ac803971d5f0d50fe00ae4fdfb0d26485
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57249
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>
Andreas Dilger [Wed, 9 Oct 2024 22:43:00 +0000 (16:43 -0600)]
LU-12597 tests: remove comma_list for OSTs part 4
Most places that use $(osts_nodes) also call $(comma_list ...) at the
same time. Rather than returning a space-separated list of nodes from
those functions, instead return a comma-separated list suitable for
use by do_nodes() and similar functions calling pdsh internally.
This avoids the repeated calls to comma_list() and makes the tests
easier to read. Also, since comma_list() internally deduplicates the
node list, it isn't necessary to do that in the callers. A few tests
need to convert comma-separated osts_nodes into space-separated nodes.
Test-Parameters: trivial
Change-Id: I04509872350987564ca560ad93fdaba0433ebbe5
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57132
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Sebastien Buisson [Tue, 19 Nov 2024 15:51:25 +0000 (16:51 +0100)]
LU-18462 nodemap: sanity checks for nodemap_activate
Input parameter of 'lctl nodemap_activate' should be checked to return
an error in case of invalid input value. Allowed values are, case
insensitive:
- to activate: 1, on, true, t, yes, y
- to deactivate: 0, off, false, f, no, n
We do not use kstrtobool() to parse the input parameter, as it is too
permissive and looks mostly at the first character only.
Test-Parameters: trivial testlist=sanity-sec
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: Ifc8528f76af0ff75bfef1febe85dc688af06321d
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57072
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Marc Vef <mvef@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Qian Yingjin [Thu, 7 Nov 2024 03:40:38 +0000 (11:40 +0800)]
LU-18430 llite: disable readahead on file with random fadvise
If a file is advised with random access pattern via posix_fadvise
with POSIX_FADV_RANDOM mode, the client should not trigger
read-ahead on this file.
Add posix_fadvise option 'i' for "multiop".
Add "forceread_pages" stats into llite.*.read_ahead_stats to
account the force read (random) pages.
Add the test case sanity/test_853 to verify it.
Signed-off-by: Qian Yingjin <qian@ddn.com>
Change-Id: Ie02ace55985c92abffb871184f847400e9da03ad
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56912
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: Andreas Dilger <adilger@whamcloud.com>
Andreas Dilger [Sat, 9 Mar 2024 21:47:33 +0000 (14:47 -0700)]
LU-12597 tests: remove comma_list for OSTs part 3
Most places that use $(osts_nodes) also call $(comma_list ...) at the
same time. Rather than returning a space-separated list of nodes from
those functions, instead return a comma-separated list suitable for
use by do_nodes() and similar functions calling pdsh internally.
This avoids the repeated calls to comma_list() and makes the tests
easier to read. Also, since comma_list() internally deduplicates the
node list, it isn't necessary to do that in the callers. A few tests
need to convert comma-separated osts_nodes into space-separated nodes.
Test-Parameters: trivial
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I32509872350987564ca560ad93fdaba0433ebbe5
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56909
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Andreas Dilger [Sat, 9 Mar 2024 21:41:41 +0000 (14:41 -0700)]
LU-12597 tests: remove comma_list for OSTs part 2
Most places that use $(osts_nodes) also call $(comma_list ...) at the
same time. Rather than returning a space-separated list of nodes from
those functions, instead return a comma-separated list suitable for
use by do_nodes() and similar functions calling pdsh internally.
This avoids the repeated calls to comma_list() and makes the tests
easier to read. Also, since comma_list() internally deduplicates the
node list, it isn't necessary to do that in the callers. A few tests
need to convert comma-separated osts_nodes into space-separated nodes.
Test-Parameters: trivial
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I02509872350987564ca560ad93fdaba0423ebbe5
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56885
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Andreas Dilger [Sat, 9 Mar 2024 21:38:35 +0000 (14:38 -0700)]
LU-12597 tests: remove comma_list for OSTs part 1
Most places that use $(osts_nodes) also call $(comma_list ...) at the
same time. Rather than returning a space-separated list of nodes from
those functions, instead return a comma-separated list suitable for
use by do_nodes() and similar functions calling pdsh internally.
This avoids the repeated calls to comma_list() and makes the tests
easier to read. Also, since comma_list() internally deduplicates the
node list, it isn't necessary to do that in the callers. A few tests
need to convert comma-separated osts_nodes into space-separated nodes.
Test-Parameters: trivial
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I01509872350987564ca560ad93fdaba0413ebbe5
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56844
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Qian Yingjin [Sat, 30 Nov 2024 06:48:31 +0000 (14:48 +0800)]
LU-18510 llite: free op_data upon error only when alloc inside
In ll_prep_md_op_data() for preparing md_op_data, it should free
@op_data upon ll_setup_filename() failure only when @op_data is
allocated inside.
Otherwise, it will double free @op_data for the pass-in case and
may cause sanity-sec/63 crash as follows:
ll_prep_md_op_data()) lustre: failed to setup filename: rc = -126
RIP: 0010:set_freepointer.part.57+0x0/0x10
kfree+0x238/0x250
ll_prep_md_op_data+0x2af/0x870 [lustre]
sa_prep_data+0xde/0x350 [lustre]
sa_statahead+0x3b9/0xd20 [lustre]
ll_statahead_thread+0x151f/0x2210 [lustre]
Fixes:
4d38566a004 (LU-13717 sec: filename encryption)
Test-Parameters: testlist=sanity-sec env=ONLY=63,ONLY_REPEAT=250
Signed-off-by: Qian Yingjin <qian@ddn.com>
Change-Id: Ia46635e5bab17e21f4c411e7497e8f70711eb4e4
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57291
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Marc Vef <mvef@whamcloud.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Li Dongyang [Thu, 10 Oct 2024 09:54:25 +0000 (20:54 +1100)]
LU-18225 kernel: silent page allocation failure in virtio_scsi
virtio_scsi uses GFP_ATOMIC to allocate memory, with large
requests sometimes the allocation fails.
We don't need to throw up the allocation error and dump stack
for this as virtio_scsi will return SCSI_MLQUEUE_HOST_BUSY
which translates to BLK_STS_RESOURCE and that will be
handled by upper layers.
Change-Id: I7117711d05794d57ab294f3bc6746de1979afc22
Test-Parameters: trivial
Signed-off-by: Li Dongyang <dongyangli@ddn.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56644
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Ronnie Sahlberg <rsahlberg@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Andreas Dilger [Sat, 9 Mar 2024 21:56:45 +0000 (14:56 -0700)]
LU-12597 tests: clean up comma_list in test-framework
Start cleaning up callers of comma_list() in test-framework where it
is no longer needed since osts_nodes() and tgts_nodes() already
return a comma-separated list of nodes.
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: Icae1342f69af4393cc1ece8f92318c6fa03ebbe5
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56636
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Frederick Dilger [Thu, 3 Oct 2024 22:57:04 +0000 (16:57 -0600)]
LU-17501 libcfs: adding X for cpu pattern
Added 'X' pattern to cpu_pattern such that "X[1]" will remove cpu 1
regardless of what partition it is in.
Using "N X" will set the default NUMA node layout before excluding.
Using "X" without 'N' will set the layout based on npartitions.
This is similarily true for 'C', use 'N' for NUMA layout and not for
an npartitions based layout.
Signed-off-by: Frederick Dilger <fdilger@whamcloud.com>
Change-Id: I6276f78ecab401ed106b75ab798e5f805ef19f93
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56617
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Serguei Smirnov <ssmirnov@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Alex Zhuravlev [Sat, 21 Sep 2024 11:07:22 +0000 (14:07 +0300)]
LU-18252 llite: do not unplug the queue on each page
for sync IO ll_write_end() calls into vvp_io_write_commit() at
every page. this get us to:
/* for sync write, kernel will wait for this page to be flushed
* osc_io_end() is called, so release it earlier.
* for mkwrite(), it's known there is no further pages. */
if (cl_io_is_sync_write(io) && oio->oi_active != NULL) {
osc_extent_release(env, oio->oi_active);
oio->oi_active = NULL;
}
ptlrpcd can be quick enough to intercept current (just reset) extent
and start to process that while the original is still continuing.
in the end this can result in suboptimal RPCs.
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: Ie53d0cc7bb52a7ec12b39cfe3da86a623bf03f12
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56449
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Qian Yingjin <qian@ddn.com>
Reviewed-by: Alexey Lyashkov <alexey.lyashkov@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Patrick Farrell <pfarrell@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Qian Yingjin [Fri, 13 Oct 2023 02:49:34 +0000 (22:49 -0400)]
LU-17190 osc: client-side high prio I/O under blocking AST
We found the following deadlock with parallel DIO:
T1: writer
Obtain DLM extent lock: L1=<PW, [0, EOF]>
T2: parallel DIO reader
- read 50M data, iosize=64M, max_pages_per_rpc=1024(4M)
max_rpcs_in_flight=8
ll_direct_IO_impl()
- use out all available RPC slots: number of read RPC in flight: 9
- OST side
->tgt_brw_read()
->tgt_brw_lock()
- Server side locking. Try to cancel the conflict lock L1.
T3: reader
- Take DLM lock ref on L1=<PW, [0, EOF]>.
->ll_readpage()
->ll_io_read_page()
->cl_io_submit_rw()
- wait fro RPC slots to send the read RPC to OST
...
deadlock:
- T2 => T3: T2 is waiting for T3 to release DLM lock L1;
- T3 => T2: T3 is waiting for T2 finished to free RPC slots;
To solve this problem, we introduce a client-side high priority
I/O handling mechanism where the extent lock protecting the I/O is
under blocking AST.
It implements as follows:
When received a lock blocking AST and the corresponding lock is in
use (reader and writer count is not zero), it checks whether there
are any I/O (osc_extent) used this lock is outstanding (i.e. wait
for RPC slot). If found, make this kind of I/Os with high
priority and put them into the HP list of the client. Thus the
client will force to send HP I/Os even the available RPC slots
are used out.
This makes I/O engine on OSC layer more efficent.
For normal I/Os, the client needs to iterate over the object list
and send I/O one by one. Moreover, the in-flight I/Os can not
exceed the @max_rpcs_in_flight.
High priority I/Os are put into HP list and will be handled more
quickly. This can avoid possible deadlock caused by parallel DIO
and the client can reponse the lock blocking AST more quickly.
Test-Parameters: testlist=sanity-pcc env=ONLY=99a,ONLY_REPEAT=100 clientdistro=el8.10
Test-Parameters: testlist=sanity-pcc env=ONLY=99a,ONLY_REPEAT=100 clientdistro=el9.3
Test-Parameters: testlist=sanity-pcc env=ONLY=99b,ONLY_REPEAT=100 clientdistro=el8.10
Test-Parameters: testlist=sanity-pcc env=ONLY=99b,ONLY_REPEAT=100 clientdistro=el9.3
Change-Id: I9afe032a79f40d55b800ddb13d8b8e9a3e10ba56
Signed-off-by: Qian Yingjin <qian@ddn.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56327
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Frederick Dilger [Fri, 30 Aug 2024 21:32:26 +0000 (15:32 -0600)]
LU-11048 docs: adding missing pool man pages
Adding lctl-pool_destroy.8, lctl-pool_list.8 and lctl-pool_remove.8.
Test-Parameters: trivial
Signed-off-by: Frederick Dilger <fdilger@whamcloud.com>
Change-Id: I227a85b9703346a7bce4250670002c97c2d37cb8
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56303
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Sergey Cheremencev <scherementsev@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Vladimir Saveliev [Tue, 27 Aug 2024 11:02:29 +0000 (14:02 +0300)]
LU-18172: lfsck: umount has to wait lfsck_stop
When called from umount lfsck_stop() should wait if lfsck is already
stopping. Otherwise, continuation of mdt_fini() or ofd_fini() leads to
various failures. Seen so far:
1.
osd_scrub_cleanup
LASSERT(dev->od_otable_it == NULL);
because lfsck_master_engine() has not reached yet
oit_iops->fini(env, oit_di)
osd_otable_it_fini
dev->od_otable_it = NULL;
2.
lfsck_find_mdt_idx_by_fid
rc = fld_server_lookup(env, ss->ss_server_fld...
BUG: unable to handle kernel NULL pointer dereference
because ss->ss_server_fld is NULL set on
mdt_fini
mdt_fld_fini
ss->ss_server_fld = NULL;
Test for umount while lfsck is stopping is added.
Test-Parameters: trivial testlist=sanity-lfsck env=ONLY=44
HPE-bug-id: LUS-12421
Signed-off-by: Vladimir Saveliev <vladimir.saveliev@hpe.com>
Change-Id: I527c071d316ba3405f2199125fa7d018c98c403b
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56165
Tested-by: Maloo <maloo@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Reviewed-by: Hongchao Zhang <hongchao@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Emoly Liu [Tue, 3 Dec 2024 20:24:19 +0000 (04:24 +0800)]
LU-13720 lfs: resync file if needed before mirror_split()
If "lfs mirror delete" is called on a file to delete the only
non-stale mirror of the file, it makes sense from a usability
point of view to automatically resync the stale mirror(s) and
then remove the mirror requested by the user, rather than
returning an error to the user.
Also, sanity-flr.sh test_44a/b and test_211 are modified to verify
this patch. Man pages lfs-mirror-delete.1 and lfs-mirror-split.1
are updated to reflect this change.
Test-Parameters: testlist=sanity-flr env=ONLY="44,211"
Signed-off-by: Emoly Liu <emoly@whamcloud.com>
Change-Id: Ice5ef893910e744d235dcb07f1049dfeede65858
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55978
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Zhenyu Xu <bobijam@hotmail.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Maximilian Dilger [Tue, 6 Aug 2024 19:49:28 +0000 (13:49 -0600)]
LU-18109 utils: adding nodemap offset capability
nodemap offset: the ability to add an offset range to nodemaps.
When an offset is defined, idmaps can only be set inside of their
given range. This is defined as:
lctl nodemap_add_offset --name nodemap --offset 100000 --limit 99999
And removed as:
lctl nodemap_del_offset --name nodemap
Test sanity-sec 27ab is added to exercise this new feature.
Signed-off-by: Maximilian Dilger <mdilger@whamcloud.com>
Change-Id: Iba2116d21bc7de1ba03111b0313427301e4b0b50
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55943
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>
Sebastien Buisson [Fri, 2 Aug 2024 13:03:49 +0000 (15:03 +0200)]
LU-18087 enc: support encrypted names in changelogs
In order to support encrypted names in changelogs, we choose to have
the servers directly store the encoded+digested names in the
changelogs. This requires to add some knowledge of encrypted names on
server side, but that choice brings a number of benefits:
- as servers are storing changelog records, they have access to the
files' flags and can find out if files are encrypted or not. This
would not be possible on client side when reading changelogs,
because corresponding files might even no longer exist.
- no modifications are needed on client side, either in the kernel or
in userspace. As the API remains untouched, this is completely
transparent to applications that are consuming changelogs.
The file names retrieved from the changelogs are identical to the
names displayed when listing directories without the encryption key.
If names are not encrypted, they remain unchanged. If names are
encrypted, their digested+encoded form is presented.
Add sanity-sec test_73 to exercise this code.
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: If0de4bfa210f9067a7a934ac74863a77b19482db
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55916
Reviewed-by: Mikhail Pershin <mpershin@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Sohei Koyama [Mon, 22 Apr 2024 00:55:17 +0000 (09:55 +0900)]
LU-928 misc: fix typos in comments
Fix typo obejct -> object.
Test-Parameters: trivial
Signed-off-by: Sohei Koyama <skoyama@ddn.com>
Change-Id: I4ab626ca188166e439191450b48e394243116bef
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/54862
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: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Alex Zhuravlev [Mon, 1 Apr 2024 11:37:32 +0000 (14:37 +0300)]
LU-17668 ptlrpc: create env in few more threads
like evict thread, pinger, mount process. This avoids cases
where there is no lu_env found for a thread:
mdt_dom_lvbo_update()) ASSERTION( env ) failed
yet another case is when MDT destroys exports - we don't need to
re-allocate a new env (including thread infos for every layer) for
each export being destroyed.
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: Iff7b757ad34063a3596a34998489cc3c635a02d2
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/54642
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>
Lei Feng [Tue, 19 Apr 2022 00:32:47 +0000 (20:32 -0400)]
LU-10499 utils: add pcc pin/unpin commands
Store pin information in xattr trusted.pin.
Add lfs pcc pin/unpin commands to set/clear pcc pin flag.
A pcc-pinned file will not be removed from local storage
cache by lpcc_purge automatically.
Examples of xattr trusted.pin:
trusted.pin=[hsm: 2]
trusted.pin=[hsm: 2,hsm: 3]
EX-bug-id: EX-5113
Change-Id: I17ddf5ac8dc4eae48c0f6bdd0f2a19240474b0f5
Signed-off-by: Lei Feng <flei@whamcloud.com>
Test-Parameters: trivial testlist=sanity-pcc
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/54460
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>
Sebastien Buisson [Mon, 20 Dec 2021 16:41:56 +0000 (17:41 +0100)]
LU-10499 sec: support of PCC-RO for encrypted files
In order to support PCC-RO for encrypted files, we decide to store
in PCC the ciphertext version of the Lustre files. We proceed to
decryption of PCC files only in the page cache, so cleartext is just
in memory. When a Lustre file is detached from PCC, or when the
encryption key is removed, we trash those PCC page cache pages.
As PCC files contain ciphertext, their sizes are aligned on
LUSTRE_ENCRYPTION_UNIT_SIZE instead of being lustre inode's clear
text size. In order to keep track of Lustre files' actual sizes,
we use a dedicated xattr on the PCC files. Its value is set at pcc
attach time, which is fine for PCC-RO.
Also add sanity-pcc test_21j to exercise this.
EX-5427 sec: fix pcc detach of encrypted file
In case of 'lfs pcc detach' of an encrypted file, its page cache
pages must be trashed as they might contain cipher text because
of the pcc file being detached.
Improve sanity-pcc test_21j to exercise this use case.
Was-Change-Id: Ice13c5b4205c074d9b46e2175d18f8743dbe9c58
EX-bug-id: EX-4182 EX-5427
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: Id7d96adb4eb4770c813a042acf7ed6c42224b9bf
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/54459
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>
James Simmons [Mon, 16 Dec 2024 16:55:24 +0000 (11:55 -0500)]
LU-14291 ofd: merge ost module into ofd
The ost module is very small and its very similar to the mds class
which is embedded in the mdt module. We can do the same thing with
the ost module. Merge it into the ofd module.
Test-Parameters: trivial
Change-Id: I1f7c44893d41ec8fc03113400a02b5076a07fbbe
Signed-off-by: James Simmons <jsimmons@infradead.org>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/53993
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Cyril Bordage [Mon, 26 Aug 2024 12:05:41 +0000 (14:05 +0200)]
LU-16897 idl: add OBD_CONNECT2_SPARSE flag
This flag indicates when a client can handle sparse reads without
sending blank pages.
Test-Parameters: trivial
Signed-off-by: Cyril Bordage <cbordage@whamcloud.com>
Change-Id: I5e510deaace86558990479351074ad8f47876212
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55404
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Artem Blagodarenko <ablagodarenko@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Timothy Day [Thu, 12 Dec 2024 06:03:32 +0000 (01:03 -0500)]
LU-6142 contrib: update checkpatch.pl to 6.13-rc3
Update checkpatch.pl to the latest version. Notably, this version
drops the requirement for special comment style in net/. Lustre/LNET
will follow suit by also dropping this requirement.
Update the lustre-checkpatch.patch to match.
Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: I6d9804965666e09196fb5f17b595914de1a5a109
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57388
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Timothy Day [Tue, 10 Dec 2024 04:39:40 +0000 (23:39 -0500)]
LU-6142 obdclass: SPDX for OBD Class
Convert from verbose license text to SPDX.
Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: Ieaa62c9f4177abdeae18e55e5c8ce6dc638a8918
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57351
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>
Mikhail Pershin [Wed, 27 Nov 2024 09:11:13 +0000 (12:11 +0300)]
LU-17906 ptlrpc: reduce time for connection switch
If connection peer is not ready then reduce request
timeout for it to 1s, switching all imports connections
faster until some is ready
If connection status become ready after not-ready, try
it first to connect
Signed-off-by: Mikhail Pershin <mpershin@whamcloud.com>
Change-Id: I87f2359f3a767ea9e52ce9da4cd5cf9b42b56320
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57234
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Serguei Smirnov <ssmirnov@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Andrew Perepechko [Fri, 22 Nov 2024 17:05:36 +0000 (20:05 +0300)]
LU-18483 ldlm: serialize parallel lock res change requests
If parallel ldlm_lock_change_resource() calls race in a certain
way, the old resource can be released multiple times leading to
memory corruption.
The fix detects such race condtions after locking and restarts
the replace procedure if needed.
Change-Id: I742a8dde0ab4c63517c02c2e8e1bdfe402b331b4
Signed-off-by: Andrew Perepechko <andrew.perepechko@hpe.com>
HPE-bug-id: LUS-12212
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57110
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Alexander Zarochentsev <alexander.zarochentsev@hpe.com>
Reviewed-by: Yang Sheng <ys@whamcloud.com>
Reviewed-by: Patrick Farrell <pfarrell@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Shaun Tancheff [Wed, 2 Oct 2024 05:00:36 +0000 (12:00 +0700)]
LU-18224 o2ib: normalize in-kernel-ko2iblnd.ko name
in-kernel-ko2iblnd module should be named as ko2iblnd.
Also make it easier to identify in-kernel vs external
ko2ibldn driver with modinfo.
Module version should also include the ofed version provided
by ofed_info -n if it is available.
Test-Parameters: trivial
Fixes:
8b1d2a72f1 ("LU-16967 build: Add in-kernel-ko2iblnd driver")
HPE-bug-id: LUS-12525
Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: Iab1c0502724a3bcf91ef7c62e7ae9ee23f2ccff6
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56366
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: Caleb Carlson <caleb.carlson@hpe.com>
Alexander Boyko [Thu, 26 Sep 2024 22:40:50 +0000 (18:40 -0400)]
LU-18218 llog: catalog lgh_lock refactoring
-call down_read for list processing, and don't use it for
single pointer reading.
-pass catalog flags to plain log.
llog_osd_prev_block() does not read from the end of file to
the beggining, and duplicates llog_osd_next_block.
tail->lrh_len was used without swabbing, it is an error.
Fixes llog_client error processing, according to llog_osd_next_block
EIO -> EBADR change.
It fixes test_135 race where only one record at llog. A cancel
happens before ENOSPC, a llog stays empty at catalog and could not be
deleted.
Fixes:
1a24dcdce121 ("LU-15938 lod: prevent endless retry in recovery thread")
HPE-bug-id: LUS-11970
Signed-off-by: Alexander Boyko <alexander.boyko@hpe.com>
Change-Id: I353b3f291f2de65924f90650a400333a747a4f74
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56341
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Alexey Lyashkov <alexey.lyashkov@hpe.com>
Reviewed-by: Andrew Perepechko <andrew.perepechko@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Timothy Day [Sun, 8 Sep 2024 15:56:00 +0000 (11:56 -0400)]
LU-6142 libcfs: SPDX for libcfs headers
Convert from verbose license text to SPDX.
Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: I84d166e5d37b1d29d968ca21683cc4047bde166d
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56298
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>
Bobi Jam [Mon, 24 Jun 2024 06:18:51 +0000 (14:18 +0800)]
LU-17970 ldlm: add lock match flag LDLM_MATCH_SKIP_UNUSED
Add lock match flag LDLM_MATCH_SKIP_UNUSED to skip match unused lock.
Signed-off-by: Bobi Jam <bobijam@whamcloud.com>
Change-Id: I31d8f051b837a5b00cee6f2bc1ad9782acc62892
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55508
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>
Bobi Jam [Wed, 5 Jun 2024 13:46:27 +0000 (21:46 +0800)]
LU-17908 layout: preserve non-FLR state layout flags
lfsck and layout split/merge would set FLR state but ditch non-FLR
flags in error, this patch preserves them.
Signed-off-by: Bobi Jam <bobijam@whamcloud.com>
Change-Id: I7a8717756fba09ba10635bb3fbeed6afb4ed73a8
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55319
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Artem Blagodarenko <ablagodarenko@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Li Dongyang [Tue, 27 Feb 2024 04:05:35 +0000 (15:05 +1100)]
LU-17538 fid: do not use allocation set for ofd
The sequence server on ofd is allocating new sequences
to osp, the lowater/hiwater allocation sets could
result in a gap of 2000 sequences after restaring the cluster.
Change-Id: I038a9b6add9977c58b58de3aa1f4d0926063bcb2
Signed-off-by: Li Dongyang <dongyangli@ddn.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/54191
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Sergey Cheremencev <scherementsev@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Patrick Farrell [Mon, 11 Nov 2024 16:54:33 +0000 (11:54 -0500)]
LU-13419 osc: Remove unnecessary spinlock assertion
This spinlock assertion notably increases the time spent in
getting grant with many threads to few OSCs, but adds
little value. Remove it.
Test-Parameters: trivial
Signed-off-by: Patrick Farrell <paf0187@gmail.com>
Change-Id: I596b9ac349a6dd1a633c6671d19d15bbf61b9fa2
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56957
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Zhenyu Xu <bobijam@hotmail.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Lai Siyao [Wed, 4 Dec 2024 09:37:16 +0000 (04:37 -0500)]
LU-12029 utils: remove max_sectors_kb tuning
Remove max_sectors_kb tuning and make the mount option print a warning
message that it is ignored.
Remove conf-sanity test_125 which is to verify max_sectors_kb tuning.
Signed-off-by: Lai Siyao <lai.siyao@whamcloud.com>
Change-Id: I5d11310589f70716df98101c62fd459dafbfddca
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57278
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Li Dongyang <dongyangli@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Bobi Jam [Tue, 11 Jun 2024 09:17:02 +0000 (17:17 +0800)]
LU-17923 lod: update layout ver for mirror merge/split
In mirror extend/split, mdd_xattr_merge() and mdd_xattr_split() will
call mdd_object_pfid_replace() to update filter_fid for OST objects,
so we can update its layout version there.
This patch adds filter_fid::ff_layout_version in
lod_obj_stripe_replace_parent_fid_cb().
This patch adds ost_fid2_objpath() in test framework to derive OST
object path from its fid.
Signed-off-by: Bobi Jam <bobijam@whamcloud.com>
Change-Id: I68aca0e1f29c8e2800a28cfd3d630721ef869082
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55388
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Mikhail Pershin <mpershin@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Sohei Koyama [Sun, 8 Dec 2024 15:09:35 +0000 (00:09 +0900)]
LU-18522 utils: fix -export-dynamic flag
When compiled with clang it fails with
`unknown argument: '-export-dynamic'`.
'-export-dynamic' is supported by gcc but not by clang.
Change to '-Wl,--export-dynamic' instead, which both supports.
-Wl, specifies the flags to be passed to the linker.
Signed-off-by: Sohei Koyama <skoyama@ddn.com>
Change-Id: I35830c0fec5387d532252478a402735ba2ad2dbf
Test-Parameters: trivial
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57334
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: Patrick Farrell <pfarrell@whamcloud.com>
Sohei Koyama [Fri, 6 Dec 2024 04:12:39 +0000 (13:12 +0900)]
LU-18517 quota: fix LC_HAVE_DQUOT_QC_DQBLK check
When compiling with clang, the HAVE_DQUOT_QC_DQBLK check always
fails with "error: indirection of non-volatile null pointer will
be deleted, not trap".
Signed-off-by: Sohei Koyama <skoyama@ddn.com>
Change-Id: I8cbdfd70bef8164e40d19d68dc4127c6f40bd693
Test-Parameters: trivial
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57320
Tested-by: Maloo <maloo@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Emoly Liu [Wed, 4 Dec 2024 21:38:40 +0000 (05:38 +0800)]
LU-16318 tests: wait longer for MDT destroys to complete
Wait longer for MDT destroys to complete in replay-ost-single.sh
test_6.
Test-Parameters: trivial testlist=replay-ost-single env=ONLY=6,ONLY_REPEAT=100
Test-Parameters: trivial testlist=replay-ost-single env=ONLY=6,ONLY_REPEAT=100
Test-Parameters: trivial testlist=replay-ost-single env=ONLY=6,ONLY_REPEAT=100
Signed-off-by: Emoly Liu <emoly@whamcloud.com>
Change-Id: I2668028e2ebecddb9167c4fed5963dda857446eb
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57290
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>
Sebastien Buisson [Tue, 3 Dec 2024 11:10:26 +0000 (12:10 +0100)]
LU-18497 gss: carry out creds prepare as user
Instead of forking a child process that switches to user identity to
get the credentials cache name, just carry out the whole credentials
preparation as the user, and switch back to original uid/gid in order
to proceed to ioctls, eliminating the need to map memory between
processes.
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: I7807263d71cd3fc8a9934cc4c4da8b497b845e6f
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57192
Reviewed-by: Aurelien Degremont <adegremont@nvidia.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Andreas Dilger [Thu, 28 Nov 2024 02:49:03 +0000 (19:49 -0700)]
LU-17251 tests: increase parallel-scale OST seq_width
Increase seq_width earlier in parallel-scale so that OST SEQ rollover
does not happen during later testing (in particular test_rr_alloc).
Otherwise, the OST SEQ rollover can stall OST object preallocation
during the testing and provide skewed creation rates across OSTs.
Fix parallel-scale.sh so only tests which use MPI check MPI_USER.
Test-Parameters: trivial
Test-Parameters: testlist=parallel-scale env=ONLY=statahead+rr_alloc
Test-Parameters: testlist=parallel-scale env=ONLY=statahead+rr_alloc
Test-Parameters: testlist=parallel-scale env=ONLY=statahead+rr_alloc
Test-Parameters: testlist=parallel-scale env=ONLY=statahead+rr_alloc
Test-Parameters: testlist=parallel-scale env=ONLY=statahead+rr_alloc
Test-Parameters: testlist=parallel-scale env=ONLY=statahead+rr_alloc
Test-Parameters: testlist=parallel-scale env=ONLY=statahead+rr_alloc
Test-Parameters: testlist=parallel-scale env=ONLY=statahead+rr_alloc
Test-Parameters: testlist=parallel-scale env=ONLY=statahead+rr_alloc
Test-Parameters: testlist=parallel-scale env=ONLY=statahead+rr_alloc
Fixes:
11d55259ab ("LU-17251 tests: try to fix test_rr_alloc again")
Fixes:
66d93ce3e4 ("LU-17251 test: improve parallel-scale rr_alloc test")
Fixes:
0ecb2a167c ("LU-11912 ofd: reduce LUSTRE_DATA_SEQ_MAX_WIDTH")
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I79b146fff96dcc3c607e73bbb575c526d02540e5
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57181
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Li Dongyang <dongyangli@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Andreas Dilger [Thu, 3 Oct 2019 20:40:36 +0000 (14:40 -0600)]
LU-930 misc: update .mailmap to fix bad commits
Fix the .mailmap file to fix the attribution of a few commits
that used the wrong authorship.
Test-Parameters: trivial
Build-Parameters: distro=el9.3 arch=x86_64
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: Idd45f46fcefa7d9aaa9e2b6a63ccaa1b233ebbe5
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57008
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Colin Faber <cfaber@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Keguang Xu [Fri, 8 Nov 2024 01:35:00 +0000 (09:35 +0800)]
LU-18244 utils: add 'lfs mkdir -C -N' overstriping support
Adding support of "-N" in "lfs mkdir -C -N" which specify the
overstripe factor for each MDT. While meta-overstriping has already
been introduced (refer LU-12273), this change mainly aligns the
mkdir -C -N with the overstriping behavior OSTs.
- Util side, add range check [-5, -1] if overstriped enabled within
lfs_setdirstripe().
- Server side, in lod_object.c::lod_ah_init() where the decision of
striping configuration is made, we adjust the ldo_dir_stripe_count
value account for the specified overstripe factor.
- Macro LMV_OVERSTRIPE_COUNT_{MIN, MAX} added indicating the overstipe
count for each MDT, in -N format.
Signed-off-by: Keguang Xu <squalfof@gmail.com>
Change-Id: I99bdd543c1482798441d8753f4aeb2b7190060a8
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56925
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Lai Siyao <lai.siyao@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Arshad Hussain [Wed, 30 Oct 2024 06:52:34 +0000 (02:52 -0400)]
LU-18420 llite: Use enum mds_ibits_locks instead of __u64
This patch uses enum mds_ibits_locks instead of generic
__u64. This patch has no functional changes.
Test-Parameters: trivial
Signed-off-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Change-Id: I2d9ad5001977a532f2d7c3242ce2e40f38974c5e
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56877
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 [Fri, 25 Oct 2024 19:20:16 +0000 (13:20 -0600)]
LU-8066 mdc: migrate simple proc entries to sysfs
Two simple proc entries dom_min_repsize and lsom can be moved
to sys/fs.
Change-Id: Ieb8af26b1936b8b3579ceb6bcc113c56444eec45
Signed-off-by: James Simmons <jsimmons@infradead.org>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56849
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: Timothy Day <timday@amazon.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Keguang Xu [Tue, 15 Oct 2024 06:28:58 +0000 (14:28 +0800)]
LU-17309 llog: set timestamp on llog objects at creation time
To facilitate debugging, this commit introduces the storage of the
creation time (ctime) for llog objects upon creation. Additionally,
the modification time (mtime) will be updated when the catalog is
modified.
- For llog creation, la_ctime/mtime/atime are set within
llog_osd_create().
- For update, there are 2 entries leading to the modification of
llog: 1) direct usage over plain-log?, dt_attr_set() is added with
la_mtime set in llog.c; 2) update through catalog, dt_attr_set() is
added in llog_cat.c
Performance Considerations:
- Catalog modifications are infrequent, minimizing the performance
impact.
- Updating the mtime incurs no additional overhead when new records
are added to an llog file, as the new inode size/ blocks must be
written regardless.
Signed-off-by: Keguang Xu <squalfof@gmail.com>
Change-Id: I13c260cc576e35a811a9d33cacfdd0bdf8492962
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56691
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Alexander Boyko <alexander.boyko@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
James Simmons [Mon, 14 Oct 2024 15:31:34 +0000 (11:31 -0400)]
LU-8066 sysfs: migrate checksum_type to sys/fs tree
The checksum_type file is simple so the logical place is sys/fs
which is accessible to everyone. This more complex file is
one of thew few allowed in the general sysfs tree.
Change-Id: I6ce89416ef64058f911e18a3f743944f0a6a8f4e
Signed-off-by: James Simmons <jsimmons@infradead.org>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56667
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: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
James Simmons [Fri, 11 Oct 2024 18:22:23 +0000 (14:22 -0400)]
LU-8066 sysfs: migrate pinger_recov to sys/fs tree
The pinger_recov file is simple so the logical place is sys/fs
which is accessible to everyone.
Change-Id: I1117c4bd54aa4941f3ff66acfca422cc83a54088
Signed-off-by: James Simmons <jsimmons@infradead.org>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56666
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, 11 Oct 2024 14:24:00 +0000 (08:24 -0600)]
LU-8066 sysfs: migrate max_pages_per_rpc to sysfs tree
Both the osc and mdc layer place max_pages_per_rpc in the proc
tree. We can move it to the sysfs tree. This is a simple sysfs
file so no root only issues for this tunable.
Change-Id: Ib4c9bd5e3b6a56c489149779208a1461692538ac
Signed-off-by: James Simmons <jsimmons@infradead.org>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56665
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>
Shaun Tancheff [Fri, 6 Dec 2024 00:11:50 +0000 (07:11 +0700)]
LU-18351 obdclass: jobstat scaling
When there is a large number of jobstats (>100k) list walking in
seq_write does not scale and can trigger cpus soft lock-ups.
Prefer red black trees for easier lookup, removal and simplified
tree walk during seq_write()
Add an rbtree with a generated sequential id as jobs are added
to simplify iteration with restarts. The larger the amount of
data being written via seq_write() the more likely and frequent
a restart is needed to seek to new position which can be done
quickly with an rbtree.
Add an lru list to so periodic trim of jobs does not need to
walk the entire tree of jobs.
Unpatched:
jobs 50000 100000 200000 350000 500000
time 2.096s 3.672s 7.504s 11.875s 16.721s
Patched:
jobs 50000 100000 200000 350000 500000
time 1.366s 3.296s 6.763s 8.895s 11.965s
HPE-bug-id: LUS-12621
Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: Icca1365af5db761ed89ee9a8a97ce4ded65b8832
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56607
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>
Arshad Hussain [Mon, 7 Oct 2024 11:48:28 +0000 (07:48 -0400)]
LU-18337 tests: Fix racer division by 0 error message
'file' under file_create.sh is set as /mnt/lustre/racer/M/N
Currently M/N is used directly as mathematical operation
to determine whether "--block" (default) is to be passed as
option to 'migrate'. This was causing the divide by zero error
when N is 0. This patch changes 'file' to use only the last
part (ie N) instead of M/N when doing the mod by 8 operation.
Test-Parameters: trivial
Signed-off-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Change-Id: I590250afb69607d906cf3f8422ca4bc97600eabb
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56598
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Alex Deiter <adeiter@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Elena Gryaznova [Fri, 27 Sep 2024 10:49:12 +0000 (13:49 +0300)]
LU-18274 tests: reboot the not up nodes only
It is reasonable to reboot only those nodes which are
not up after previous reboot attempt.
Test-Parameters: trivial
Signed-off-by: Elena Gryaznova <elena.gryaznova@hpe.com>
HPE-bug-id: LUS-12442
Reviewed-by: Vladimir Saveliev <vladimir.saveliev@hpe.com>
Reviewed-by: Alexander Boyko <alexander.boyko@hpe.com>
Change-Id: I3e1181f10bdf8b7e74ab532bd2e77d092dcf1c9b
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56515
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Yang Sheng [Mon, 23 Sep 2024 08:08:20 +0000 (16:08 +0800)]
LU-17692 llite: flock work with lockd
Change the flock to invoke lock copy API to work
with nfs server.
Fixes:
7f8af8f37e ("LU-17692 flock: get extra reference for lockd")
Signed-off-by: Yang Sheng <ys@whamcloud.com>
Change-Id: Ic5b3daf825dfa616a394c47a76f0d08e87c5bc9a
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56488
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Zhenyu Xu <bobijam@hotmail.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Shaun Tancheff [Sat, 21 Sep 2024 03:29:56 +0000 (10:29 +0700)]
LU-18250 ldiskfs: refresh Ubuntu 24.04 6.8.0-45-generic
A recent kernel update needs to use newer patches from 6.10:
ext4-prealloc.patch
ext4-delayed-iput.patch
Also add a kernel patch level check for Ubuntu 6.8 in to
select pick the newer series and fix a typo in the 5.11 check
Test-Parameters: trivial
Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: I0fffb37fc29c1747d6aa7833111116095c55b666
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56445
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Tested-by: Shuichi Ihara <sihara@ddn.com>
Reviewed-by: Shuichi Ihara <sihara@ddn.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Arshad Hussain [Sun, 15 Sep 2024 10:18:25 +0000 (06:18 -0400)]
LU-16796 lnet: Change struct lmv_stripe_object to use kref
This patch changes struct lmv_stripe_object to use
kref instead of atomic_t
Test-Parameters: trivial
Signed-off-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Change-Id: I7df086a23f59eb352c0f07b96e30bfdf9bc96cad
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56363
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Chris Horn <chris.horn@hpe.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Etienne AUJAMES [Wed, 11 Sep 2024 18:31:37 +0000 (20:31 +0200)]
LU-18163 obdclass: add sysfs_memparse_total() string helper
Add sysfs_memparse_total() to parse '%' unit. The size returned is
computed based on a total size argument.
If the parsed size exceeds the total value (> 100% of total size),
the function returns -ERANGE.
The following string format are accepted: "1.0%", "0.1%", ".1%"
It adds some unit tests for sysfs_memparse_total()
in obd_init_checks().
Signed-off-by: Etienne AUJAMES <eaujames@ddn.com>
Change-Id: Ic9390f2dbb64f0c2ca8756e78ba4100346e08f3f
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56334
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Neil Brown <neilb@suse.de>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Arshad Hussain [Sat, 24 Aug 2024 07:08:10 +0000 (03:08 -0400)]
LU-16796 lnet: Change struct lnet_ping_buffer to use kref
This patch changes struct lnet_ping_buffer to use
kref instead of atomic_t
Test-Parameters: trivial testlist=sanity-lnet
Signed-off-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Change-Id: Ic180e576c3b11afec687dcb3b55b857c730598f6
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56177
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: Chris Horn <chris.horn@hpe.com>
Reviewed-by: Neil Brown <neilb@suse.de>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Shaun Tancheff [Sat, 31 Aug 2024 03:40:43 +0000 (10:40 +0700)]
LU-17000 mdt: symbolic link integer overflow
CoverityID: 442376 ("Integer overflow")
Use ssize_t to avoid narrowing
CoverityID: 442114 ("Integer handling issues")
mdt_getattr_internal() a theoretical underflow when subtracting
from an unsigned int that could be 0
Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: I560c9cbcbfed907725b101ca90661fe8d0d6cf45
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56151
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: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Arshad Hussain [Fri, 23 Aug 2024 18:13:18 +0000 (14:13 -0400)]
LU-16796 lnet: Change struct srpc_client_rpc to use kref
This patch changes struct lov_stripe_md to use
kref instead of atomic_t
Test-Parameters: trivial testlist=sanity-lnet
Signed-off-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Change-Id: I7dafb469aa6ad95e810f895654588a9a2114c7c6
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56142
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Chris Horn <chris.horn@hpe.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: Neil Brown <neilb@suse.de>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Arshad Hussain [Fri, 23 Aug 2024 19:02:26 +0000 (15:02 -0400)]
LU-16796 lfsck: Change struct lfsck_tgt_desc to use kref
This patch changes struct lfsck_tgt_desc to use
kref instead of atomic_t
Test-Parameters: trivial testlist=sanity-lfsck
Signed-off-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Change-Id: I1f9bf1889fcc6f0a4b4050c1a2be98476c5254dd
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56141
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: Neil Brown <neilb@suse.de>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Arshad Hussain [Fri, 23 Aug 2024 14:09:41 +0000 (10:09 -0400)]
LU-16796 lov: Change struct lov_stripe_md to use kref
This patch changes struct lov_stripe_md to use
kref instead of atomic_t
Signed-off-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Change-Id: I8c743d630c268a70ecd0d5c9907e2ce456cd60cc
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56104
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: Neil Brown <neilb@suse.de>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Shaun Tancheff [Mon, 25 Nov 2024 11:39:23 +0000 (18:39 +0700)]
LU-18486 build: fl_flags removed in 6.8
Linux commit v6.7-rc4-79-gaf7628d6ec19
fs: convert error_remove_page to error_remove_folio
Provide an abstraction for fl_flags and c.flc_flags
Make mdt_dom_fiemap a static function.
Test-Parameters: trivial
Fixes:
3177b0dc5d1 ("LU-2525 ldlm: add asynchronous flocks")
Fixes:
5921e1571f2 ("LU-14510 dom: fiemap support for DoM files")
Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: Icb659a8ab19c00454391cbb7df31c2bb7f9a85c4
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57123
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Shuichi Ihara <sihara@ddn.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>
Arshad Hussain [Thu, 14 Dec 2023 06:28:30 +0000 (11:58 +0530)]
LU-16796 lnet: Change struct lnet_delay_rule to use kref
This patch changes struct lnet_delay_rule to use
kref instead of atomic_t
Test-Parameters: trivial testlist=sanity-lnet
Signed-off-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Change-Id: I58bf5a27d779e20bc4734765980e83675ea53633
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/53457
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Chris Horn <chris.horn@hpe.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: Neil Brown <neilb@suse.de>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Alexander Zarochentsev [Mon, 2 Dec 2024 16:47:57 +0000 (16:47 +0000)]
LU-17810 dne: dir restripe without fixed hash flag
Add an option to clear LMV_HASH_FIXED_FLAG
in dir re-striping, this restores an ability to convert a
striped dir with only one stripe into a plain dir.
HPE-bug-id: LUS-12321
Fixes:
4c2514f483 ("LU-14459 mdt: support fixed directory layout")
Signed-off-by: Alexander Zarochentsev <alexander.zarochentsev@hpe.com>
Change-Id: I7c119f435b19a446cb960cdc5a8ebec7e00ab0dc
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57117
Reviewed-by: Andrew Perepechko <andrew.perepechko@hpe.com>
Reviewed-by: Lai Siyao <lai.siyao@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Alexander Boyko [Wed, 6 Nov 2024 03:20:36 +0000 (22:20 -0500)]
LU-18463 ptlrpc: removing cfs_flush_fput idle
mdtest performance degradations were observed for directory removes
of up to 28%. The cause is LU-16973.
The fix removes flushing from a ptlrpc path, and introduce a
work for osd ldiskfs. Let's flush files base on count. Also it
adds the sysfs file to set a descriptors count for flushing.
By default 5k files.
echo 1000 > /sys/fs/lustre/osd-ldiskfs/flush_descriptors_cnt
cat /sys/fs/lustre/osd-ldiskfs/flush_descriptors_cnt
1000
mdtest results with this patch (5 iterations Mean op/s)
base with a fix
MDT0
Directory creation 120447 111808
Directory stat 394309 388488
Directory removal 123516 169907
MDT1
Directory creation 123997 121788
Directory stat 403213 395777
Directory removal 116210 160593
HPE-bug-id: LUS-12373
Fixes:
2feb4a7bb0 ("LU-16973 ptlrpc: flush delayed file desc if idle")
Signed-off-by: Alexander Boyko <alexander.boyko@hpe.com>
Change-Id: I26c73f09f7c8045a26a7876317e07b4cd28bcee3
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57073
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Andrew Perepechko <andrew.perepechko@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Arshad Hussain [Sun, 22 Sep 2024 14:08:30 +0000 (10:08 -0400)]
LU-6142 mdd: Fix style issues for md_object.h
This patch fixes issues reported by checkpatch
for both files lustre/include/md_object.h
Test-Parameters: trivial
Signed-off-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Change-Id: Id28dc3451cb3c79335684b5aa2dd5f821eba4f36
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56478
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Petros Koutoupis <petros.koutoupis@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Arshad Hussain [Sun, 22 Sep 2024 14:04:48 +0000 (10:04 -0400)]
LU-6142 uapi: Fix style issues for lustre_user.h
This patch fixes issues reported by checkpatch
for both files lustre/include/uapi/linux/lustre/lustre_user.h
Test-Parameters: trivial
Signed-off-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Change-Id: I046ba401498c99e72915e504c715987fbf4267e7
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56477
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Petros Koutoupis <petros.koutoupis@hpe.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Arshad Hussain [Sun, 22 Sep 2024 10:12:47 +0000 (06:12 -0400)]
LU-6142 gss: Fix style issues for lsupport.c
This patch fixes issues reported by checkpatch
for both files lustre/utils/gss/lsupport.c
Test-Parameters: trivial
Signed-off-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Change-Id: I1953e34226526ecde8129d419ee20dce0c9d3f15
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56455
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Petros Koutoupis <petros.koutoupis@hpe.com>
Reviewed-by: Aurelien Degremont <adegremont@nvidia.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Arshad Hussain [Sun, 8 Sep 2024 16:31:57 +0000 (12:31 -0400)]
LU-6142 lnet: Fix style issues for list.h
This patch fixes issues reported by checkpatch
for both files libcfs/include/libcfs/util/list.h
Update inline doc to kernel-doc style
Test-Parameters: trivial
Signed-off-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Change-Id: Ic8bef64aa24d079b2242ec9ac63ee7b38726f714
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56306
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: Oleg Drokin <green@whamcloud.com>