Whamcloud - gitweb
Bobi Jam [Thu, 17 Aug 2023 07:13:49 +0000 (15:13 +0800)]
EX-7806 csdc: set DoM compression component
Allow to create file with compression DoM component.
Signed-off-by: Bobi Jam <bobijam@whamcloud.com>
Change-Id: I8b5c4d5fd18033e796b1c7555c37251e4f7f9a49
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51968
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Qian Yingjin [Fri, 18 Aug 2023 17:46:41 +0000 (10:46 -0700)]
LU-17031 build: fix refefine __compiletime_strlen error
Lustre build failed on Ubuntu 2204 kernel v5.17 with "redefine
__compiletime_strlen".
This patch fixes this build error.
Lustre-change: https://review.whamcloud.com/51953
Lustre-commit: TBD (from
aa50b0579aec9039e1ceab0bfdaac45e95df747d)
Fixes:
919b93b951 ("LU-16510 build: fortified memcpy from linux 6.1")
Signed-off-by: Qian Yingjin <qian@ddn.com>
Change-Id: Ic26daecd6b91614e01b5b0030f40eede205a21f7
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/52001
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Li Dongyang [Thu, 17 Aug 2023 13:27:00 +0000 (23:27 +1000)]
LU-17036 utils: make sure resize option is legit
To align the metadata on 1MB boundaries we manually
set the resize blocks to 16368G for 4K block size,
however mke2fs expects the resize blocks is bigger
than device size.
For devices between 16368G and 16384G the mke2fs
will fail with:
The resize maximum must be greater than the filesystem size.
Lustre-change: https://review.whamcloud.com/51970
Lustre-commit: TBD (from
adcaa9173e1d09573e3a4cbfe1b3a2494ee13ba3)
Change-Id: I4567a79c1405e9527d7f0f9bec4c8a7aae0eba6c
Test-Parameters: trivial
Signed-off-by: Li Dongyang <dongyangli@ddn.com>
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51971
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Alexandre Ioffe [Thu, 20 Apr 2023 04:54:00 +0000 (21:54 -0700)]
EX-7451 lipe: Add memory and access log reader stats in lamigo
- Name lamigo threads
- Add memory allocation and deallocation stats in lamigo_alr
- Add stats on total received ALR's, max elements to heat sort,
current number of allocated heat records
- Add stats on heat thread cycle elapsed time
- Add stats on receiving access log records
by heat thread
- Add stats on ALR and changelog file cache usage
- Increase number of hash buckets to accomodate
a million files in the cache by default. This speeds up
processing input ALR's and prevents excessive memory usage
for input ALR's
- Modified prints in lamigo_alr_dump_heat_table()
- Add timestamp when stats is dumped on USR1 signal
- Add stats on individual access log readers when
used USR1 signal stats dump
- Add stats prints in periodical INFO message
Test-Parameters: trivial testlist=hot-pools
Signed-off-by: Alexandre Ioffe <aioffe@ddn.com>
Change-Id: I57215f988278bfe42ddd5f1fd7607c3dbb3fdcdb
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/50698
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>
Hongchao Zhang [Fri, 25 Mar 2022 02:34:56 +0000 (10:34 +0800)]
LU-15460 test: wait quota pool to be prepared
When one OST pool was created, the corresponding quota pool
could need more time to prepare after it was created, then
fail to check the info of the quota pool
Lustre-commit:
83dd308db59a9b95c1db5efa12ea5af22e9c8346
Lustre-change: https://review.whamcloud.com/46853
Test-Parameters: trivial
Signed-off-by: Hongchao Zhang <hongchao@whamcloud.com>
Change-Id: Ibea33403639087f27e438d71c0e87fea5367bc3e
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51947
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Chris Horn [Mon, 26 Sep 2022 15:19:19 +0000 (09:19 -0600)]
LU-15791 tests: Drop local traffic during health test
Existing drop rules for health tests omit local nids for the
destination so it is possible for local NI health values to recover
while the tests execute. Add drop rules for local NIDs to prevent
their health from recovering.
Lustre-change: https://review.whamcloud.com/48661
Lustre-commit:
43344697dccdcdb0f4b8dba4899be9571d640131
Test-Parameters: trivial
Test-Parameters: testlist=sanity-lnet env=ONLY=205,ONLY_REPEAT=100
Signed-off-by: Chris Horn <chris.horn@hpe.com>
Change-Id: I6a4a06b3fa76effd21e21449abf47cd0e14bbf18
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51916
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Hongchao Zhang [Fri, 21 Jul 2023 08:01:26 +0000 (16:01 +0800)]
LU-17010 lfsck: don't create trans in dryrun mode
In LFSCK, the LFSCK transaction should not be created in
dryrun mode, which is related to the following patch,
Lustre-change: https://review.whamcloud.com/51849
Lustre-commit:
441902fa3d445791a8c54026c130ab357f7469d7
Fixes:
0c1ae1cb9c19 ("LU-13124 scrub: check for multiple linked file")
Change-Id: Id543bc3c0e300c1cc14b670d724ebcacac3bf71b
Signed-off-by: Hongchao Zhang <hongchao@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51975
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Alex Zhuravlev [Wed, 19 Jul 2023 08:35:04 +0000 (11:35 +0300)]
EX-3598 lamigo: dump lfs's stdout/stderr
in case of error
Lustre-change: https://review.whamcloud.com/44505
Lustre-commit:
f8d365d8d7eaa24715fe4f68687051a6addc94bd
Test-Parameters: trivial testlist=hot-pools
Change-Id: Iea0c6fc097255f02df3698c1e3a31b39bfa09ca1
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51711
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Andreas Dilger [Mon, 14 Aug 2023 21:39:34 +0000 (15:39 -0600)]
RM-620 build: New tag 2.14.0-ddn97
New tag 2.14.0-ddn97
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I3f491760c578bc075694134fba903238a56b1e88
Andreas Dilger [Mon, 14 Aug 2023 21:39:01 +0000 (15:39 -0600)]
RM-620 build: New tag lipe-2.27
New tag lipe-2.27
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I82a09c9359575ec68f1422b2fb2272c84414ef03
Alex Zhuravlev [Mon, 7 Aug 2023 14:01:02 +0000 (17:01 +0300)]
EX-8041 utils: lpurge to use 2nd-stripe objects
in some cases lpurge must be considering objects which are not
first stripe (another lpurge can be waiting for thresholds, etc).
Test-Parameters: mdscount=2 mdtcount=4 trivial testlist=hot-pools
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: Iccc0b6af6f283287b41d6f16c875c56f83413e2e
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51884
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Raphael Druon [Mon, 7 Aug 2023 08:07:50 +0000 (02:07 -0600)]
LU-17018 build: add 'linux-image-generic' as Depends
Add 'linux-image-generic >= 3.10' as a dependency for Debian dkms
package for Ubuntu support
Lustre-change: https://review.whamcloud.com/51879
Lustre-change: TBD (from
0f43f2a808a33df44a11bae9ff9518167cf60544)
Test-Parameters: trivial
Fixes:
621e0bc2f9 ("LU-16661 build: improve lustre.spec.in Requires")
Signed-off-by: Raphael Druon <rdruon@ddn.com>
Change-Id: Ie8bacbd55c379632d5554de8d72606c818c1771e
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51882
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Jian Yu [Fri, 11 Aug 2023 20:11:01 +0000 (13:11 -0700)]
LU-16831 tests: add version check to sanity-pfl/0e
This patch adds MDS version check to sanity-pfl test 0e
to avoid interop test failure.
Lustre-change: https://review.whamcloud.com/51930
Lustre-commit: TBD (from
5c10bd215ac0c0ce8351795215067071387bfc5b)
Test-Parameters: trivial serverdistro=el7.9 \
serverjob=lustre-b_es5_2 serverbuildno=583 \
env=ONLY=0e testlist=sanity-pfl
Test-Parameters: trivial env=ONLY=0e testlist=sanity-pfl
Fixes:
a337688d6e89 ("LU-16831 lfs: limit stripe count for component size")
Change-Id: I79df1f36f07f6b376525364708eacc687f85a061
Signed-off-by: Jian Yu <yujian@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51931
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Lai Siyao [Mon, 10 Jul 2023 04:30:28 +0000 (00:30 -0400)]
LU-11036 test: race in sanity-lfsck test_8
In sanity-lfsck test_8, "sleep 1" is run after START_NAMESPACE,
but it still has chance that LFSCK status is complete but LFSCK
thread not quit yet, therefore the following START_NAMESPACE may fail
with -EALREADY. Just check the first lfsck started scanning.
And similarly use wait_update to check flags for DELAY3.
Lustre-change: https://review.whamcloud.com/51720
Lustre-commit:
f1ddb4093ed623c1382f75e47807e4081962cc3d
Test-Parameters: trivial MDSCOUNT=2 MDTCOUNT=4 testlist=sanity-lfsck env=ONLY=8,ONLY_REPEAT=10
Signed-off-by: Lai Siyao <lai.siyao@whamcloud.com>
Change-Id: Ie1f612bebb52c4755e5b4e13d58ab8bf2aeb2832
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51927
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Jian Yu [Fri, 4 Aug 2023 06:57:17 +0000 (23:57 -0700)]
LU-17009 tests: fix runtests to read file name with backslash
If a file in /etc dir has a name with backslash, then runtests
will fail because the read command considers the backslash as
an escape character. This patch fixes the issue by adding "-r"
option to read.
Lustre-change: https://review.whamcloud.com/51847
Lustre-commit: TBD (from
14044bdfe5fa600bd2c2339032ae8bb54e24b5fb)
Test-Parameters: trivial testlist=runtests
Change-Id: Iab912ba9708f5b64e6bb8d8adc266ff23ed32de5
Signed-off-by: Jian Yu <yujian@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51869
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Sarah Liu <sarah@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Alex Zhuravlev [Fri, 11 Aug 2023 06:26:09 +0000 (09:26 +0300)]
EX-8059 tests: hot-pools to work in a single node
hot-pools.sh doesn't start on a single node setup because it tries
to find lpurge on $(all_osts_nodes) is empty. make single node
setup an exclusion.
Test-Parameters: trivial
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: I6520ff7bef92d62fd39f4c9347462d046844ecea
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51925
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Alex Zhuravlev [Mon, 7 Aug 2023 06:05:51 +0000 (09:05 +0300)]
LU-16974 utils: lfs mirror resync to show progress
lfs mirror resync should be able to:
- show progress like lfs mirror extend --stats does
- throttle like lfs mirror extend -W does
use 64MB buffer for mirror resync by default.
Lustre-change: https://review.whamcloud.com/51750
Lustre-commit: TBD (from
d03e56590243c2d854ce087e2fcb118ccb126d93)
Change-Id: Ibe60748542ff4a3731aa6a4a9907be82427a0ae9
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51878
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Cyril Bordage [Tue, 8 Aug 2023 12:34:17 +0000 (14:34 +0200)]
LU-17021 socklnd: fix late ksnr_max_conns set
ksnr_max_conns was set to the correct value after it was used.
Lustre-change: https://review.whamcloud.com/51890
Lustre-commit: TBD (from
cc894288304fb8e6caa44543e6b44b8ec18deb9b)
Test-Parameters: trivial
Signed-off-by: Cyril Bordage <cbordage@whamcloud.com>
Change-Id: I9f2454d915ee1ab27db96f5247028db94965a11f
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51891
Tested-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Serguei Smirnov <ssmirnov@whamcloud.com>
Andreas Dilger [Tue, 1 Aug 2023 22:20:04 +0000 (16:20 -0600)]
RM-620 build: New tag 2.14.0-ddn96
New tag 2.14.0-ddn96
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I5f7b1fb93402c433e1e3b85b3ef656dd12650972
Andreas Dilger [Tue, 1 Aug 2023 22:19:14 +0000 (16:19 -0600)]
RM-620 build: New tag lipe-2.26
New tag lipe-2.26
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I6c580359ab0a8051135cc25a7b9eb9179487b540
Andreas Dilger [Tue, 1 Aug 2023 22:06:56 +0000 (16:06 -0600)]
RM-620 build: New tag 2.14.0-ddn95
New tag 2.14.0-ddn95
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: Ia76cc084f09794ceed012ca9c512efa7a2a904b8
Andreas Dilger [Tue, 1 Aug 2023 22:06:11 +0000 (16:06 -0600)]
RM-620 build: New tag lipe-2.25
New tag lipe-2.25
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I0beb892085dff9b28495483df8b5a877ac078ea8
Alexandre Ioffe [Tue, 1 Aug 2023 01:52:35 +0000 (18:52 -0700)]
EX-8016 lipe: Identify lfs command issued by lamigo
Each shell command issued by lamigo on OSS is identied
by attached comment. For example,
"lfs mirror extend -N ... > /dev/null 2>&1 # lamigo testfs-MDT0000"
This can help identify the source of the command and track down
a reason why we have too many command running concurrently.
Test-Parameters: trivial testlist=hot-pools
Signed-off-by: Alexandre Ioffe <aioffe@ddn.com>
Change-Id: I93ed62b030d9c1048c9c3fa7146077d54d2bde37
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51826
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Tested-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Jian Yu [Sat, 29 Jul 2023 04:08:30 +0000 (21:08 -0700)]
LU-17002 kernel: update RHEL 7.9 [3.10.0-1160.95.1.el7]
Update RHEL 7.9 kernel to 3.10.0-1160.95.1.el7.
Lustre-change: https://review.whamcloud.com/51801
Lustre-commit: TBD (from
b8ff9e0ee7a0d5a9c0fed584eb275ae5ce124a60)
Test-Parameters: trivial clientdistro=el7.9 serverdistro=el7.9
Change-Id: I759d686660a99909b5d6536ac8f3500ef2145fe5
Signed-off-by: Jian Yu <yujian@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51804
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Alex Zhuravlev [Wed, 26 Jul 2023 19:00:29 +0000 (22:00 +0300)]
LU-16985 utils: adaptive bufsize for mirroring
if bandwidth limit is requested, then change default bufsize to
make I/O rather smooth than like a saw.
Lustre-change: https://review.whamcloud.com/51773
Lustre-commit: TBD (from
390235cc52bd51dc807492db19d8a1f905dbd9d0)
Test-Parameters: trivial
Fixes:
23224e03dc ("LU-16587 utils: give lfs migrate a larger buffer")
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: Ibc8e7d30ded201a4ff3d699530f5c9f8be5ce7f1
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51839
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Alex Zhuravlev [Tue, 1 Aug 2023 08:40:32 +0000 (11:40 +0300)]
LU-16979 utils: enable throttling mirror extend
this can be useful in some scenarios like massive mirror
creation.
Lustre-change: https://review.whamcloud.com/51758
Lustre-commit:
6f6804aca91d6a2a9e764a5b929feb85db138d88
Test-Parameters: trivial
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: Ia84054f3519cd5cef37aaabb2ae605fb6ea200e0
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51830
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Sebastien Buisson [Wed, 10 May 2023 16:20:07 +0000 (18:20 +0200)]
LU-16790 man: fix lctl-nodemap-modify man page
The section about the rbac property is malformed, regarding line feeds
in particular.
The forbid_encryption property is not mentioned.
Default values for admin, trusted, deny_unknown, audit_mode and
readonly_mount properties are not expressed correctly. These
properties grok 0 or 1.
Lustre-change: https://review.whamcloud.com/50918
Lustre-commit:
7e252d4c6c7049b16e28359c776d748d74c0ff3c
Fixes:
84e7220830 ("LU-16524 sec: add fscrypt_admin rbac role")
Test-Parameters: trivial
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: I712e4d21b3038d87c50bb12206cbcc92ef4b615f
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Patrick Farrell <pfarrell@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51831
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Andreas Dilger <adilger@whamcloud.com>
Jian Yu [Tue, 1 Aug 2023 08:09:25 +0000 (01:09 -0700)]
LU-16980 build: fix gcc-12 [-Werror=address] error
This patch fixes the following [-Werror=address] error
detected by gcc 12 and other errors caused by incomplete
porting in commit
1ef38b1258f1 to b_es6_0:
lustre/utils/obd.c: In function 'llog_search_pool_cb':
lustre/utils/obd.c:3816:28: error: the comparison will always evaluate
as 'true' for the address of 'lpd_ostname' will never be NULL
3816 | } else if (lpd->lpd_ostname && lpd->lpd_ostname[0]) {
| ^~~
obd.c:3747:14: note: 'lpd_ostname' declared here
3747 | char lpd_ostname[MAX_OBD_NAME + 1];
| ^~~~~~~~~~~
lustre/tests/kernel/kcompr.c: In function 'fill_input_with_rand':
lustre/tests/kernel/kcompr.c:144:41: error: implicit declaration of
function 'prandom_u32_max'; did you mean 'prandom_u32_state'?
144 | p += sizeof(randbuf2) + prandom_u32_max(1 << 13);
| ^~~~~~~~~~~~~~~
| prandom_u32_state
lustre/llite/file.c: In function 'll_set_acl':
lustre/llite/file.c:5900:43: error: 'inode' undeclared
5900 | struct ll_sb_info *sbi = ll_i2sbi(inode);
| ^~~~~
Fixes:
1ef38b1258f1 ("LU-16594 build: get_random_u32_below, get_acl with dentry")
Change-Id: I9206fa169880ae16e192d17c8f144ed3b83c65a3
Signed-off-by: Jian Yu <yujian@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51829
Tested-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Sebastien Buisson [Mon, 31 Jul 2023 09:43:44 +0000 (11:43 +0200)]
EX-7998 lustre: Fix build with crypto_tfm_ctx on kernel 6.2
In recent kernels, commit e634ac4
"crypto: api - Add crypto_tfm_ctx_dma"
moved crypto_tfm_ctx into algapi.h. So this file must be included
from lustre_crypto.h.
Fixes:
8238c4e7fe ("EX-6275 lustre: add lz4 and lz4hc kernel modules")
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: If10f721355da3e58ca541c17615e978334e8d718
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51812
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Jian Yu <yujian@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Mr NeilBrown [Mon, 31 Jul 2023 21:18:03 +0000 (14:18 -0700)]
LU-12477 libcfs: Further reduce complexity for shrinkers.
Commit
c4c17fa4a3f5 ("LU-12477 libcfs: Remove obsolete config checks")
reduced the complexity of shinkers by removing support for older
kernels, but could have gone a lot further. This patch adds
further simplification.
Lustre-change: https://review.whamcloud.com/40831
Lustre-commit:
782725b11021b2f1c3467863216836ee94bcd874
LU-12477 lustre: check return status of register_shrinker()
register_shrinker() can fail with -ENOMEM. We should check for that
and abort the relevant initialization functions when it happens.
For ldlm_pools, ldlm_pools_fini() can be called when ldlm_pools_init()
fails, or even in case where it hasn't been called. So add a static
flag to ensure we ldlm_pools_fini() do not undo things that haven't been
done.
For lu_global_init() we need to add proper cleanup if anything fails.
Lustre-change: https://review.whamcloud.com/40883
Lustre-commit:
812b2ccf0284df42e8a88a6b7c4c3874dd721c71
Signed-off-by: Mr NeilBrown <neilb@suse.de>
Signed-off-by: Artem Blagodarenko <ablagodarenko@ddn.com>
Change-Id: Ibcc84f61e542b503f795b16a7144e430f8b73582
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51778
Tested-by: Jian Yu <yujian@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Jian Yu [Mon, 31 Jul 2023 15:17:56 +0000 (08:17 -0700)]
LU-16980 build: fix gcc-12 [-Werror=format-truncation=] error
This patch fixes the following [-Werror=format-truncation=] errors
detected by gcc 12:
liblnetconfig.c: In function 'open_sysfs_file':
liblnetconfig.c:106:49: error: '%s' directive output may be truncated
writing up to 127 bytes into a region of size between 1 and 128
[-Werror=format-truncation=]
106 | snprintf(filename, sizeof(filename), "%s%s",
| ^~
lfs_project.c: In function 'lfs_project_handle_dir':
lfs_project.c:324:50: error: '%s' directive output may be truncated
writing up to 255 bytes into a region of size between 1 and 4095
[-Werror=format-truncation=]
324 | snprintf(fullname, PATH_MAX, "%s/%s", pathname,
| ^~
statx.c: In function 'do_dir_list':
statx.c:1427:58: error: '%s' directive output may be truncated
writing up to 255 bytes into a region of size between 1 and 4095
[-Werror=format-truncation=]
1427 | snprintf(fullname, PATH_MAX, "%s/%s",
| ^~
Lustre-change: https://review.whamcloud.com/51765
Lustre-commit: TBD (from
c976fe2f854e621dc16810ff8d0afafe4278bd14)
Change-Id: I514a1022d879f8b7af89f6ded68e9b453cd11408
Signed-off-by: Jian Yu <yujian@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51774
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Jian Yu [Mon, 31 Jul 2023 20:20:21 +0000 (13:20 -0700)]
LU-16980 build: fix gcc-12 [-Werror=use-after-free] error
This patch fixes the following [-Werror=use-after-free] and
[-Werror=stringop-overflow=] errors detected by gcc 12:
libcfs/include/libcfs/util/list.h:481:42: error: pointer 'tmp'
used after 'free' [-Werror=use-after-free]
481 | pos = list_entry(pos->member.next, typeof(*pos), member), \
| ^
libcfs/include/libcfs/util/list.h:239:28: note: in definition of macro 'list_entry'
239 | ((type *)((char *)(ptr)-(char *)(&((type *)0)->member)))
| ^~~
obd.c:5118:9: note: in expansion of macro 'list_for_each_entry'
5118 | list_for_each_entry(tmp, head, lpn_list) {
| ^~~~~~~~~~~~~~~~~~~
obd.c:5124:17: note: call to 'free' here
5124 | free(tmp);
| ^~~~~~~~~
test_brw.c: In function 'main':
test_brw.c:227:22: error: 'write' specified size between
9223372036854775808
and
18446744073709551615 exceeds maximum object size
9223372036854775807
[-Werror=stringop-overflow=]
227 | rc = write(fd, buf, len);
| ^~~~~~~~~~~~~~~~~~~
Lustre-change: https://review.whamcloud.com/51819
Lustre-commit: TBD (from
8fa48300347ac3c7dffb361d1686c434127fe3e1)
Change-Id: Ibe783ab0d13e2ecde1736946323932ab5db53740
Signed-off-by: Jian Yu <yujian@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51825
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Alex Zhuravlev [Fri, 28 Jul 2023 07:18:04 +0000 (10:18 +0300)]
EX-7989 utils: lpurge to dump empty slots
empty time slots may still have detailed stats explaining
slot's emptiness: how many objects were scanned, how many
had no pfid, no mirror, etc.
Test-Parameters: trivial testlist=hot-pools
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: I7e8f594d8615a5e964c01ec1baf2a2b5d3e9cce3
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51796
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Colin Faber <cfaber@ddn.com>
Reviewed-by: Alexandre Ioffe <aioffe@ddn.com>
Andreas Dilger [Mon, 31 Jul 2023 17:53:22 +0000 (11:53 -0600)]
LU-17005 obdclass: allow stats header to be disabled
Add a global "enable_stats_header" tunable parameter that can be
set to enable/disable the "start_time" and "elapsed_time" fields
in the standard lprocfs "stats" files.
Default to disabled for EXA6.2.1, since this is new for this release.
Lustre-change: https://review.whamcloud.com/51823
Lustre-commit: TBD (from
370a81bf07f3e3856f73900f276495fb7a2b5223)
Test-Parameters: trivial
Fixes:
5efb892396e3 ("LU-11407 obdclass: add start time to stats files")
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I460b957447bfb83e6d4fd7395b79ce994f3ebbe5
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51824
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Feng Lei <flei@whamcloud.com>
Shaun Tancheff [Tue, 11 Jul 2023 12:42:27 +0000 (19:42 +0700)]
LU-16667 build: struct mnt_idmap, linux/filelock.h
Linux commit v6.2-rc3-9-g5970e15dbcfe
filelock: move file locking definitions to separate
header file
Add configure test for linux/filelock.h and include it
where needed.
linux kernel v6.2-rc1-4-gb74d24f7a74f
fs: port ->getattr() to pass mnt_idmap
linux kernel v6.2-rc1-3-gc1632a0f1120
fs: port ->setattr() to pass mnt_idmap
Add a configure test for mnt_idmap and fallback to using
user_namespace for older kernels.
Lustre-change: https://review.whamcloud.com/50420
Lustre-commit:
3011aa564a8c682aafbc6071b9866e266d8a6232
Test-Parameters: trivial
HPE-bug-id: LUS-11557
Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: Ib8cbb3157fb11b4f1fc55f1626c2998cb202bd8c
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Alex Deiter <alex.deiter@gmail.com>
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51756
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Andreas Dilger [Wed, 26 Jul 2023 18:47:26 +0000 (18:47 +0000)]
LU-16637 revert: "llite: call truncate_inode_pages() in inode lock"
This reverts commit
1a084b1378ac37fb4269ac2e6dcac5c172fa00d2 due to
lock ordering issues between migrate vs. write reported in LU-16958.
Change-Id: I7966f19a5d7aabbf578a59c55459ddee332a6601
Test-Parameters: trivial
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51772
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Alex Zhuravlev [Wed, 26 Jul 2023 13:20:38 +0000 (16:20 +0300)]
EX-7968 utils: lamigo to accept multi-word args
so we can put something like the following into the config file:
mirror-cmd=lfs mirror extend -N --stats --stats-interval=1 -W1M
Test-Parameters: trivial testlist=hot-pools
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: Ib01c4b4c76a46ee44189cc6fa763306b059886b3
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51768
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Alex Zhuravlev [Mon, 12 Jun 2023 05:20:16 +0000 (08:20 +0300)]
LU-16843 ldiskfs: merge extent blocks
There are cases (e.g. file written synchronously with discontiguous
blocks that are later filled in) when a lot of extents are created
initially, then the extents get merged over time, but there is no
way to merge the index blocks. This can cause a very deep extent
index tree (above 5 levels) and cause problems like:
inode has invalid extent depth: 6
Merge leave/index blocks (one at each level at most) to right/left
when extents are removed from the index.
submitted to ext4@ maillist:
https://lore.kernel.org/linux-ext4/
7A2B8861-96AA-4815-BB58-
180F63F62436@whamcloud.com/
Lustre-change: https://review.whamcloud.com/51096
Lustre-commit:
0f7e6c02a9ea5b85d8d97f724bed318268cea60f
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: I746c0917e746eb442d3c69a23f591d9cdade76fa
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51272
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Alex Zhuravlev [Fri, 31 Mar 2023 05:41:07 +0000 (08:41 +0300)]
LU-16691 ldiskfs: limit length of per-inode prealloc list
In the scenario of writing sparse files, the per-inode prealloc list may
be very long, resulting in high overhead for ext4_mb_use_preallocated().
To circumvent this problem, we limit the maximum length of per-inode
prealloc list to 512 and allow users to modify it.
After patching, we observed that the sys ratio of cpu has dropped, and
the system throughput has increased significantly. We created a process
to write the sparse file, and the running time of the process on the
fixed kernel was significantly reduced, as follows:
Running time on unfixed kernel:
# time taskset 0x01 ./sparse /data1/sparce.dat
real 0m2.051s
user 0m0.008s
sys 0m2.026s
Running time on fixed kernel:
# time taskset 0x01 ./sparse /data1/sparce.dat
real 0m0.471s
user 0m0.004s
sys 0m0.395s
Link: https://lore.kernel.org/r/d7a98178-056b-6db5-6bce-4ead23f4a257@gmail.com
Lustre-change: https://review.whamcloud.com/50481
Lustre-commit:
b16c9333a00802faea419dfe6fbb013c4477c9c6
Signed-off-by: Chunguang Xu <brookxu@tencent.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: I5e4ea3acfc07f6e69890690211bf6a34c1230979
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Sergey Cheremencev <scherementsev@ddn.com>
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51712
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Andreas Dilger [Fri, 24 Mar 2023 02:31:59 +0000 (20:31 -0600)]
LU-16661 build: improve lustre.spec.in Requires
Add Suggests: bash-completion for lustre-client and lustre for
lctl and lfs sub-command completion.
Move perl from Requires to Recommends, since there are only some
uncommonly used tools (llstat, llobdstat) that are using perl.
Remove a couple of ancient obsolete test scripts that used perl.
lustre-iokit incorrectly Required perl instead of python3.
Set minimum kernel version for client to be 3.10 or later.
Change "netstat" to "ss" in tests to avoid dependency issues.
Fix sanity.sh and conf-sanity.sh tests for sles12sp5 issues.
Lustre-change: https://review.whamcloud.com/50397
Lustre-commit:
621e0bc2f9d4e7d9aed0ec14e939eae4451a8f1e
Test-Parameters: trivial testlist=runtests clientdistro=el9.1
Test-Parameters: trivial testlist=runtests clientdistro=sles15sp3
Fixes:
7521473bdd ("LU-16382 spec: add more dependencies for lustre-tests")
Fixes:
fd734cffb3 ("b=18443 tests: remove obsolete tests scripts")
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I48c6819596c81cb044e983bc64f1edf1ee3ebbe5
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: xinliang <xinliang.liu@linaro.org>
Reviewed-by: Alex Deiter <alex.deiter@gmail.com>
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51751
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Andreas Dilger [Fri, 24 Mar 2023 00:13:20 +0000 (18:13 -0600)]
LU-16661 build: add Recommends and Suggests for Debian
Add Suggests: bash-completion for lustre-client-tools and
lustre-server-tools for lctl and lfs completion.
Move perl from Depends to Recommends, since there are only some
uncommonly used tools (llstat, llobdstat) that are using perl.
Add python3 to Recommends for lustre-server-tools for lljobstat.
Remove python3 from lustre-iokit since it isn't used anywhere.
Change Maintainer for Debian packages to the lustre-devel mailing
list, instead of someone who hasn't worked on Lustre for 6 years.
Increase minimum kernel version for client from 2.6.32 to 3.10.
Improve package descriptions slightly.
Lustre-change: https://review.whamcloud.com/50396
Lustre-commit:
73ed44854a740b78523ed1f050960038c8adf552
Test-Parameters: trivial testlist=runtests clientdistro=ubuntu2204
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I43248cc78ae6a47ad77817c27ba11de25b3ebbe5
Reviewed-by: Thomas Stibor <thomas@stibor.net>
Reviewed-by: Alex Deiter <alex.deiter@gmail.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51749
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Lei Feng [Wed, 26 Jul 2023 09:08:21 +0000 (17:08 +0800)]
LU-16984 tests: replay-dual/31 checks file from DIR2
Move replay-dual/test_31 to correct place.
In replay-dual/test_31, check file existence from DIR2.
Add more messages for diagnosis.
Lustre-change: https://review.whamcloud.com/51762
Lustre-commit: TBD (from
025aa6e78ca6d3f4fc872b2b616034ec5b28952a)
Fixes:
07764c4eeb ("LU-16953 tests: wait longer in replay-dual/test_31")
Signed-off-by: Lei Feng <flei@whamcloud.com>
Test-Parameters: trivial testlist=replay-dual env=ONLY=31,ONLY_REPEAT=100
Change-Id: Iee679ee94ac2cb51baad1651bfaddf452fafdbd1
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51764
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Chris Horn [Tue, 1 Nov 2022 20:33:18 +0000 (14:33 -0600)]
LU-16290 lnet: Signal completion on ping send failure
Call complete() on the ping_data::completion if we get
LNET_EVENT_SEND with non-zero status. Otherwise the thread which
issued the ping is stuck waiting for the full ping timeout.
A pd_unlinked member is added to struct ping_data to indicate whether
the associated MD has been unlinked. This is checked by lnet_ping() to
determine whether it needs to explicitly called LNetMDUnlink().
Lastly, in cases where we do not receive a reply, we now return the
value of pd.rc, if it is non-zero, rather than -EIO. This can provide
more information about the underlying ping failure.
Lustre-change: https://review.whamcloud.com/49020
Lustre-commit:
48c34c71de65e8a251a218bc9ecb7c5ed522d786
HPE-bug-id: LUS-11317
Test-Parameters: trivial testlist=sanity-lnet
Signed-off-by: Chris Horn <chris.horn@hpe.com>
Change-Id: I1bc573cf7397e319993fa8aabb31c5f3b59768e7
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51700
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Cyril Bordage <cbordage@whamcloud.com>
Chris Horn [Mon, 13 Feb 2023 21:15:31 +0000 (15:15 -0600)]
LU-16551 tests: Ensure all peer credits used in MR
sanity-lnet test_254 needs to ensure that all peer credits are
consumed. Because of the raciness of the round robin code in LNet,
we cannot rely on just issuing the appropriate number of pings.
Instead we should use the --source argument to lnetctl ping to ensure
that we send the correct number of pings over each interface.
To simplify matters, only perform this test, and the other tests that
call setup_health_test(), in non-routed configurations.
Lustre-change: https://review.whamcloud.com/49979
Lustre-commit:
aa66cb46761d72ec2c861ff9665ea6b6dbbe76a8
Test-Parameters: trivial testlist=sanity-lnet
Fixes:
52db11cdce ("LU-16303 lnet: Drop LNet message if deadline exceeded")
Signed-off-by: Chris Horn <chris.horn@hpe.com>
Change-Id: I05a7ffec37d16c14711fe696232708f927357b1c
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51699
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Cyril Bordage <cbordage@whamcloud.com>
Chris Horn [Mon, 7 Nov 2022 22:06:32 +0000 (15:06 -0700)]
LU-16303 lnet: Drop LNet message if deadline exceeded
The LNet message deadline is set when a message is committed for
sending. A message can be queued while waiting for send credit(s)
after it has been committed. Thus, it is possible for a message
deadline to be exceeded while on the queue. We should check for this
when posting messages to LND layer.
Lustre-change: https://review.whamcloud.com/49078
Lustre-commit:
52db11cdceef0851b972410cf8f7014d20fd194e
HPE-bug-id: LUS-11333
Test-Parameters: trivial testlist=sanity-lnet env=ONLY=253,ONLY_REPEAT=100
Signed-off-by: Chris Horn <chris.horn@hpe.com>
Change-Id: I1315b2351536e63b9d4f22d9336a57415031e0c7
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51698
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Chris Horn [Wed, 14 Sep 2022 01:23:37 +0000 (20:23 -0500)]
LU-15595 tests: Router test interop check and aarch fix
setup_router_test() executes load_lnet() on remote nodes, but
this function was only added in 2.15. Add a version check for it.
Enabling routing may fail on nodes with small amount of memory (like
aarch config). Define small number of router buffers to work around
this issue. Modify the functions which calculate the number of buffers
to allow small sizes to be specified via parameters.
Lustre-change: https://review.whamcloud.com/48578
Lustre-commit:
1aba6b0d9b661d3699cbd4624e9db334a13fc647
Test-Parameters: trivial testlist=sanity-lnet serverversion=2.12.9
Test-Parameters: testgroup=review-ldiskfs-arm testlist=sanity-lnet
Signed-off-by: Chris Horn <chris.horn@hpe.com>
Change-Id: If0b76747fe09e883546f18da9f3322c72263e29d
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51664
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Cyril Bordage <cbordage@whamcloud.com>
Chris Horn [Wed, 27 Oct 2021 20:10:17 +0000 (20:10 +0000)]
LU-15595 lnet: Always use ping reply to set route lr_alive
We currently process discovery ping replies in different ways
depending on whether the gateway has discovery enabled or disabled
(or the local peer doing the processing has discovery enabled or
disabled).
When DD is disabled we process the ping reply to set the lr_alive
field of lnet_route because the peer objects for non-MR routers do
not contain all the information needed to calculate the route
aliveness when a message is being sent.
When DD is enabled then we don't do any special processing of the
ping reply. We simply let discovery update the NI status for the
GW's peer NIs and then we calculate the route aliveness on every
send.
We issue discovery pings to routers every alive_router_check_interval
seconds (default 60), but we calculate route aliveness on every send
to a remote network (1000s of times per seconds). Thus, it is better
to slightly duplicate the effort expended when we receive a discovery
reply so that we can avoid calculating route aliveness on every send.
Since both lr_alive and hop type are being set on each ping reply, for
both DD enabled and disabled cases, we can remove the code for
updating lr_alive and hop type from lnet_router_discovery_complete().
If discover encounters a fatal error, we still set the status of each
peer NI, as well as all routes, to down in
lnet_router_discovery_complete().
Lustre-change: https://review.whamcloud.com/46624
Lustre-commit:
1ea6c87d415144522a1c50c08063c9d30d585325
Test-Parameters: trivial testlist=sanity-lnet
Signed-off-by: Chris Horn <chris.horn@hpe.com>
Change-Id: If4838c269a89885ba3763f62847e294804edf62e
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51663
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Cyril Bordage <cbordage@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Chris Horn [Mon, 7 Feb 2022 23:20:37 +0000 (23:20 +0000)]
LU-15595 tests: Add various router tests
Add test cases to exercise LNet routing.
Lustre-change: https://review.whamcloud.com/46622
Lustre-commit:
8ee85e15412d32fbe60f70c474c0a28ff15b8351
Test-Parameters: trivial testlist=sanity-lnet
Signed-off-by: Chris Horn <chris.horn@hpe.com>
Change-Id: I4a077937b3e3b8b07707afeb0c5c23ec1c9074f4
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51661
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Cyril Bordage <cbordage@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
James Simmons [Wed, 30 Mar 2022 13:10:28 +0000 (09:10 -0400)]
LU-15363 tests: don't use lustre module to test lnet
Currently sanity-lnet.sh loads the lustre modules to properly
initialize the lnet modules. This doesn't work with the native
Linux client since it only starts up LNet after mounting the
file system. We shouldn't be using lustre to test lnet so
load lnet modules with config_on_load option to properly setup
the default LNet configuration.
Also fix ksocklnd-config to use bash so sanity-lnet.sh can
pass on Ubuntu.
Lustre-change: https://review.whamcloud.com/45834
Lustre-commit:
e41f91dc90a0977f7ea85b199b7e5809c56b810e
Test-Parameters: trivial testlist=sanity-lnet
Change-Id: Ifffc51625f5c2ffbb3ab811b75739c0e6407a821
Signed-off-by: James Simmons <jsimmons@infradead.org>
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51666
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Cyril Bordage <cbordage@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Chris Horn [Tue, 11 Jan 2022 22:19:16 +0000 (16:19 -0600)]
LU-15440 lnet: lnet_peer_data_present() memory leak
If the ping buffer has nnis <= 1 then the ref on the ping buffer does
not get dropped. This causes a memory leak.
Lustre-change: https://review.whamcloud.com/46052
Lustre-commit:
56384a4fc39ff99c8abb3538f93d303f2be6ab45
Test-Parameters: trivial testlist=sanity-lnet
Signed-off-by: Chris Horn <chris.horn@hpe.com>
Change-Id: I5e3c651ffecbe4f8860afb86770cecef23ebe862
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51684
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Cyril Bordage <cbordage@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
hxing [Fri, 28 Jul 2023 07:36:12 +0000 (15:36 +0800)]
LU-16911 sec: quiet messages from identity upcall retry mech
Do not use CERROR to print messages about failed identity acquire
upcalls. And make a difference between initial attempt before retry,
and final failure.
Lustre-change: https://review.whamcloud.com/51355
Lustre-commit:
765e59d37dc2b4c85e9bdaea2765c9023226778b
Fixes:
61c3b3a9bb ("LU-16165 sec: retry mechanism for identity cache")
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Signed-off-by: Xing Huang <hxing@ddn.com>
Change-Id: I35e04ca31b623d6037bb49e4ded4ea96d653f074
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51797
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Alex Zhuravlev [Tue, 25 Jul 2023 14:55:53 +0000 (17:55 +0300)]
EX-7965 utils: resync-cmd option to lamigo
so we can change default "lfs mirror resync" to something else,
add extra options, etc.
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: Idf445128e811297651e09babc51fb5b0f2b9b20d
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51757
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Bobi Jam [Wed, 21 Jun 2023 06:33:21 +0000 (14:33 +0800)]
LU-16831 lfs: limit stripe count for component size
If stripe count is larger than component_size/stripe_size, some
allocated OST objects are created but inaccessible. This patch
reduces the number of stripes in that case to avoid this.
Lustre-change: https://review.whamcloud.com/51143
Lustre-commit:
a250ecb959a98c2ec0a01bbca9d943a19b8fa078
Signed-off-by: Bobi Jam <bobijam@whamcloud.com>
Change-Id: I117ed8a7696c6c6adcdd0c2c6531a958cc53bd51
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51719
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>
Qian Yingjin [Fri, 28 Jul 2023 08:40:16 +0000 (16:40 +0800)]
LU-17001 pcc: fix the build failures for mmap_conv
PCC has implemented mmap page conversion for performance reason.
However, it is not stable, and disabled by default.
The Lustre build meets some failures against the newer kernel such
as Ubuntu 2204 kernel 6.2.0-26-generic.
The reason is that @pagevec_lookup and @add_to_page_cache_locked
are removed and no longer exported by the kernel.
This patch gives a simple solution. It disables the mmap_conv
option for PCC and does not perform mmap page conversion for
the newer kernel without @add_to_page_cache_locked exported.
Change-Id: Ie314830f225848b7f888709ad000fd7d36d3c0b2
Signed-off-by: Qian Yingjin <qian@ddn.com>
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51798
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Mikhail Pershin [Tue, 25 Jul 2023 22:09:31 +0000 (01:09 +0300)]
LU-16983 mdc: check errcode prior mdc_fill_lvb() call
The mdc_enqueue_fini() can be called with negative
errcode parameter if request processing was failed.
In that case the mdc_fill_lvb() shouldn't be called.
Issue may occur with DoM files, old server (<2.14) and
new client. The problem is in new client code.
Lustre-change: https://review.whamcloud.com/51761
Lustre-commit: TBD (from
c422797b3949e0b3b7fac7164f03f01dfa6aca0b)
Signed-off-by: Mikhail Pershin <mpershin@whamcloud.com>
Change-Id: I884398beada4286bc07875247e15b41120f73a3e
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51769
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Shaun Tancheff [Sun, 7 May 2023 02:11:27 +0000 (21:11 -0500)]
LU-16667 build: kernel_cap_t contains u64
linux kernel v6.2-13111-gf122a08b197d
capability: just use a 'u64' instead of a 'u32[2]' array
Add configure test for kernel_cap_t as u64 and provide
and accessor for the least significant 32 bits.
As of linux commit v3.6-10973-g607ca46e97a1 lustre implicitly
started to ignore some capabilities, see:
include/uapi/linux/capability.h
The last capability flag was added by:
linux commit v5.8-rc5-1-g124ea650d307
The capabilities the Lustre currently ignores are:
- CAP_MAC_OVERRIDE
- CAP_MAC_ADMIN
- CAP_SYSLOG
- CAP_WAKE_ALARM
- CAP_BLOCK_SUSPEND
- CAP_AUDIT_READ
- CAP_PERFMON
- CAP_BPF
- CAP_CHECKPOINT_RESTORE
None of which appear to be important to Lustre operations
and should be fine to continue ignore.
Lustre-change: https://review.whamcloud.com/50421
Lustre-commit:
ea9532fb731bbfe041010e2224219479c2c0d71b
Test-Parameters: trivial
HPE-bug-id: LUS-11557
Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: I48ad7b1a34fff378c260dc73ea91b22aaa0d7469
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51726
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Mr. NeilBrown [Wed, 14 Jul 2021 16:15:26 +0000 (12:15 -0400)]
LU-9859 libcfs: discard cfs_cap_t, use kernel_cap_t
lustre only sends 32bits of capabilities in on-the-wire RPC calls.
It current strips off higher bits and uses a 32bit cfs_cap_t
throughout.
Though there is a small memory cost, it is cleaner to use
kernel_cap_t throughout and only truncate when marshalling
data for RPC calls.
So this patch replaces cfs_cap_t with kernel_cap_t throughout,
and where a cfs_cap_t was previous stored in a __u32, we now
store cap.cap[0] instead.
With this, we can remove include/linux/libcfs/curproc.h
Linux-commit:
18f92a6e3d6bd00941ddfb5837835348f72d39dc
Lustre-change: https://review.whamcloud.com/43171
Lustre-commit:
0a6beb2a50f7a4f953a258b63c2ea1fbfd373092
Change-Id: If7dd7a16c218dfc0d520e189f021ed6bda3b93fd
Signed-off-by: Mr. NeilBrown <neilb@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51743
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
NeilBrown [Mon, 1 Mar 2021 14:15:45 +0000 (09:15 -0500)]
LU-9859 libcfs: simplify capability dropping.
Lustre has a 'squash credentials' concept similar to the "anon_uid"
for nfsd. When accessing a file with squashed credentials, we
need to also drop capabilities.
Linux has cap_drop_fs_set() and cap_drop_nfsd_set(). Rather than
taking a completely different approach, this patch changes lustre
to use this same cap_drop_*_set() approach.
With this change we also drop CAP_MKNOD and CAP_MAC_OVERRIDE
which are probably appropriate, and don't drop
CAP_SYS_ADMIN or CAP_SYS_BOOT which should be irrelevant for
file permission checking
Calling both cap_drop_*_set() seems a bit clumsy, but gets
the job done.
Linux-commit:
f497115d4cf8a430c5d9902ce35716ba5f9c21ef
Lustre-change: https://review.whamcloud.com/41957
Lustre-commit:
ee06281d89871c46310ee4b0585ee4489d2c2f3f
Change-Id: I2f4f691bc4ad090f6abaa4e13eb473bf8d904b23
Signed-off-by: NeilBrown <neilb@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51745
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Mr. NeilBrown [Thu, 18 Mar 2021 21:57:03 +0000 (17:57 -0400)]
LU-9859 libcfs: remove linux-curproc.c
The only real functionality remaining here is
cfs_curproc_cap_pack(),
and it can be trivially implemented as an inline
in curproc.h.
So do that and remove the file.
The rest can be moved to jobid.c
Linux-commit:
37d3b407dc14a13ec8bba3a4d7737c92f996e9c0
Lustre-change: https://review.whamcloud.com/41938
Lustre-commit:
f6cd6a880cd03fd1d3fd3d8e03133f0835ad275d
Change-Id: I3546841fa44accb19d0867099c17b16ede48228e
Signed-off-by: Mr. NeilBrown <neilb@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51742
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Peng Tao [Mon, 11 Jan 2021 15:49:38 +0000 (10:49 -0500)]
LU-9859 libcfs: remove cfs_capable
Use capable() directly.
Linux-commit:
2eb90a757e9d953c9e2a8fce530422189992fb1b
Lustre-change: https://review.whamcloud.com/41783
Lustre-commit:
e34fdc5479037bf7b6efed3239362585a1c1ff3b
Change-Id: Iadaa3c743a350def37558b23d954f5dfd4e0844a
Signed-off-by: Peng Tao <bergwolf@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51741
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Mr. NeilBrown [Thu, 10 Sep 2020 13:49:30 +0000 (09:49 -0400)]
LU-9859 libcfs: replace all CFS_CAP_* macros with CAP_*
Lustre defines a few CFS_CAP_* macros which are exactly the
same as the corresponding CAP_* macro, with one exception.
CFS_CAP_SYS_BOOT is 23
CAP_SYS_BOOT is 22.
CFS_CAP_SYS_BOOT is only used through CFS_CAP_FS_MASK and
causes capability 23 (CAP_SYS_NICE) to be dropped in certain
circumstances.
It is probable that the intention was to drop CAP_SYS_BOOT,
and this is what is now done.
CFS_CAP_CHOWN_MASK and CFS_CAP_SYS_RESOURCE_MASK are never
used, so they have been removed.
Linux-commit:
5ebaa2d14850205e44757c4d5fdd4097712d01ef
Lustre-change: https://review.whamcloud.com/39875
Lustre-commit:
a076975f9fed44e2b3a8b516aa7fe2ee6fbdb2bb
Change-Id: Ifb90c0a36e204c76b90ff23ac609345d11b878da
Signed-off-by: Mr. NeilBrown <neilb@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51740
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Andreas Dilger [Sun, 23 Jul 2023 01:42:07 +0000 (19:42 -0600)]
RM-620 build: New tag 2.14.0-ddn94
New tag 2.14.0-ddn94
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: Ie82ae2d2198bdfd780acf1c2050c64287bc0b7ec
Bobi Jam [Thu, 4 May 2023 02:39:29 +0000 (10:39 +0800)]
LU-16637 llite: call truncate_inode_pages() in inode lock
In some cases vvp_prune()->truncate_inode_pages() is get called
without IO context, we need protect it with inode lock as well.
So we add ll_inode_info::lli_inode_lock_owner and set it according to
vfs lock rules (Documentation/filesystems/Locking or
Documentation/filesystems/locking.rst), so before calling
truncate_inode_pages(), we'd lock the inode if it's not locked in
vfs.
Lustre-commit:
51d62f2122fee14fbb3ff8333b5a830e1181e4e5
Lustre-change: https://review.whamcloud.com/50857
Fixes:
ef9be34478 ("LU-16637 llite: call truncate_inode_pages() under inode lock")
Signed-off-by: Bobi Jam <bobijam@whamcloud.com>
Change-Id: I84d7d999a49325810062a9a7337e184d35467820
Reviewed-by: Neil Brown <neilb@suse.de>
Reviewed-by: Patrick Farrell <pfarrell@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51643
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Shaun Tancheff [Sun, 2 Apr 2023 09:15:58 +0000 (04:15 -0500)]
LU-16594 build: get_random_u32_below, get_acl with dentry
Linux commit v6.1-13825-g3c202d14a9d7
prandom: remove prandom_u32_max()
Use get_random_u32_below() and provide a replacement
when get_random_u32_below is not available.
Linux commit v6.1-rc1-2-g138060ba92b3
fs: pass dentry to set acl method
Linux commit v6.1-rc1-4-g7420332a6ff4
fs: add new get acl method
get_acl() and set_acl() have new signatures
Lustre-change: https://review.whamcloud.com/50193
Lustre-commit:
3ef773db80fc346455c9939ad108f3f56990ee9c
Test-Parameters: trivial
HPE-bug-id: LUS-11556
Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: I1de02f86fd2719fc75de4f014f51d73736d83c33
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51734
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Mr NeilBrown [Fri, 13 May 2022 02:16:12 +0000 (12:16 +1000)]
LU-15759 libcfs: debugfs file_operation should have an owner
If debugfs a file is open when unloading the libcfs/lnet module, it
produces a kernel Oops (debugfs file_operations callbacks no longer
exist).
Crash generated with routerstat (/sys/kernel/debug/lnet/stats):
[ 1449.750396] IP: [<
ffffffffab24e093>] SyS_lseek+0x83/0x100
[ 1449.750412] PGD
9fa14067 PUD
9fa16067 PMD
d4e5d067 PTE 0
[ 1449.750428] Oops: 0000 [#1] SMP
[ 1449.750883] [<
ffffffffab7aaf92>] system_call_fastpath+0x25/0x2a
[ 1449.750897] [<
ffffffffab7aaed5>] ?
system_call_after_swapgs+0xa2/0x13a
This patch adds an owner to debugfs file_operation for libcfs and
lnet_router entries (/sys/kernel/debug/lnet/*).
The following behavior is expected:
$ modprobe lustre
$ routerstat 10 > /dev/null &
$ lustre_rmmod
rmmod: ERROR: Module lnet is in use
Can't read statfile (ENODEV)
[1]+ Exit 1 routerstat 10 > /dev/null
$ lustre_rmmod
Note that the allocated 'struct file_operations' cannot be freed until
the module_exit() function is called, as files could still be open
until then.
Lustre-change: https://review.whamcloud.com/47335
Lustre-commit:
b2dfb4457f0f1e56f3df448cf67ac97e728f4417
Signed-off-by: Mr NeilBrown <neilb@suse.de>
Change-Id: Ia0920313e0c2a4b6cdc875fed08221e174a12a73
Reviewed-by: Etienne AUJAMES <eaujames@ddn.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51652
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Alex Zhuravlev [Fri, 10 Mar 2023 17:47:05 +0000 (20:47 +0300)]
LU-16633 obdclass: fix rpc slot leakage
obd_get_mod_rpc_slot() can race with obd_put_mod_rpc_slot():
finishing wait_woken() resets WQ_FLAG_WOKEN (which is set
when the corresponding thread gets a slot incrementing
cl_mod_rpcs_in_flight. then another thread execting
__wake_up_locked_key() may find that wq_entry again and call
claim_mod_rpc_function() one more time again incrementing
cl_mod_rpc_in_flight. thus it's incremented twice for a
single obd_get_mod_rpc_slot().
#1: obd_get_mod_rpc_slot() #2: obd_put_mod_rpc_slot()
flags &= ~WQ_FLAG_WOKEN
list_add()
wait_woken()
schedule claim_mod_rpc_function()
cl_mod_rpcs_in_flight++
wake_up()
flags &= ~WQ_FLAG_WOKEN
#3: obd_put_mod_rpc_slot()
claim_mod_rpc_function()
cl_mod_rpcs_in_flight++
wake_up()
list_del()
the patch introduces a replacement for WQ_FLAG_WOKEN which is never
reset once set.
Lustre-change: https://review.whamcloud.com/50261
Lustre-commit:
91a3726f313df33e099320d171039f8371fec27f
Fixes:
5243630b09 ("LU-15947 obdclass: improve precision of wakeups for mod_rpcs")
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: I29371c8c85414413c5a8e41dec3632f64ad127bb
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Lai Siyao <lai.siyao@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51658
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Mr NeilBrown [Mon, 21 Jun 2021 03:25:42 +0000 (13:25 +1000)]
LU-15947 obdclass: improve precision of wakeups for mod_rpcs
There is a limit of the number of in-flight mod rpcs with a
complication that a 'close' rpc is always permitted if there are no
other close rpcs in flight, even if that would exceed the limit.
When a non-close-request complete, we just wake the first waiting
request and assume it will use the slot we released. When a
close-request completes, the first waiting request may not find a slot
if the close was using the 'extra' slot. So in that case we wake all
waiting requests and let them fit it out. This is wasteful and
unfair.
To correct this we revise the wait/wake approach to use a dedicated
wakeup function which atomically checks if a given task can proceed,
and updates the counters when permission to proceed is given. This
means that once a task has been woken, it has already been accounted
and it can proceed.
To minimise locking, cl_mod_rpcs_lock is discarded and
cl_mod_rpcs_waitq.lock is used to protect the counters. For the
fast-path where the max has not been reached, this means we take and
release that spinlock just once. We call wake_up_locked while still
holding the lock, and if that woke the process, then we don't drop the
spinlock to wait, but proceed directly to the remainder of the task.
When the last 'close' rpc completes, the wake function will iterate
the whole wait queue until it finds a task waiting to submit a close
request. When any other rpc completes, the queue will only be
searched until the maximum is reached.
Lustre-change: https://review.whamcloud.com/44041
Lustre-commit:
5243630b09d22e0b576d81390d604774881f63f7
Signed-off-by: Mr NeilBrown <neilb@suse.de>
Change-Id: Iff094c3188a3bd8a04edc1d5d98ec3014e2b059b
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Petros Koutoupis <petros.koutoupis@hpe.com>
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51657
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>
Chris Horn [Tue, 4 Jan 2022 20:42:26 +0000 (14:42 -0600)]
LU-15398 tests: Use remote peers for health tests
LNet health may take different action depending on whether a NID
belongs to the local host or a remote peer. As such, the test cases
need to be careful to use remote or local NIs appropriately.
Introduce helper functions to create and cleanup LNet peers that are
needed for these tests. Convert existing test cases to use the new
helpers.
New function, lnet_if_list(), is added to test-framework.sh to
facilitate configuration of remote interfaces. do_rpc_nodes() modified
to recognize '--quiet' flag to ease parsing of lnet_if_list() output.
Tests 204 and 206 were re-worked to check the health state after each
simulated error. lnet_health_post() modified to reset peer and local
NI health so they are at max value when each error condition is
simulated.
Test 214, 215, and 250 were using hardcoded "eth0" names. These were
switched to use the INTERFACES variable.
The lnet_recovery_limit parameter is deprecated so remove lines that
were setting that parameter.
Lustre-change: https://review.whamcloud.com/45975
Lustre-commit:
3166a201e0a5cbc173ca110f64dc21f32ec10c8c
Test-Parameters: trivial testlist=sanity-lnet
HPE-bug-id: LUS-10661
Signed-off-by: Chris Horn <chris.horn@hpe.com>
Change-Id: I685fda8a84bcce024a765ddfc81c085acf24607a
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51682
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Andreas Dilger [Fri, 18 Jun 2021 21:35:29 +0000 (15:35 -0600)]
LU-14773 tests: quiet down some verbose messages
Don't print anything into the test logs for normal background
operations that are run as part of run_one(), so that they
don't clutter the test output with repeated/useless messages.
Lustre-change: https://review.whamcloud.com/44034
Lustre-commit:
86f16910645d9d9cad17c0f53ca1a375121e3f4c
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: Ib6a49fc268e4cd0ad92c71a391865ce2d73ebbe5
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51686
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Cyril Bordage <cbordage@whamcloud.com>
Jian Yu [Sat, 15 Jul 2023 14:36:13 +0000 (22:36 +0800)]
LU-16916 tests: fix client_evicted() not to ignore EOPNOTSUPP
After RHEL 9.x or Ubuntu 22.04 client is evicted, "lfs df" returns
error code 95 (EOPNOTSUPP), which is ignored in check_lfs_df_ret_val()
and then causes client_evicted() to ingore that error.
This patch fixes client_evicted() to check the return value
from "lfs df" directly so as not to ignore EOPNOTSUPP.
Lustre-change: https://review.whamcloud.com/51667
Lustre-commit:
a5a9ded43b72238c2df8e0a74f03151ea3d4ce99
Test-Parameters: trivial clientdistro=el9.2 testlist=replay-vbr
Test-Parameters: trivial clientdistro=el8.8 testlist=replay-vbr
Test-Parameters: trivial clientdistro=ubuntu2204 testlist=replay-vbr
Change-Id: I633ae8769fc563b8068f433e2afae29463ac5553
Signed-off-by: Jian Yu <yujian@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51691
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Arshad Hussain [Sat, 15 Jul 2023 14:25:54 +0000 (22:25 +0800)]
LU-8962 lfs: Handle non-lustre and multiple args
This patch addresses:
01: Handle multiple filesystems provided to 'lfs df'
02: Correctly report 'EOPNOTSUPP' for filesystems which
are non-Lustre.
03: Make changes to test-framework.sh to handle modified
return value from 'lfs df'. This changes For compatibility
reason, ignores and masquerades EOPNOTSUPP as success.
The final return value is 0 for _all_ success or
value of the first failure for even a single failure
seen during the argument processing
sanity/56e Test-case added.
Lustre-change: https://review.whamcloud.com/42126
Lustre-commit:
2d714041ba718853be700960b76769a8fb44cf51
LU-15465 tests: conf-sanity failed with code 95
conf-sanity tests 27b, 47 and 84 (the tests execute 'fail mds1' and
then 'cleanup' at the end of test) failed with code EOPNOTSUPP because
of 'set -e' and lfs df <non_lustre> return code 95.
The scenario:
test_27b () {
facet_failover $SINGLEMDS
change_active mds1
...
cleanup -> umount_client $MOUNT
}
formatall
stopall
activemds=`facet_active mds1`
if [ $activemds != "mds1" ]; then
fail mds1
clients_up
lfs_df_check
+ local clients=fre0111,fre0112
+ local rc
+ [ -z fre0111,fre0112 ]
+ pdsh -S -w fre0111,fre0112
/usr/bin/lfs df /mnt/lustre << lustre not mounted
pdsh@fre0111: fre0111: ssh exited with exit code 95
pdsh@fre0111: fre0112: ssh exited with exit code 95
To reproduce the issue just run:
ONLY="27b" sh conf-sanity.sh or:
ONLY="47" sh conf-sanity.sh or:
ONLY="84" sh conf-sanity.sh
Lustre-change: https://review.whamcloud.com/46236
Lustre-commit:
242fc2ccbacaf171159a20d59c9633707d8fbf66
Fixes:
2d714041ba ("LU-8962 lfs: Handle non-lustre and multiple args")
Signed-off-by: Elena Gryaznova <elena.gryaznova@hpe.com>
HPE-bug-id: LUS-10680
Signed-off-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Change-Id: I73287d21792d89b8cde672acdaf9c9caf829522f
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51690
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Qian Yingjin [Tue, 21 Mar 2023 08:53:00 +0000 (04:53 -0400)]
LU-16651 llite: hold invalidate_lock when invalidate cache pages
The newer kernel (such as Ubuntu 2204) introduces a new member:
invalidate_lock in the structure @address_space.
The filesystem must exclusively acquire invalidate_lock before
invalidating page cache in truncate / hole punch (and thus calling
into ->invalidatepage) to block races between page cache
invalidation and page cache filling functions (fault, read, ...)
However, current Lustre client does not hold this lock when remove
pages from page cache caused by the revocation of the extent DLM
lock protecting them.
If a client has two overlapped PR DLM extent locks, i.e:
- L1 = <PR, [1M, 4M - 1]
- L2 = <PR, [3M, 5M - 1]
A reader process holds L1 and reads data in range [3M, 4M - 1].
L2 is being revoken due to the conflict access.
Then the page read-in by the reader may be invalidated and deleted
from page cache by the revocation of L2 (in lock blocking AST).
The older kernel will check each page after read whether it was
invalidated and deleted from page cache. If so, it will retry the
page read.
In the newer kernel, it removes this check and retry.
Instead, it introduces a new rw_semaphore in the address_space -
invalidate_lock - that holding the shared lock to protect adding
of pages to page cache for page faults / reads / readahead, and
the exclusive lock to protect invalidating pages, removing them
from page cache for truncate / hole punch.
Thus, in this patch it holds exclusive invalidate_lock in newer
kernels when remove pages from page cache caused by the revocation
of a extent DLM lock protecting them. Otherwsie, it will result in
-EIO error or partial reads in the new added test case sanity/833.
Lustre-change: https://review.whamcloud.com/50371
Lustre-commit:
bba59b1287c9cd8c30a85fafb4fd5788452bd05c
Test-parameters: clientdistro=ubuntu2204 testlist=sanity env=ONLY=833,ONLY_REPEAT=10
Change-Id: If3a27002b89636b9fd4d7b5ea50afa9aeac5d121
Signed-off-by: Qian Yingjin <qian@ddn.com>
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/50353
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Sergey Cheremencev [Tue, 11 Jul 2023 14:28:12 +0000 (18:28 +0400)]
LU-16913 quota: fix ASSERTION(lqe->lqe_gl)
It is possible to add in a 2nd time lqe into qmt_reba_list while
handling of the 1st from the 1st time is not finished. There is a
small window in qmt_id_lock_glimpse when lqe_link is empty but
lqe_gl is not set.
Lustre-change: https://review.whamcloud.com/51629
Lustre-commit:
5df0459712fe1af2bc9459b4ce1b5a1220682c26
Signed-off-by: Sergey Cheremencev <scherementsev@ddn.com>
Change-Id: I1168903bff88df7e5106186b082e8065a6480367
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51685
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Alex Deiter [Wed, 19 Jul 2023 18:52:35 +0000 (22:52 +0400)]
EX-7423 tests: skip recovery-mds-scale/failover_mds
Put recovery-mds-scale/failover_mds to the always_except
list until LU-16671 has been fixed.
Test-Parameters: trivial testlist=recovery-mds-scale
Signed-off-by: Alex Deiter <adeiter@tintri.com>
Change-Id: Id6bf929a71c3e7d6a190d4c971120f0b93159393
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51718
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Andreas Dilger [Sat, 22 Jul 2023 17:27:49 +0000 (11:27 -0600)]
EX-7938 tests: skip sanity-compr sanity/100
Skip test_100 due to constant failures and unclear relation to
anything related to PFL/compression.
Test-Parameters: trivial testlist=sanity-compr
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: Ic426498c120f8d97def44fd2531930e0a183e74f
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51746
Reviewed-by: Artem Blagodarenko <ablagodarenko@ddn.com>
Reviewed-by: Alex Deiter <alex.deiter@gmail.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Lei Feng [Tue, 11 Jul 2023 03:13:01 +0000 (11:13 +0800)]
EX-6826 tests: wait before unmounting pcc device if busy
wait at most 10 seconds before unmounting pcc device
if it is busy.
Signed-off-by: Lei Feng <flei@whamcloud.com>
Test-Parameters: trivial testlist=sanity-pcc env=ONLY=25,ONLY_REPEAT=100
Change-Id: I77ec018d33d14af99bdc5d5c5c94c8fa0dafdb61
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51623
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Lei Feng [Mon, 10 Jul 2023 07:02:32 +0000 (15:02 +0800)]
LU-16953 tests: wait longer in replay-dual/test_31
Wait until file was created in replay-dual/test_31.
Lustre-change: https://review.whamcloud.com/51621
Lustre-commit: TBD (from
eed10c2ef36c7e1aebec27ce943b80bd0174ddf0)
Signed-off-by: Lei Feng <flei@whamcloud.com>
Test-Parameters: trivial testlist=replay-dual env=ONLY=31,ONLY_REPEAT=100
Change-Id: I847beb51d53e667f1599c9693aa5eb099dcf9435
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51622
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Alex Deiter <alex.deiter@gmail.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Mikhail Pershin [Tue, 4 Jul 2023 19:13:58 +0000 (22:13 +0300)]
EX-7786 test: get size before fallback to generic
If ll_file_seek() falls back to generic_file_llseek_size()
then make sure inode size is reliable
Test-Parameters: testlist=sanity env=ONLY=460f,ONLY_REPEAT=4 clientdistro=el9.1
Signed-off-by: Mikhail Pershin <mpershin@whamcloud.com>
Change-Id: Ieb8c90e66fb19675ba41f0147c0d9cdaf29ea20a
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51564
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Jian Yu [Fri, 14 Jul 2023 06:22:25 +0000 (14:22 +0800)]
LU-16943 tests: fix replay-single/135 under hard failure mode
This patch fixes replay-single test_135() to load libcfs module
on the failover partner node to avoid 'fail_val' setting error.
It also fixes the issue that not all of the OSTs are mounted after
failing back ost1.
Lustre-change: https://review.whamcloud.com/51574
Lustre-commit: TBD (from
1b73b6465b77744992bb1f6d782362bf0cf7f409)
Test-Parameters: trivial testlist=replay-single
Test-Parameters: trivial env=FAILURE_MODE=HARD \
clientcount=4 mdtcount=1 mdscount=2 osscount=2 \
austeroptions=-R failover=true iscsi=1 \
testlist=replay-single
Change-Id: Id46c722a6db9d832829a739f41f7462b32a6d9d9
Signed-off-by: Jian Yu <yujian@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51607
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Alex Deiter <alex.deiter@gmail.com>
Alex Deiter [Fri, 30 Jun 2023 18:02:49 +0000 (22:02 +0400)]
LU-16868 tests: add check for replace_nid
Added check for replace_nid operations and return an
error to prevent module reload errors and timeout
when unmounting targets.
Lustre-change: https://review.whamcloud.com/51524
Lustre-commit: TBD (from
a822c82326821c5c30e14d9620cd2976d5438714)
Test-Parameters: trivial
Test-Parameters: testlist=conf-sanity env=ONLY=32a serverdistro=el7.9
Test-Parameters: testlist=conf-sanity env=ONLY=32a serverdistro=el8.7
Signed-off-by: Alex Deiter <adeiter@tintri.com>
Change-Id: I29a5de826ac8f0040dd671e502d30bac4a082c43
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51604
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Alex Deiter [Sun, 9 Jul 2023 12:35:53 +0000 (16:35 +0400)]
LU-15046 tests: skip sanity-flr/test_200c for old MDS
Skip sanity-flr test_200c for old MDS missing the fix
for synchronized replicas and its corresponding test.
Lustre-change: https://review.whamcloud.com/51649
Lustre-commit: TBD (from
f152fe6e313843067c4c32299acf066d41896d61)
Fixes:
b7ec0d2390 ("LU-15046 osp: precreate thread vs connect race")
Test-Parameters: trivial
Test-Parameters: testlist=sanity-flr env=ONLY=200c serverversion=2.14.0-ddn85
Test-Parameters: testlist=sanity-flr env=ONLY=200c serverversion=2.14.0-ddn89
Signed-off-by: Alex Deiter <adeiter@tintri.com>
Change-Id: I87cd7d6b767086f993a27ce6905b05f87e325474
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51613
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Alex Deiter [Sun, 9 Jul 2023 14:01:43 +0000 (18:01 +0400)]
LU-16341 tests: skip sanity-quota/test_1b for old MDS
Skip sanity-quota test_1b for old MDS missing the fix
for LU-16341 kernel NULL in qmt_site_recalc_cb.
Lustre-change: https://review.whamcloud.com/51648
Lustre-commit: TBD (from
a47128600fce1dd5135af610d0b31dafe1baa9d0)
Fixes:
d965d63415 ("LU-16341 quota: fix panic in qmt_site_recalc_cb")
Test-Parameters: trivial
Test-Parameters: testlist=sanity-quota env=ONLY=1b serverversion=2.14.0-ddn85
Test-Parameters: testlist=sanity-quota env=ONLY=1b serverversion=2.14.0-ddn87
Signed-off-by: Alex Deiter <adeiter@tintri.com>
Change-Id: I1b1bc3fdfa8f36b0c20a9a06721735c8e02c034c
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51612
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Shaun Tancheff [Fri, 27 Jan 2023 06:54:42 +0000 (00:54 -0600)]
LU-16351 llite: Linux 6.1 prandom, folios_contig, vma_iterator
Linux commit v4.10-rc3-6-gc440408cf690
random: convert get_random_int/long into get_random_u32/u64
Linux commit v6.0-11338-gde492c83cae0
prandom: remove unused functions
prandom_u32 is a wrapper around get_random_u32, change users
of prandom_u32 to get_random_u32 and provide a fallback
to prandom_u32 when get_random_u32 is not available.
Linux commit v6.0-rc1-2-g25885a35a720
Change calling conventions for filldir_t
Add a test for the new filldir_t signature
Provide wrappers for transition from int (error code) to bool
Linux commit v6.0-rc3-94-g35b471467f88
filemap: add filemap_get_folios_contig()
Provide a wrapper and fallback to find_get_pages_contig
Linux commit v6.0-rc3-225-gf39af05949a4
mm: add VMA iterator
Use vma_iterator and for_each_vma when available.
Lustre-change: https://review.whamcloud.com/49232
Lustre-commit:
ca992899d55fd13e65b75ace02931daaa29c18bd
Test-Parameters: trivial
HPE-bug-id: LUS-11377
Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: I23dc23d0252e1995555b6685f5cf7c207edf642b
Reviewed-by: xinliang <xinliang.liu@linaro.org>
Reviewed-by: Yang Sheng <ys@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51628
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Shaun Tancheff [Sun, 2 Apr 2023 11:47:51 +0000 (06:47 -0500)]
LU-16328 llite: migrate_folio, vfs_setxattr
Linux commit v5.19-rc3-392-g5490da4f06d1
fs: Add aops->migrate_folio
Linux commit v5.19-rc4-52-ge33c267ab70d
mm: shrinkers: provide shrinkers with names
From Linux commit v5.19-rc5-17-g0c5fd887d2bb
acl: move idmapped mount fixup into vfs_{g,s}etxattr()
Until Linux commit v6.0-rc3-6-g6344e66970c6
xattr: constify value argument in vfs_setxattr()
Cast away const when required.
Linux commit v5.19-10313-geba2d3d79829
get rid of non-advancing variants
iov_iter_get_pages_alloc2() replaces iov_iter_get_pages_alloc()
Lustre-change: https://review.whamcloud.com/49265
Lustre-commit:
0006eb36440dcb4dc06aa61c35db40bf7dec0ddc
Test-Parameters: trivial
HPE-bug-id: LUS-11358
Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: Id1fa6db94172c0a61008ba4b066907950bdd6473
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: xinliang <xinliang.liu@linaro.org>
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51624
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Serguei Smirnov [Tue, 20 Jun 2023 19:21:42 +0000 (12:21 -0700)]
LU-16709 lnet: fix locking multiple peer NIDs
If Lustre identifies the same peer with multiple NIDs,
as a result of peer discovery it is possible that
the discovered peer is found to contain a NID which is locked
as primary by a different existing peer record.
In this case it is safe to merge the peer records,
but the NID which got locked the earliest should be
kept as primary.
This allows for the first of the two locked NIDs
to stay primary as intended for the purpose of communicating
with Lustre even if peer discovery succeeded
using a different NID of MR peer.
This patch adds updates to the original port because master
version of of this moment evolved after it was landed.
Lustre-change: https://review.whamcloud.com/50530
Lustre-commit:
3b7a02ee4d656b7b3e044713681da2f56dddb152
Test-parameters: trivial testlist=sanity-lnet
Fixes:
1a2db3e14b78 ("EX-7251 lnet: fix locking multiple NIDs")
Signed-off-by: Serguei Smirnov <ssmirnov@whamcloud.com>
Change-Id: I3303e618b37a76c30be6426972e7853bb31ae497
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51384
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Cyril Bordage <cbordage@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Sebastien Buisson [Fri, 4 Mar 2022 15:45:59 +0000 (16:45 +0100)]
LU-13343 gss: no sec flavor on loopback connection
When using a local client, i.e. a client mounted on a server node,
there is no benefit from a security standpoint to enforce an SSK or
KRB flavor, since the data does not go over the network.
So force the 'null' security flavor for connections on 0@lo,
independently of the currently defined srpc flavor.
Lustre-change: https://review.whamcloud.com/46704
Lustre-commit:
e3e91ea95fd96a5eafc598e3812390b4cbac05c3
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: If25d69bb1e67735cb0544ca954e49175f7471248
Reviewed-by: Aurelien Degremont <adegremont@nvidia.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51610
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Etienne AUJAMES [Sat, 15 Jul 2023 11:29:30 +0000 (19:29 +0800)]
LU-16747 llapi: fix race in get_root_path_slow()
The patch
bdf7788d ("LU-8585 llapi: use open_by_handle_at in
llapi_open_by_fid") caches the Lustre root fd to avoid re-openning
it each time an ioctl() is needed on the fs.
For now, only 1 entry is stored. If a llapi call is performed on
another mountpoint, llapi needs to close the old root fd and open a
new one.
A race condition exists at startup, when root_cached.fd is not
initialized yet. Several threads try to determine root information at
the same time (in get_root_path_slow()). Those threads will close(),
open() and update different "root_cached.fd".
The usage of a closed root fd will return EBADFD (e.g: in
llapi_open_by_fid(), llapi_hsm_request() or llapi_fid2path()).
This patch checks if the fs is the same before updating the root
entry. If so, the root entry (and cached root fd) will not be changed.
Add the regresion test sanityn 85 (llapi_root_test).
Lustre-change: https://review.whamcloud.com/50682
Lustre-commit:
9ef1e097d53000233f9ba23319268f467c276173
Test-Parameters: trivial testlist=sanityn env=ONLY=85,ONLY_REPEAT=20
Test-Parameters: testlist=sanityn
Test-Parameters: testlist=sanity
Fixes:
bdf7788d ("LU-8585 llapi: use open_by_handle_at in llapi_open_by_fid")
Signed-off-by: Etienne AUJAMES <eaujames@ddn.com>
Change-Id: I681aac7d5715022e700cdb092db94deaa6bf6a8f
Reviewed-by: Guillaume Courrier <guillaume.courrier@cea.fr>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51689
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Andreas Dilger [Wed, 5 Jul 2023 20:32:10 +0000 (14:32 -0600)]
LU-16101 tests: skip sanity/27J for more kernels
This is a bug in the kernel that is not present in older kernels
before commit v5.11-10234-gcbd59c48ae2b (5.12), and is fixed with
commit v6.2-rc4-61-g5956592ce337 (6.2).
Move this from ALWAYS_EXCEPT (bug that needs to be fixed) to skip
(test that is known to fail in some configs but has been fixed).
Lustre-change: https://review.whamcloud.com/51567
Lustre-commit:
b711af7d243f3773cec3a37f64c0e0aa8bbc363f
Fixes:
af6f49698a18 ("LU-16101 tests: add sanity/27J to always_except")
Test-Parameters: trivial testlist=sanity clientdistro=el9.2 env=ONLY=27J
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I8ec0a6d25a90e05672b039cd6c2b2fbf8a3ebbe5
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51583
Reviewed-by: Alex Deiter <alex.deiter@gmail.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Arshad Hussain [Mon, 14 Feb 2022 08:36:47 +0000 (14:06 +0530)]
LU-15519 quota: fallocate does not increase projectid usage
fallocate() was not accounting for projectid quota usage.
This was happening due to two reasons. 1) the projectid
was not properly passed to md_op_data in ll_set_project()
and 2) the OBD_MD_FLPROJID flag was not set receive the
projctid.
This patch addresses the above reasons.
Test-case: sanity-quota/78a added
Lustre-change: https://review.whamcloud.com/46676
Lustre-commit:
5fc934ebbbe665f24e2f11fe224065dd8e9a08ba
Fixes:
48457868a02a ("LU-3606 fallocate: Implement fallocate preallocate operation")
Signed-off-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Change-Id: I3ed44e7ef7ca8fe49a08133449c33b62b1eff500
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Hongchao Zhang <hongchao@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51639
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Andreas Dilger [Thu, 6 Jul 2023 05:21:01 +0000 (23:21 -0600)]
RM-620 build: New tag 2.14.0-ddn93
New tag 2.14.0-ddn93
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: Ic6530f389228232cf1f763810d2abcbebc9b51d7
Andreas Dilger [Fri, 30 Jun 2023 10:29:49 +0000 (04:29 -0600)]
LU-16937 utils: avoid lctl shmget() if not needed
lctl is dynamically allocating an IPC shared memory segment
during every startup, even though it is only needed for a
small number of uncommon debug commands:
shmget(IPC_PRIVATE, 65680, 0600) = 196641
shmat(196641, NULL, 0) = 0x7f752b1c5000
shmctl(196641, IPC_RMID, NULL) = 0
This setup can be moved to sub-commands that actually need it.
Lustre-change: https://review.whamcloud.com/51526
Lustre-commit: TBD (from
309713169fde9e162c26e909bc83cb43cccd67ba)
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I41c790ce7cba2d9c48c1ec06eb23eb94aa548242
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51516
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Jian Yu [Fri, 30 Jun 2023 11:32:03 +0000 (19:32 +0800)]
LU-16934 kernel: update RHEL 8.8 [4.18.0-477.15.1.el8_8]
Update RHEL 8.8 kernel to 4.18.0-477.15.1.el8_8.
Lustre-change: https://review.whamcloud.com/51517
Lustre-commit: TBD (from
7174f706328cb4e6a52c898c1cd7719b81e26c0d)
Test-Parameters: trivial fstype=ldiskfs \
clientdistro=el8.8 serverdistro=el8.8 testlist=sanity
Test-Parameters: trivial fstype=zfs \
clientdistro=el8.8 serverdistro=el8.8 testlist=sanity
Change-Id: I66365dce63065a0a07958a182a3c705e9948d424
Signed-off-by: Jian Yu <yujian@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51519
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>
Sebastien Buisson [Tue, 27 Jun 2023 15:50:03 +0000 (15:50 +0000)]
EX-7683 utils: always try to use our own lz4/lz4hc
lz4/lz4hc provided by the kernel do not grok a compression level.
The built-in lz4/lz4hc do, so always build them as dedicated kernel
modules llz4.ko and llz4hc.ko, with the same .cra_name but with a
slightly higher .cra_priority = 110, so that they are preferred over
the in-kernel modules if any.
And try to manually load the llz4/llz4hc kernel modules when a file
requires compression with the corresponding alg. This is a "one-shot"
try that allows us to prefer our modules that has level support, but
continues to at least compress/decompress files even if our own
modules are not available.
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: I0bdf267f998e21df81e460250a653aed34e3215d
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51474
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Andreas Dilger [Wed, 5 Jul 2023 01:04:10 +0000 (19:04 -0600)]
LU-8582 tests: skip sanity/905 for old OSTs
The fail_loc used in sanity test_905 does not exist in older OSTs.
Skip this subtest for older OSTs.
Lustre-change: https://review.whamcloud.com/51568
Lustre-commit: TBD (from
2ced1e0898aacd741c95c25d44350dfefa953853)
Fixes:
566edb8c43 ("LU-8582 target: send error reply on wrong opcode")
Test-Parameters: trivial testlist=sanity serverversion=2.12.9 env=ONLY=905
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I8fa50ec0f66afd9f24d562e0be57a416c04d8ba8
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51569
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Andreas Dilger [Wed, 5 Jul 2023 20:13:42 +0000 (14:13 -0600)]
LU-15235 tests: skip sanity/56od in interop
Sanity test_56oc and test_56od were using the btime_supported()
function to check it "lfs find" supported file birth time, but
this did not properly check whether the MDS supported this option.
Remove the btime_supported() check and just use the version, since
this has been around a few releases already.
Lustre-change: https://review.whamcloud.com/51580
Lustre-commit: TBD (from
8add332bda0c58d9908478b9263e8aea46edc135)
Fixes:
186b97e68abb ("LU-11971 utils: Send file creation time to clients")
Test-Parameters: trivial testlist=sanity serverversion=2.12.9 env=ONLY=56
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I0c85103c843d3b993e3e112bf5d0da976d3ebbe5
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51581
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Alex Deiter [Tue, 4 Jul 2023 10:30:57 +0000 (14:30 +0400)]
EX-7814 tests: fixed shell syntax error
Fixed a regression introduced in LU-16399.
Auster assumes that all scripts are written in bash,
so this commit removes hardcoded sh calls.
Test-Parameters: trivial testlist=parallel-scale-nfsv4
Fixes:
ea13f42719 ("LU-16399 tests: add subtests setup/cleanup records")
Signed-off-by: Alex Deiter <adeiter@tintri.com>
Change-Id: I20d136db3b763143df038d25a167eb84f646444f
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51556
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Minh Diep <mdiep@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Wei Liu [Mon, 26 Jun 2023 20:33:21 +0000 (13:33 -0700)]
EX-7758 test: Add sanity-compr.sh to run sanity with PFL layout
Add sanity-compr.sh to run sanity and sanityn with PFL layout
Also fix sanity subtests problem of 56ba,57b,65e,65g,65n,204e
Test-Parameters: trivial testlist=sanity-compr
Signed-off-by: Wei Liu <sarah@whamcloud.com>
Change-Id: Iefdc7757697629eb5c57d7694456249d62a2049e
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51577
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Yang Sheng [Thu, 29 Dec 2022 17:46:56 +0000 (01:46 +0800)]
LU-15934 lod: clear up the message
Print out the precise info while llog context error.
Lustre-change: https://review.whamcloud.com/49528
Lustre-commit:
9882d4e933fd8cdbc4a9bc8bf6b29655009f7e03
Signed-off-by: Yang Sheng <ys@whamcloud.com>
Change-Id: I492201cd3ae5eb39ad34f3a873d7bb346b52430f
Reviewed-by: Lai Siyao <lai.siyao@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51555
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Bobi Jam [Wed, 28 Jun 2023 16:51:25 +0000 (00:51 +0800)]
EX-6856 utils: add -Z option for 'lfs getstripe/find'
Add support for "lfs getstripe -Z" to get the last instantiated
component compression information.
Add support for "lfs find -Z <type>[:[+-]<level>]" to keep consistent
options with "lfs setstripe -Z".
Fixes:
093bd2f343 ("EX-6856 utils: add 'lfs find' support for compressed file")
Signed-off-by: Bobi Jam <bobijam@whamcloud.com>
Change-Id: Id3e788761656d05604bc9a72fb1e51c5f2a0ad3b
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51497
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Yang Sheng [Sat, 3 Jun 2023 18:47:30 +0000 (02:47 +0800)]
LU-15934 tests: add a test case for update llog
A test case to simulate the update llog corruption
situation. It replaces the catalog file with a
random data. The recovery of mdt will be blocked
if without the fixing patch.
Lustre-change: https://review.whamcloud.com/51208
Lustre-commit:
54301fe4f598eef5aebdbdb0c7f3dddea9541c4e
Fixes:
814691bcff ("LU-15934 lod: renew the update llog")
Signed-off-by: Yang Sheng <ys@whamcloud.com>
Change-Id: I0ade8d0ff33ddc06b622e5e67cf4b4775dfff129
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Lai Siyao <lai.siyao@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51570
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>