Whamcloud - gitweb
Chris Horn [Wed, 11 Sep 2024 16:42:24 +0000 (10:42 -0600)]
LU-14288 nodemap: Use nidmasks for IPv6 NIDs
Using nidmasks for nodemap ranges allows us to specify more than one
IPv6 NID in a range. In range_create(), we construct a string
representing a nidmask based on the specified NID and netmask. This
is passed to cfs_parse_nidlist(), and the resulting nidlist is stored
in lu_nid_range::rn_nidlist. cfs_match_nid() is used in range_find()
and range_search() to locate appropriate ranges.
Test-Parameters: trivial
Test-Parameters: testlist=sanity-sec env=FORCE_LARGE_NID=true,LOAD_MODULES_REMOTE=true
Signed-off-by: Chris Horn <chris.horn@hpe.com>
Change-Id: Ib1f60eda6fbc9d0214b6c63dcc8656eab3977a8b
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56184
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Serguei Smirnov <ssmirnov@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Patrick Farrell [Fri, 29 Nov 2024 22:27:04 +0000 (17:27 -0500)]
LU-18500 mdc: rename mdc_get_unused
It doesn't 'get' unused - it cancels them.
Actually, it cancels unused conflicting locks, but that
made the name too long and hopefully it's clear from the
signature.
Test-Parameters: trivial
Signed-off-by: Patrick Farrell <pfarrell@whamcloud.com>
Change-Id: I3f01f79a63069dfb019667ff4ca0d427e1699511
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57200
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: Lai Siyao <lai.siyao@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Bobi Jam [Tue, 26 Nov 2024 08:07:48 +0000 (16:07 +0800)]
LU-18488 utils: make lrc_synced usage intuitive
llapi_resync_comp::lrc_synced is used against intuitiveness in the
mirror resync code, this patch corrects it.
Test-Parameters: testlist=sanity-flr,sanity-pfl,sanity-flr
Test-Parameters: testlist=sanity-pfl,sanity-flr,sanity-pfl
Signed-off-by: Bobi Jam <bobijam@whamcloud.com>
Change-Id: I844dd3019b32b2a3746eb3b5b14c498ad7455270
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57137
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Patrick Farrell <pfarrell@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Sergey Cheremencev [Wed, 20 Nov 2024 17:08:15 +0000 (20:08 +0300)]
LU-12706 tests: sanity-quota_4a fix
Don't set force_sync for OST0000 as we are
checking inode limit that is not affected
by the OST usage. Forced sync at OST0000
might take some time to be finished and break
the logic of a test case.
Createmany creates files in a directory on MDT0,
so don't sync all mdts, only MDT0.
Test-Parameters: testlist=sanity-quota env=ONLY=4a,ONLY_REPEAT=200
Fixes:
b86c88383f ("LU-12706 tests: sanity-quota 4a sync timeout fix")
Signed-off-by: Sergey Cheremencev <scherementsev@ddn.com>
Change-Id: If411429d8a1e968ebd554242db4b47b0c9421bf6
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57088
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Andreas Dilger [Fri, 8 Nov 2024 23:35:55 +0000 (16:35 -0700)]
LU-17165 tests: stable count in recovery-small/141
The lock cancellation and fetching the lock count on the OST
is racy and can randomly be "0" or "23" either before or after
the OST is restarted. Wait until the count has stabilized to
ensure the test can pass consistently.
Test-Parameters: trivial testlist=recovery-small
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: Ib6d6fdeb721d6ff85a366e58c621ed7b883ebbe5
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56945
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Tested-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Etienne AUJAMES [Fri, 8 Nov 2024 15:47:12 +0000 (16:47 +0100)]
LU-17792 tests: fix replay-single 135 "not in REPLAY_LOCKS"
Fix test replay-single 135:
Error: 'import is not in REPLAY_LOCKS state
Wrong OST was selected for object creation due to ZFS replay-barrier:
it set the OSD to read-only and then the MDT QOS discard it.
Test-Parameters: trivial
Test-Parameters: fstype=zfs testlist=replay-single
Test-Parameters: fstype=zfs testlist=replay-single
Test-Parameters: fstype=ldiskfs testlist=replay-single
Test-Parameters: fstype=ldiskfs testlist=replay-single
Test-Parameters: fstype=zfs testlist=replay-single env=ONLY=135,ONLY_REPEAT=150
Signed-off-by: Etienne AUJAMES <eaujames@ddn.com>
Change-Id: Ia5e1049c1fb75d99f669e38b2ac55ea6de116ddd
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56935
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Lai Siyao <lai.siyao@whamcloud.com>
Reviewed-by: Alex Deiter <adeiter@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Shaun Tancheff [Fri, 8 Nov 2024 10:42:01 +0000 (17:42 +0700)]
LU-18433 llite: remove unused ci_target_is_zfs check
The check is not longer used and can safely removed.
HPE-bug-id: LUS-12597
Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: If3cb2a11b773f19f53de905be84ad32a92bb47c9
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56932
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Patrick Farrell <pfarrell@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Andreas Dilger [Tue, 5 Nov 2024 21:01:14 +0000 (14:01 -0700)]
LU-17471 osd-ldiskfs: brw_stats symlink module option
Add a module option to symlink /proc/fs/lustre/osd-*/*/brw_stats
to /sys/kernel/debug/*/*/brw_stats for backward compatibility
for systems that need this for monitoring tools that depend on the
old /proc pathname instead of always creating it at startup.
Otherwise, "lctl get_param osd-ldiskfs.*.brw_stats" will display
the stats for both the original and symlinked parameter file,
which can confuse other monitoring tools.
To enable the /proc/.../brw_stats symlink, add the following line
into /etc/modprobe.d/lustre.conf before loading modules/mounting:
options osd_ldiskfs symlink_brw_stats=1
By default the symlink is not created, since newer tools should
be using the /sys/kernel/debug/.../brw_stats parameter file.
Remove sanity test_0f that is verifying the old parameter path,
since it is just too messy to get the interoperability correct.
Test-Parameters: trivial
Fixes:
47ccacd58d ("LU-17471 osd: add symlink for brw_stats")
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: Ib61630cf2bc89b84af438c811754a85e403ebbe5
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56917
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Emoly Liu <emoly@whamcloud.com>
Reviewed-by: Hongchao Zhang <hongchao@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Bobi Jam [Thu, 7 Nov 2024 17:00:46 +0000 (01:00 +0800)]
LU-13305 osc: rid of an invalid assertion
When osc_cache_truncate_start() race with ldlm lock blocking ast,
they would access the same extent, and the ext would has oe_hp
set by osc_cache_writeback_range() from the data flush caused by
ldlm lock canceling.
So the EASSERT(!ext->oe_hp && !ext->oe_urgent, ext) is invalid in
this case.
Signed-off-by: Bobi Jam <bobijam@whamcloud.com>
Change-Id: I15514c54af598f2a130c0ac0a3f356468b4cdfce
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56914
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: Patrick Farrell <pfarrell@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Mikhail Pershin [Wed, 6 Nov 2024 18:26:57 +0000 (21:26 +0300)]
LU-18427 script: allow llog removal scripts on ZFS
Make both scripts working also for ZFS mounts
Signed-off-by: Mikhail Pershin <mpershin@whamcloud.com>
Change-Id: I713548caa2f11af334c7bd10c07ecc81c387f5e1
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56906
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: Olaf Faaland <faaland1@llnl.gov>
Andreas Dilger [Mon, 4 Nov 2024 21:59:27 +0000 (14:59 -0700)]
LU-17769 tests: print subtest iter in test banner
Print the subtest iteration number/duration in the subtest banner
so that it is more visible across all of the nodes. Otherwise, it
is only printed via "echo" into the full test script run log, and
is not shown in most of the per-subtest logs in Maloo.
Test-Parameters: trivial testlist=sanity env=ONLY=1,ONLY_REPEAT=10
Fixes:
e16e3d46 ("LU-13169 tests: add ONLY_REPEAT parameter to repeat subtests")
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: Ic13196e9bc17a51a1af7a0b5aecaafe3c5349a4c
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56883
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Li Dongyang [Fri, 1 Nov 2024 06:55:36 +0000 (17:55 +1100)]
LU-18392 tests: hold group locks in recovery-small/160
recovery-small/160 starts 10 threads and holding group locks
for 20s.
The osp destroy retries could actually happen on ofd after the 20s
delay, and make those rpc waiting for OST commit while increase
destroys_in_flight.
Make sure we hold on to the group locks while checking for
destroys_in_flight, and add additional check to make sure
the object destroy actually done after releasing the group lock.
Do not cast the transno to 32bit unsigned in osp_sync_interpret(),
which could produce a confusing transno in debug log.
Test-Parameters: trivial testlist=recovery-small env=ONLY=160,ONLY_REPEAT=100
Fixes:
27f787daa7 ("LU-15737 ofd: don't block destroys")
Signed-off-by: Li Dongyang <dongyangli@ddn.com>
Change-Id: I2a6ac9700a3e79e9930cee905c1da73da948ba1a
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56846
Reviewed-by: Alexander Boyko <alexander.boyko@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Etienne AUJAMES [Fri, 25 Oct 2024 10:10:55 +0000 (12:10 +0200)]
LU-18401 utils: check_iam, support more iam records types
This patch fix check_iam to support different keysizes (the entries
offset was wrong for keysize other than fid size).
This adds callbacks to print different type of records for different
IAM files.
The type can be specified with the option "-t". If not, the type is
guess from the file name.
If the type is not supported, they keys and records will be dump in
hexadecimal format.
Here the following type of IAM files supported:
- oi.16.*: FID/inode mapping (already supported):
$ check_iam -r /tmp/oi.16.1
[0x200000401:0x448:0x0] 1157/
3251524137
[0x200000401:0x449:0x0] 1158/
3251524138
...
- lfsck_namespace: LFSCK namespace trace file:
$ check_iam -r /tmp/lfsck_namespace_01
[0:0x0:0x0] 0x0 ()
[0x200000401:0x65:0x0] 0x1 (CHECK_LINKEA)
- lfsck_layout: LFSCK layout trace file:
$ check_iam -r /tmp/lfsck_layout_01
{ parent: [0:0x0:0x0], comp_id: 0, ea_off: 0 } { cfid: [0:0x0:0x0],
ost_idx: 0 }
- nodemap: nodemap configuration:
$ check_iam -r /tmp/nodemap
{ id: 0x0, type: global(15) } { is_active: 1 }
{ id: 0x1, type: cluster(1), subtype: cluster } { name: toto, flag:
0xb8, flag2: 0x0, squash_uid: 65534, squash_gid: 65534, squash_projid:
65534}
{ id: 0x1, type: cluster(1), subtype: roles } { roles: 0xffffffc8}
{ id: 0x1, type: range(2) } { start_nid: 192.168.1.128@tcp,
end_nid: 192.168.1.130@tcp }
Update regression test: conf-sanity 134
Test-Parameters: trivial
Test-Parameters: testlist=conf-sanity
Test-Parameters: testlist=conf-sanity
Test-Parameters: testlist=conf-sanity env=ONLY=134,ONLY_REPEAT=20
Fixes:
99d1f12c7 ("LU-15581 utils: add check_iam util")
Signed-off-by: Etienne AUJAMES <eaujames@ddn.com>
Change-Id: Ic2cae2cbbf1c29daa661b1916d6321b6d87494dd
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56790
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Artem Blagodarenko <ablagodarenko@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Andreas Dilger [Mon, 14 Oct 2024 23:23:26 +0000 (17:23 -0600)]
LU-14520 ldlm: reduce ldlm_lock memory usage
Reduce the size of struct ldlm_lock so that it can fit into a 512-byte
slab allocation. The primary reduction in memory usage is from moving
struct l_ost_lvb into the union for IBITS locks where it is needed,
while it was previously part of the common strucutre. Add assertions
to verify that the l_ost_lvb field is only used for IBITS lock type.
Additionally, shrink some of the other fields in memory to bitfields
that only use the required bits, and pack them together to save space.
These are read-mostly fields for the lifetime of the lock and give
some space to add fields in the future before hitting 512 bytes again.
ldlm_lock BEFORE PATCHED
size: 536, members: 36 size: 496, members: 35
sum used: 536, holes: 0 sum used: 490, holes: 2, sum holes: 6
bit holes: 0 bit holes: 1, sum bit holes: 10
Also reduce struct ldlm_resource by a few bytes, so that 23 can fit
into a single 4096-byte slab instead of the previous 22 in one slab.
ldlm_resource BEFORE PATCHED
size: 184, members: 14 size: 176, members: 14
padding: 7, holes: 0 sum used: 171, holes: 1, sum holes: 5
bit holes: 0 bit holes: 1, sum bit holes: 4
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I7f017a852228f8c9090e890f2766707fdbde2abd
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56685
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-by: Yang Sheng <ys@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Andreas Dilger [Sat, 9 Mar 2024 21:54:27 +0000 (14:54 -0700)]
LU-12597 tests: return comma-separated osts_nodes()
Start to return comma-separated OSTs list from osts_nodes(),
to avoid the redundant calling of comma_list() for each user.
Add the tgts_nodes() helper to print combined MDT and OST nodes to
avoid duplicate nodes vs. separate mdts_nodes() + osts_nodes().
Fix the few places that do not call comma_list() on osts_nodes()
output afterward, and code style in sanity-sec test_31.
Fix a minor bug in the error handling of sanity check_stats() where
it was calling "osts-nodes" instead of "osts_nodes".
Later patches will clean up all of the callers of osts_nodes,
but there are too many places it is used to do in a single patch.
Fixes:
f0324c5c2f ("LU-14992 tests: sanity/replay-vbr mkdir on MDT0")
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I7ae3278321e7552dc2afd5fbb9f48033af3ebbe5
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56635
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>
Ronnie Sahlberg [Thu, 3 Oct 2024 03:31:45 +0000 (23:31 -0400)]
LU-4922 cfs_str2mask: Handle passing in a blank string better
Do not revert the flags to min_mask if passed an empty string
to the function.
Remove exclusion of the changelog_mask parameter from test_133g
as it no longer needs to be skipped.
The change initializes the new mask to the existing mask and only
re-sets it to use min_mask iff the first token in the string is a
'-' or '+'. This fixes a bug where if you were to pass an empty
string to this function it would reset the flags to min_mask.
With this change the flags will be left unchanged.
The only way curently for a user to invoke this function is via
the set_param param command.
That command does check for and will abort if the user tries to
specify "" before calling into cfs_str2mask() thus preventing the
issue in LU-4922 from triggering.
Signed-off-by: Ronnie Sahlberg <rsahlberg@whamcloud.com>
Change-Id: Ibe43509cbdec250e395e35648d399167026a1a14
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56619
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Ronnie Sahlberg [Thu, 19 Sep 2024 04:08:25 +0000 (00:08 -0400)]
LU-18231 obd: change obd_abort_mdt_recovery into OBDF_ABORT_MDT_RECOVERY
Change the use of the odb_abort_mdt_recovery bitfield into a bit in
the ofd_flags bitmap and use atomic bit set/clear/test
operations on it.
No logical changes to the code and no changes to locking.
Test-Parameters: trivial
Signed-off-by: Ronnie Sahlberg <rsahlberg@whamcloud.com>
Change-Id: I827d8eb32b9dc79fb16d76f33bb7169abf228e8b
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56417
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Ronnie Sahlberg [Thu, 19 Sep 2024 03:56:03 +0000 (23:56 -0400)]
LU-18231 obd: change obd_abort_recovery into OBDF_ABORT_RECOVERY
Change the use of the odb_abort_recovery bitfield into a bit in
the ofd_flags bitmap and use atomic bit set/clear/test
operations on it.
No logical changes to the code and no changes to locking.
Test-Parameters: trivial
Signed-off-by: Ronnie Sahlberg <rsahlberg@whamcloud.com>
Change-Id: I1ff7f890a7ea67d2609ac3cb887a874e7ae6377b
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56416
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Ronnie Sahlberg [Thu, 19 Sep 2024 03:45:24 +0000 (23:45 -0400)]
LU-18231 obd: change obd_recovering into OBDF_RECOVERING
Change the use of the odb_recovering bitfield into a bit in
the ofd_flags bitmap and use atomic bit set/clear/test
operations on it.
No logical changes to the code and no changes to locking.
Test-Parameters: trivial
Signed-off-by: Ronnie Sahlberg <rsahlberg@whamcloud.com>
Change-Id: I031da297c4c6d0325851ddeac0768ea21d88e25f
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56415
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Ronnie Sahlberg [Thu, 19 Sep 2024 02:48:46 +0000 (22:48 -0400)]
LU-18231 obd: change obd_set_up into OBDF_SET_UP
Change the use of the odb_set_up bitfield into a bit in
the ofd_flags bitmap and use atomic bit set/clear/test
operations on it.
No logical changes to the code and no changes to locking.
Test-Parameters: trivial
Signed-off-by: Ronnie Sahlberg <rsahlberg@whamcloud.com>
Change-Id: I6b2b691e7cac733788fe239f9fc8ca5f8e749891
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56414
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Ronnie Sahlberg [Thu, 19 Sep 2024 02:38:43 +0000 (22:38 -0400)]
LU-18231 obd: change obd_attach into ODBF_ATTACH
Change the use of the odb_attach bitfield into a bit in
the ofd_flags bitmap and use atomic bit set/clear/test
operations on it.
No logical changes to the code and no changes to locking.
Test-Parameters: trivial
Signed-off-by: Ronnie Sahlberg <rsahlberg@whamcloud.com>
Change-Id: I2f360f6074e2078fa20b770b5dc2abc173766c9f
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56413
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Ronnie Sahlberg [Thu, 19 Sep 2024 02:24:42 +0000 (22:24 -0400)]
LU-18231 obd: Add a bitmap for the flags
We will use this bitmap and convert the current bitfields
into bits that are set/cleared/tested using atomic bit operations.
Signed-off-by: Ronnie Sahlberg <rsahlberg@whamcloud.com>
Change-Id: I59ee4621926d0bd79ed0187f6058b888e40315f4
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56412
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: Andreas Dilger <adilger@whamcloud.com>
Marc Vef [Wed, 18 Sep 2024 13:53:23 +0000 (15:53 +0200)]
LU-9936 utils: Improve ldiskfs_write_dd() writing mount data
Writing the mount data to a file used buffered stream I/O missing a
flush operation with incomplete error handling.
This patch replaces buffered stream I/O with the Unix I/O API and adds
error handling.
Signed-off-by: Marc Vef <mvef@whamcloud.com>
Change-Id: Ia7dfc186b1c6f581dee461bd277f07dcc2eabafa
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56408
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Mikhail Pershin <mpershin@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Marc Vef [Tue, 17 Sep 2024 00:08:58 +0000 (02:08 +0200)]
LU-10249 utils: Fix lustre_rsync program options
The lustre_rsync program options were incomplete and presented
incorrectly, e.g., the -r option.
This patch improves the program options. It adds a short and long
usage message in accordance to the Lustre documentation replacing the
previous usage message. Moreover, a check to specify the mdt device
was added as it was missing. Other small changes were added to improve
user interaction.
Signed-off-by: Marc Vef <mvef@whamcloud.com>
Change-Id: I871a218381b371e61f0b3a258a4773d3e755101e
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56407
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>
Frederick Dilger [Thu, 12 Sep 2024 22:46:38 +0000 (16:46 -0600)]
LU-17501 libcfs: fix CPT NUMA core exclusion handling
The cfs_cpt_unset_node_core() function was only setting the offset
a single time for the first node, and using the same offset for all
other nodes.
cpu_pattern='C[0]' was only removing the first core on the first
NUMA node when it should be removing a core on every NUMA node.
It produced an output like:
cpu_partition_table=
0 : 1
1 : 2 3
2 : 4 5
when it should have been:
cpu_partition_table=
0 : 1
1 : 3
2 : 5
Signed-off-by: Frederick Dilger <fdilger@whamcloud.com>
Change-Id: I22e1fe1aa73e413cf9c32562ec96f0cf4bd16fe5
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56347
Tested-by: Maloo <maloo@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Andrew Perepechko <andrew.perepechko@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Chris Horn [Fri, 6 Sep 2024 18:10:05 +0000 (12:10 -0600)]
LU-18210 utils: Fix issues with enhanced 'lfs check'
lfs check takes an optional path argument that should restrict its
output to the targets that are related to the specified file system.
To determine which MGC should be shown the NID embedded in the OBD
name is compared against a NID that is parsed from the mount command
line. There are a few problems with this code:
1. The NID is parsed from the mount command by looking for a ':', but
IPv6 NIDs can contain this character.
2. It doesn't handle case where multiple NIDs are listed on mount
command separated by commas. e.g. "1@kfi,2@kfi:3@kfi,4@kfi:/lustre"
will parse to "1@kfi,2@kfi" which is not a valid NID.
3. Even in the case where we have just two NIDs separated by ':', it
assumes that the first one will be the one we are connected to.
To resolve these issues get_root_path_slow() will now store the entire
NID string used at mount time (after it has been processed by
convert_hostnames()) in the struct root_cache::nid. do_target_check()
will then iterate over each NID in the string using a new nidstrings
function, cfs_nidstr_find_delimiter(). This function contains logic
that was formerly in convert_hostnames(). This should ensure that
each MGS NID is checked.
convert_hostnames() is updated to use cfs_nidstr_find_delimiter() as
well.
Fixes:
6301419509 ("LU-17367 utils: improved hostname and IPv6 NID support")
Fixes:
f5ca6853b8 ("LU-16076 utils: enhance 'lfs check' command")
Test-Parameters: testlist=sanityn env=ONLY=113,FORCE_LARGE_NID=true,LOAD_MODULES_REMOTE=true
Signed-off-by: Chris Horn <chris.horn@hpe.com>
Change-Id: I478c66d77a2b241b910324210475d61b3786c986
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56286
Tested-by: Maloo <maloo@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Reviewed-by: Feng Lei <flei@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Maximilian Dilger <mdilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
James Simmons [Sun, 29 Sep 2024 19:06:53 +0000 (15:06 -0400)]
LU-15420 llite: cleanup ll_lookup_it()
Newer kernels use fscrypt_prepare_new_inode() to enquire if the
inode is really encrypted. The current Lustre stack is not
setup for this. Much of the fscrypt handling happens at the
top of the basic VFS operation hooks. Rework the stack to
move this handling deeper into tha stack to the level of the
function ll_lookup_it(). This change also cleans up the code
greatly.
Change-Id: I803751759aa954403dd802f7277e870c1f9cd6da
Signed-off-by: James Simmons <jsimmons@infradead.org>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56233
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Shaun Tancheff [Fri, 6 Sep 2024 16:34:10 +0000 (23:34 +0700)]
LU-18184 llog: llog_process() with struct llog_process_data
BUG: KASAN: global-out-of-bounds in \
llog_process_or_fork+0xd0e/0xd60 [obdclass]
Calling llog_process 4th argument must be either NULL or
struct llog_process_data
Test-Parameters: trivial testlist=sanity env=ONLY="60a"
Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: Iff4848365b5123df25d90811412a43307a115214
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56213
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: Etienne AUJAMES <eaujames@ddn.com>
Frederick Dilger [Thu, 29 Aug 2024 00:46:18 +0000 (18:46 -0600)]
LU-4315 doc: updating ls-tu man page style
Updating files to match the new code style for Lustre manual pages as
enforced by 'contrib/scripts/checkpatch-man.pl'.
This also includes other changes like removing < > or { } for singular
required arguments and placing [ ] around optional ones as well as
making all arguments CAPITAL and italicized, literal arguments are
bolded. Lines over 80 characters should be split at the natural line
end rather than the word that goes over the limit as fewer lines will
need to be modified when making changes if each sentence is on it's
own line.
Only using features that appear in groff 1.22.3 as this is the
available version is CentOS 8.
Checked files:
- lshowmount.8
- lustre.7
- lustreapi.7
- lustre_routes_config.8
- lustre_routes_conversion.8
- lustre_rsync.8
- mkfs.lustre.8
- mount.lustre.8
- mount.lustre_tgt.8
- nids.5
- plot-llstat.8
- routerstat.8
- tunefs.lustre.8
Test-Parameters: trivial
Signed-off-by: Frederick Dilger <fdilger@whamcloud.com>
Change-Id: Ib932b582273ef567b48e504af2d5437389330dd3
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56191
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>
Emoly Liu [Tue, 27 Aug 2024 11:36:22 +0000 (19:36 +0800)]
LU-18114 lctl: split "lctl net_delay_*" group into subcommands
Split "lctl net_delay_*" command group into subcommands, e.g.
"lctl net_delay_add" to "lctl net_delay add".
Also, sanity-lnet.sh is modified to verify this patch.
Test-Parameters: trivial testlist=sanity-lnet
Signed-off-by: Emoly Liu <emoly@whamcloud.com>
Change-Id: I64fa95155f93d8a5d844f9e14673acaea5f4ee60
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56164
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Chris Horn <chris.horn@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Emoly Liu [Tue, 27 Aug 2024 11:30:32 +0000 (19:30 +0800)]
LU-18114 lctl: split "lctl net_drop_*" group into subcommands
Split "lctl net_drop_*" command group into subcommands, e.g.
"lctl net_drop_add" to "lctl net_drop add".
Also, sanity-lnet.sh is modified to verify this patch.
Test-Parameters: trivial testlist=sanity-lnet
Signed-off-by: Emoly Liu <emoly@whamcloud.com>
Change-Id: I5094328435e5b93a8a7311f26ec77275211e0517
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56154
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Chris Horn <chris.horn@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Emoly Liu [Tue, 27 Aug 2024 11:26:08 +0000 (19:26 +0800)]
LU-18114 changelog: split "lctl changelog_*" group into subcommands
Split "lctl changelog_*" command group into subcommands, e.g.
"lctl changelog_register" to "lctl changelog register".
Also, test-framework is modified to verify this patch.
Signed-off-by: Emoly Liu <emoly@whamcloud.com>
Change-Id: Ifd2c92ab3173507084342b7b575c2506e0e4bb9a
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56133
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Frederick Dilger <fdilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Emoly Liu [Tue, 27 Aug 2024 11:22:02 +0000 (19:22 +0800)]
LU-18114 snapshot: split "lctl snapshot_*" group into subcommands
Split "lctl snapshot_*" command group into subcommands, e.g.
"lctl snapshot_create" to "lctl snapshot create".
Also, lsnapshot in test-framework.sh is modified to verify
this patch.
Test-Parameters: trivial fstype=zfs testlist=sanity-lsnapshot
Signed-off-by: Emoly Liu <emoly@whamcloud.com>
Change-Id: I30bf6f8a853f57bd1a14d5acb2b5aa4b3d49be71
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56120
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Frederick Dilger <fdilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Emoly Liu [Thu, 22 Aug 2024 03:07:06 +0000 (11:07 +0800)]
LU-18114 barrier: split "lctl barrier_*" group into subcommands
Split "lctl barrier_*" command group into subcommands, e.g.
"lctl barrier_freeze" to "lctl barrier freeze".
Also, sanity.sh test_801c is modified to verify this patch.
Signed-off-by: Emoly Liu <emoly@whamcloud.com>
Change-Id: Ibccc0206bae6ef0fa8efd744b46c7f864aa42cbe
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56107
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Frederick Dilger <fdilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Sebastien Buisson [Tue, 20 Aug 2024 15:27:32 +0000 (17:27 +0200)]
LU-18158 sec: hint client in case of failed reint open
In case of failed file open, the Lustre client is already able to send
alternative supplementary groups to the server using a retry
mechanism. If the first attempt fails, then the failure reply from the
server includes a hint with a possible supplementary group and ACLs.
The client then retries with an alternative supplementary group,
selected using information hinted in the reply from the MDT.
The same mechanism can be implemented for all reint open cases.
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: Ic5e309cfbdb6d388397e3e251b2d007a612fd214
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56098
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Lai Siyao <lai.siyao@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Frederick Dilger [Wed, 26 Jun 2024 22:16:56 +0000 (16:16 -0600)]
LU-17501 libcfs: allow CPT exclude list for cores
Allow a relative CPU core exclude list to be specified when
constructing the CPT distribution instead of having to specify all of
the CPU cores except the ones that should be avoided. The CPU core
numbers are the relative core numbers to each NUMA node, such that
for each node, the Mth to Nth cores are excluded. The exclude list
is set by specifying 'C' in /etc/modprobe.d/lustre.conf for the CPT
number, with either a comma-separated list or a range of CPU cores:
options libcfs cpu_pattern="N C[0-3]"
or:
options libcfs cpu_pattern="C[0,1,2,3]"
Both options are equivalent. This would exclude cores 0-3 on each NUMA
node from use by LNet and Lustre.
It isn't possible to specify both include and exclude lists at the
same time, but it doesn't really make sense to do this anyway.
Signed-off-by: Frederick Dilger <fdilger@whamcloud.com>
Change-Id: Ief5f36e0bbc49865317cee199c91c9b4a350c418
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55544
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Andrew Perepechko <andrew.perepechko@hpe.com>
Reviewed-by: Serguei Smirnov <ssmirnov@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Sebastien Buisson [Wed, 19 Jun 2024 14:15:43 +0000 (16:15 +0200)]
LU-17961 sec: add server_upcall rbac role
The purpose of the new server_upcall rbac role is to control whether
clients use the server side defined identity upcall. When set, clients
do comply with the server side identity upcall. When not set, clients
are leveraging the special INTERNAL identity upcall, which means
servers trust supplementary groups as provided by the clients.
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: I01dcedad5da0e175aa7b8d187f2affd34d933e39
Was-Change-Id: I39a69904ce4709eacf6f08173d3cfe42e247b5bd
Reviewed-by: Lai Siyao <lai.siyao@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55475
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Sebastien Buisson [Thu, 10 Feb 2022 16:14:02 +0000 (17:14 +0100)]
LU-17961 sec: support supplementary groups from client
The usual way to support more than 2 supplementary groups is to
resort to the server side's identity upcall. This identity upcall
retrieves all user's credentials, including all supplementary groups,
and stores them in cache. But this access to user's credentials from
server side is not always an option.
As an alternative to the server side's identity upcall, we implement
a retry mechanism for intent locking. The client can provide at most
2 supplementary groups in the request sent to the MDS, but sometimes
it does not know which ones are useful for credentials calculation on
server side. For instance in case of lookup, the client does not have
the child inode yet when it sends the intent lock request.
Hopefully, the server can hint at the useful groups, by putting in the
request reply the target inode's GID, and also its ACL. So, in case
the server replies -EACCES, we check the user's credentials against
those, and try again the intent lock request if we find a matching
supplementary group.
On server side, we add an INTERNAL dedicated, separate upcall cache.
This makes it distinct from the regular identity upcall cache that can
be defined to use any upcall including NONE, per an MDT side tuning.
It implements a particular behavior which does not involve an actual
upcall, but instead the cache is filled with supplementary groups read
from the client request, cumulatively at each request.
Dedicated mdt-side tunables are created to configure the entry expiry
time and the acquire expire time for INTERNAL, as well as a tunable to
flush the INTERNAL upcall cache.
A problem with the 'runas' utility was found during testing. If no
supplementary group is provided via the '-G' option, then it needs at
least to set the given GID as a supplementary group. Otherwise the
supplementary groups of the invoking user would be silently inherited.
For instance, if root user calls 'runas -u 500 -g 500 $CMD', we must
not execute $CMD with UID:GID 500:500 and supplementary group 0, as
it would make the user executing $CMD part of the superuser group.
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: I4608bb766a70ca12a2142a0e2687813f3a4b9100
Was-Change-Id: I4b2298cf5c3b400e7a1436384653ce01a462a2e0
Was-Change-Id: I4bcc7e07a4f4886c5994d17cbef72ea09eb1be1d
Was-Change-Id: If55182ca29f37f2a783fdb88ba46512944a61c47
Was-Change-Id: I72cdfc6b76bfd9c2832a5d5e5f72c3aa45cf1efe
Was-Change-Id: Ie7088bdbfcae396602b59e2ab07fbfbbb14d96af
Was-Change-Id: I2af9c3964978c842dac8f70ad814adb529dff39f
Was-Change-Id: I0267182fbfa646de40ac62f832e89fbfd8477822
Was-Change-Id: Ifad125815318f07b332c6323feffbd216dad6144
Was-Change-Id: I29f1fa5744659e6095203e860267c6ed02268943
Reviewed-by: Lai Siyao <lai.siyao@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55474
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Lei Feng [Tue, 6 Jun 2023 11:47:05 +0000 (19:47 +0800)]
LU-10499 tests: disable metadata_csum_seed for pcc cache device
latest e2fsprogs enable metadata_csum_seed feature when mkfs.ext4
a device, which is used in pcc test as a cache device. Such a ext4
fs cannot be mounted on an old kernel of el7. So disable this
feature for pcc cache device if it is detected in sanity-pcc test.
EX-7596 tests: don't fail if metadata_csum_seed unset
Fix logic in the sanity-pcc cache filesystem setup. With mke2fs
1.47.0-wc1 it enabled metadata_csum_seed unconditionally, but it
caused problems on el7.9 kernels. In 1.47.0-wc2 it disabled that
feature, caused the check for removing the feature to fail.
Since metadata_csum_seed has been available since 1.44.2 it
shouldn't be a problem to force it off duing mke2fs.
Was-Change-Id: Ic04ab4043981dc9b5c32e01c4aa85be343e3f3f8
EX-6826 tests: wait before unmounting pcc device if busy
wait at most 10 seconds before unmounting pcc device
if it is busy.
Was-Change-Id: I77ec018d33d14af99bdc5d5c5c94c8fa0dafdb61
EX-bug-id: EX-7596 EX-6826
Test-Parameters: trivial testlist=sanity-pcc clientdistro=el8.10
Signed-off-by: Lei Feng <flei@whamcloud.com>
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I2ef3ff27b49fb479ec348b742cf614a43321813b
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/54486
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Patrick Farrell [Tue, 4 Apr 2023 14:17:13 +0000 (10:17 -0400)]
LU-15198 llite: Use percpu_env for tiny_write_end
The percpu cl_env can be used in situations where it is
known the caller will not be rescheduled. This is true for
ll_tiny_write_end, and switching to the percpu env gives
a performance improvement of a little over 7%.
dd, write size 8 bytes
Before:
14.3 MiB/s
After:
15.4 MiB/s
Signed-off-by: Patrick Farrell <pfarrell@whamcloud.com>
Change-Id: Iadeabf145416d80f6cb063ccdc8bccb4b4b214a1
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/45477
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Aurelien Degremont <adegremont@nvidia.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Arshad Hussain [Tue, 15 Oct 2024 11:02:42 +0000 (07:02 -0400)]
LU-6142 tests: Use correct type for MGS
When checking for MDS backend do use 'mds1_FSTYPE'
instead of mgs_FSTYPE which is not defined
Test-Parameters: trivial
Fixes:
3070ca9b1 (LU-4684 tests: enable racer directory migration)
Signed-off-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Change-Id: I11ae6956a03be9a076b7a5da72e9efc672230bdb
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56695
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Arshad Hussain [Wed, 2 Oct 2024 09:04:33 +0000 (05:04 -0400)]
LU-6142 tests: Use correct target/d* name under init_src
This patch fixes init_src() calling /tmp/target/d*
with incorrect filename.
Test-Parameters: trivial testlist=lustre-rsync-test
Signed-off-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Change-Id: Iac5865b3b232e5897eba5ac994fa318ecb35d2d5
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56565
Reviewed-by: Alex Deiter <adeiter@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
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>
Timothy Day [Sat, 7 Sep 2024 21:16:53 +0000 (17:16 -0400)]
LU-6142 misc: consolidate license files in LICENSES/
This patch is solely meant to clarify how Lustre is
licensed. It doesn't not alter the licensing itself in
anyway.
Consolidate the scattered license files in the LICENSES/
directory at the root of the Lustre tree. Add missing
license files for BSD-2-Clause and LGPL-2.1. This mimics
the Linux kernel - each file in the tree gets annotated
with SPDX text indicating its license and readers refer
to LICENSES/ and COPYING for details.
The COPYING file now clearly reflects that the Lustre
kernel modules, as a whole, are GPLv2. The remaining
components are governed by their own GPLv2 compatible
licenses annotated in the individual files.
Copying the license-rules.rst from Linux and add a note
that clarifies that these refer explicitly to the kernel
modules.
Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: Iee64881f6fa5f41e4c426f4ebe941fba7ddd31a9
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56294
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Patrick Farrell [Fri, 12 Jul 2024 15:57:30 +0000 (11:57 -0400)]
LU-13814 clio: rename pvec to cdp
Pvec is an older naming convention that sort of matches a
convention used in the kernel, but is really starting to
feel odd as a local variable name for cl_dio_pages.
Rename accordingly.
Test-Parameters: trivial
Signed-off-by: Patrick Farrell <patrick.farrell@oracle.com>
Change-Id: I375b80e4e50dcb2aa7c640df32a8fe896e5fc082
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/52492
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: Sebastien Buisson <sbuisson@ddn.com>
Patrick Farrell [Fri, 12 Jul 2024 15:56:14 +0000 (11:56 -0400)]
LU-13814 clio: rename ll_dio_pages to cl_dio_pages
ll_dio_pages was originally mostly used in the llite layer,
but its usage is now expanding throughout clio.
Rename it accordingly.
Test-Parameters: trivial
Signed-off-by: Patrick Farrell <patrick.farrell@oracle.com>
Change-Id: Id52ded6231510bb16eaf98b08f2eb2146b7ac582
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/52102
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Qian Yingjin <qian@ddn.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Patrick Farrell [Fri, 23 Feb 2024 16:23:57 +0000 (11:23 -0500)]
LU-13814 llite: add to/from to ll_dio_pages
ll_dio_pages is the main way we package pages for a DIO, so
as we work on removing cl_page for DIO, we need to put some
of the info in this struct.
This puts the 'to, from' page offsets for incomplete pages
in the package. This works because all pages except the
first and the last must be complete (the first and last can
be the same page).
Test-Parameters: trivial
Signed-off-by: Patrick Farrell <patrick.farrell@oracle.com>
Change-Id: I0ae4d617cb2f1310ae5981a9f9eb1480d13e1054
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/52101
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Qian Yingjin <qian@ddn.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Patrick Farrell [Fri, 23 Feb 2024 16:23:27 +0000 (11:23 -0500)]
LU-13814 clio: transient page related cleanups
Add a few more asserts that transient pages are never
passed to certain functions and remove one unused
declaration.
This series has removed a decent bit of code and
bookkeeping activity from the DIO path, even without
getting to the much bigger wins related to removing
cl_page for DIO.
This gets us about a 17% improvement in DIO
performance - note this is a very different node
from the one which gave us 18 GiB/s two years ago.
ior --posix.odirect -w -r -t 256M -b 64G
Without series:
8.5 GiB/s DIO write
9.6 GiB/s DIO read
With series:
10.1 GiB/s DIO write
11 GiB/s DIO read
Signed-off-by: Patrick Farrell <patrick.farrell@oracle.com>
Change-Id: Ic90bd349a1ded8c1484dc8be29418adb8f229026
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/52088
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Alex Zhuravlev [Wed, 20 Nov 2024 20:28:55 +0000 (15:28 -0500)]
LU-18468 llapi: always truncate mirrors on resync
When mirrors are synced, all mirrors should be truncated to
match the size of the source/primary mirror. This was
skipped if the size was unaligned, but that is a mistake.
Test-Parameters: testlist=sanity-flr,sanity-flr,sanity-flr
Test-Parameters: testlist=sanity-pfl,sanity-pfl,sanity-pfl
Signed-off-by: Patrick Farrell <pfarrell@whamcloud.com>
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: I767a1b3ef58c855f57967228d37b04fa0ab87e57
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57090
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Zhenyu Xu <bobijam@hotmail.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Andreas Dilger [Thu, 14 Nov 2024 22:03:43 +0000 (15:03 -0700)]
LU-18354 tests: avoid sanity/136 OOM on ZFS servers
Creating 150k files in sanity test_136 is causing OOM issues on
ZFS servers. I'm not sure what might be causing that, but it is
disruptive to all patch review testing. Rather than stop testing
on ZFS it is better to flush memory periodically on the MDS so the
test can continue to test the intended changelog functionality.
Test-Parameters: trivial
Test-Parameters: testlist=sanity env=ONLY=136,SLOW=yes,ONLY_MINUTES=60 fstype=zfs
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I4856d80a911eebcfcdaff2d2a1c91ef49645f0b4
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57036
Reviewed-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Reviewed-by: Olaf Faaland <faaland1@llnl.gov>
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>
Emoly Liu [Sun, 10 Nov 2024 04:35:51 +0000 (12:35 +0800)]
LU-14094 tests: give zfs more wait time to unlink
In sanity.sh test_311, give zfs more wait time to unlink more
files as expected.
Test-Parameters: trivial fstype=zfs testlist=sanity env=ONLY=311,ONLY_REPEAT=200
Test-Parameters: trivial fstype=zfs testlist=sanity env=ONLY=311,ONLY_REPEAT=200
Test-Parameters: trivial fstype=zfs testlist=sanity env=ONLY=311,ONLY_REPEAT=200
Test-Parameters: trivial fstype=zfs testlist=sanity env=ONLY=311,ONLY_REPEAT=200
Test-Parameters: trivial fstype=zfs testlist=sanity env=ONLY=311,ONLY_REPEAT=200
Signed-off-by: Emoly Liu <emoly@whamcloud.com>
Change-Id: I17f278df3826fa38b71713c610d644cc7676c1ad
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56952
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Mikhail Pershin <mpershin@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Andreas Dilger [Wed, 6 Nov 2024 04:00:06 +0000 (21:00 -0700)]
LU-18356 tests: allow server to specify except list
Allow the installed server code to specify a lists of subtests that
should be excluded by older clients when running a particular test
script. This allows older clients to skip tests that they would
otherwise run from their local test script, but that do not work due
to server changes.
The files for each test script are read from the mds1 and ost1 facets.
The filename(s) under lustre/tests/except/ should start with the base
test script name (e.g. sanity), followed by '.', an optional unique
string to avoid conflicts between patches, and end with ".ex".
For example, sanity.ex, sanity.test_142.ex, sanity.acl.ex are valid
"sanity.sh" except filenames, but sanity-acl.ex is not.
Lines starting with '#' are comments and ignored. Otherwise, lines
should have whitespace-separated fields on each line, as shown in the
examples below.
#facet op need_version jira space_separated_subtests
mds1 < v2_14_55-100-g8a84c7f9c7 LU-14927 0f
linux < 5.12.0 LU-18102 27J
client == OST1_VERSION LU-13081 151 156
The facet may be "client", "mds1", "ost1", or "linux" (client), and
"need_version" can be any Lustre (or Linux) version number or another
version name like OST1_VERSION, MDS1_VERSION, or CLIENT_VERSION.
The "op" can be standard math/logic comparisons ">=", "<", "!=", etc.
The version comparison is handled like the below pseudo-code:
${FACET}_VERSION $op $need_version OR except $subtests
In other words, the version check must be true or the subtest(s) will
not be run. Checks within a single file should be ordered by subtest
number to make it easier to see whether some subtest is being skipped.
Test-Parameters: trivial testlist=sanity serverversion=2.15
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I0216d9980147ce3409807e9d7f9759fe533ebbe5
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56901
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Alex Zhuravlev [Fri, 22 Nov 2024 08:16:01 +0000 (11:16 +0300)]
LU-18481 quota: free array in qmt_alloc_lock_array
qmt_alloc_lock_array() may leak memory if no locks have been found.
Test-Parameter: testlist=sanity-quota
Test-Parameter: testlist=sanity-quota
Test-Parameter: testlist=sanity-quota
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: I58e50bf30f7eae3dd4aed06879d74ed53d3b781a
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57107
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>
Qian Yingjin [Wed, 30 Oct 2024 08:56:35 +0000 (16:56 +0800)]
LU-18415 pcc: fix panic when add/remove PCC backends
PCC panic on CSI drvier when add/remove PCC backends on a client
as follows:
RIP: 0010:strlen+0x0/0x20
Call Trace:
pcc_dataset_rule_init [lustre]
pcc_cmd_handle [lustre]
ll_pcc_seq_write [lustre]
vfs_write
ksys_write
There are some bugs in the error handling for PCC setup and
cleanup. This may result in double memory free or list struct
corrupting. Fix it accordingly.
Signed-off-by: Qian Yingjin <qian@ddn.com>
Change-Id: I04d616395c095748aa195df5f2979a85de79dded
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56824
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Li Xi <lixi@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Chris Horn [Sat, 24 Jun 2023 12:12:08 +0000 (07:12 -0500)]
LU-18391 lnet: Revert nid hash for gnilnd
Using hash_long() method for gnilnd apparently results in performance
degradation. It is not understood why this is, but for now revert to
the sum-by-multiplication of nid bytes method for gnilnd.
Test-Parameters: trivial
HPE-bug-id: LUS-11675
Signed-off-by: Chris Horn <chris.horn@hpe.com>
Change-Id: I781658afb41e4c528d0d6d3aa3f73cbb928b9478
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56771
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Reviewed-by: Petros Koutoupis <petros.koutoupis@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Shaun Tancheff [Thu, 7 Nov 2024 04:32:40 +0000 (11:32 +0700)]
LU-18388 llite: handle -EOPNOTSUPP in get_inode_acl
When ll_xattr_list returns -EOPNOTSUPP [-95] NULL should be
returned to avoid sanity failing to run as non-root users with:
operation mds_getxattr to node 192.168.122.50@tcp failed: rc = -95
Test-Parameters: testlist=sanity env=ONLY=103a,ONLY_REPEAT=10 mdscount=2 mdtcount=4 osscount=1 ostcount=8 clientcount=2 clientdistro=sles15sp6 serverdistro=el8.8
Test-Parameters: testlist=sanity env=ONLY=103a,ONLY_REPEAT=10 mdscount=2 mdtcount=4 osscount=1 ostcount=8 clientcount=2 clientdistro=ubuntu2404 serverdistro=el8.8
Test-Parameters: testlist=sanity env=ONLY=103a,ONLY_REPEAT=10 mdscount=2 mdtcount=4 osscount=1 ostcount=8 clientcount=2 clientdistro=el9.3 serverdistro=el8.8
Test-Parameters: testlist=sanityn env=ONLY=25a,ONLY_REPEAT=10 mdscount=2 mdtcount=4 osscount=1 ostcount=8 clientcount=2 clientdistro=ubuntu2404 serverdistro=el8.8
Test-Parameters: testlist=sanity-sec env=ONLY=23b,ONLY_REPEAT=50 mdscount=2 mdtcount=4 osscount=1 ostcount=8 clientcount=2 clientdistro=ubuntu2404 serverdistro=el8.8
Fixes:
13fd5ebef3 ("LU-18101 sec: fix ACL handling on recent kernels again")
Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: I208e7e6095c19728643a6d208becd448ed2e2539
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56756
Tested-by: Maloo <maloo@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Nathaniel Clark [Fri, 18 Oct 2024 19:08:23 +0000 (15:08 -0400)]
LU-18381 doc: Fix example in lctl-nodemap-modify.8
Use valid string in example instead of string that "currently works"
Test-Parameters: trivial
Fixes:
8a770616a5ad ("LU-14797 sec: add projid to nodemap")
Signed-off-by: Nathaniel Clark <nclark@whamcloud.com>
Change-Id: Ia3f55510ad398acb3729acfad174ade9e060a2ae
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56735
Tested-by: Maloo <maloo@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Maximilian Dilger <mdilger@whamcloud.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Jian Yu [Mon, 18 Nov 2024 19:53:03 +0000 (11:53 -0800)]
LU-18371 kernel: update SLES15 SP6 [6.4.0-150600.23.25.1]
Update SLES15 SP6 kernel to 6.4.0-150600.23.25.1 for Lustre client.
Test-Parameters: trivial mdtcount=4 mdscount=2 \
clientdistro=sles15sp6 testlist=sanity
Test-Parameters: optional clientdistro=sles15sp6 testgroup=full-part-1
Test-Parameters: optional clientdistro=sles15sp6 testgroup=full-part-2
Test-Parameters: optional clientdistro=sles15sp6 testgroup=full-part-3
Change-Id: Ia9e6a286b50040ad3ce1247216ba9b60a5582658
Signed-off-by: Jian Yu <yujian@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56704
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Alex Deiter <adeiter@ddn.com>
Reviewed-by: Yang Sheng <ys@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Jian Yu [Mon, 18 Nov 2024 19:47:36 +0000 (11:47 -0800)]
LU-18423 kernel: update RHEL 8.10 [4.18.0-553.27.1.el8_10]
Update RHEL 8.10 kernel to 4.18.0-553.27.1.el8_10.
Test-Parameters: trivial fstype=ldiskfs mdtcount=4 mdscount=2 \
clientdistro=el8.10 serverdistro=el8.9 testlist=sanity
Test-Parameters: trivial fstype=zfs mdtcount=4 mdscount=2 \
clientdistro=el8.10 serverdistro=el8.9 testlist=sanity
Test-Parameters: trivial fstype=ldiskfs mdtcount=4 mdscount=2 \
clientdistro=el8.9 serverdistro=el8.10 testlist=sanity
Test-Parameters: trivial fstype=zfs mdtcount=4 mdscount=2 \
clientdistro=el8.9 serverdistro=el8.10 testlist=sanity
Test-Parameters: optional clientdistro=el8.10 serverdistro=el8.10 \
testgroup=full-part-1
Test-Parameters: optional clientdistro=el8.10 serverdistro=el8.10 \
testgroup=full-part-2
Test-Parameters: optional clientdistro=el8.10 serverdistro=el8.10 \
testgroup=full-part-3
Change-Id: I3737c1f1b2941d2095225f1ab80fd76768c4782c
Signed-off-by: Jian Yu <yujian@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56888
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Alex Deiter <adeiter@ddn.com>
Reviewed-by: Yang Sheng <ys@whamcloud.com>
Jian Yu [Mon, 18 Nov 2024 19:42:18 +0000 (11:42 -0800)]
LU-18414 kernel: update RHEL 9.4 [5.14.0-427.42.1.el9_4]
Update RHEL 9.4 kernel to 5.14.0-427.42.1.el9_4.
Test-Parameters: trivial fstype=ldiskfs mdtcount=4 mdscount=2 \
clientdistro=el9.4 serverdistro=el9.3 testlist=sanity
Test-Parameters: trivial fstype=zfs mdtcount=4 mdscount=2 \
clientdistro=el9.4 serverdistro=el9.3 testlist=sanity
Test-Parameters: trivial fstype=ldiskfs mdtcount=4 mdscount=2 \
clientdistro=el9.3 serverdistro=el9.4 testlist=sanity
Test-Parameters: trivial fstype=zfs mdtcount=4 mdscount=2 \
clientdistro=el9.3 serverdistro=el9.4 testlist=sanity
Test-Parameters: optional clientdistro=el9.4 serverdistro=el9.4 \
mdscount=2 mdtcount=4 ostcount=8 testgroup=full-dne-part-1
Test-Parameters: optional clientdistro=el9.4 serverdistro=el9.4 \
mdscount=2 mdtcount=4 ostcount=8 testgroup=full-dne-part-2
Test-Parameters: optional clientdistro=el9.4 serverdistro=el9.4 \
mdscount=2 mdtcount=4 ostcount=8 testgroup=full-dne-part-3
Change-Id: Ib1b95bcaf35a9f8ed80fe7a33b51127086dd412c
Signed-off-by: Jian Yu <yujian@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56845
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Alex Deiter <adeiter@ddn.com>
Reviewed-by: Yang Sheng <ys@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Jian Yu [Mon, 18 Nov 2024 07:41:16 +0000 (23:41 -0800)]
LU-18387 kernel: new kernel [RHEL 9.5 5.14.0-503.14.1.el9_5]
This patch makes changes to support new RHEL 9.5 release
for Lustre client.
Test-Parameters: trivial \
mdtcount=4 mdscount=2 clientdistro=el9.5 testlist=sanity
Test-Parameters: optional clientdistro=el9.5 testgroup=full-part-1
Test-Parameters: optional clientdistro=el9.5 testgroup=full-part-2
Test-Parameters: optional clientdistro=el9.5 testgroup=full-part-3
Change-Id: I1bce12b2b7190bcbd880916049667630aba700c8
Signed-off-by: Jian Yu <yujian@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56748
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Yang Sheng <ys@whamcloud.com>
Reviewed-by: Alex Deiter <adeiter@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Qian Yingjin [Thu, 10 Oct 2024 09:48:19 +0000 (17:48 +0800)]
LU-16907 ptlrpc: correct the reply buffer size for batch RPC
The calculation for growing reply buffer size for a batch RPC is
incorrect and it adds the SUB request size wrongly.
This may result in the following panic:
"Max IOV exceeded: 257 should be < 256"
Fix it accordingly.
Fixes:
5a2dfd36f9c ("LU-14139 ptlrpc: grow PtlRPC properly when prepare sub request")
Test-Parameters: testlist=sanity env=ONLY=123f,ONLY_REPEAT=10
Signed-off-by: Qian Yingjin <qian@ddn.com>
Change-Id: I3c5151a485cac7f3fb9384cd9fb022143ca3389d
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56645
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: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Feng Lei [Thu, 10 Oct 2024 01:18:59 +0000 (09:18 +0800)]
LU-17660 tests: test symlink file to existing dir
Create a test case to verify LU-17660.
Symlink a file to an existing dir. Expect the symlink entry
under dir. Error if report "cannot overwrite directory".
Fixed in kernels newer than v6.9-rc4-39-gbb32cded3be2 or with
a backported fix.
Signed-off-by: Feng Lei <flei@whamcloud.com>
Test-Parameters: trivial
Test-Parameters: clientdistro=el8.10 testlist=sanity env=ONLY=17p
Test-Parameters: clientdistro=el9.4 testlist=sanity env=ONLY=17p
Test-Parameters: clientdistro=sles15sp5 testlist=sanity env=ONLY=17p
Test-Parameters: clientdistro=sles15sp6 testlist=sanity env=ONLY=17p
Test-Parameters: clientdistro=ubuntu2204 testlist=sanity env=ONLY=17p
Test-Parameters: clientdistro=ubuntu2404 testlist=sanity env=ONLY=17p
Change-Id: I905813c26e78ae3e6df4f88af10ab3f0c596a59b
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56639
Reviewed-by: Lai Siyao <lai.siyao@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Sergey Cheremencev [Mon, 30 Sep 2024 13:52:05 +0000 (16:52 +0300)]
LU-18279 obdclass: fix class_add_nids_to_uuid
Fix class_add_nids_to_uuid to utilize all 32
(MTI_NIDS_MAX) elements in lnet_nid array instead of
31 (MTI_NIDS_MAX -1).
Signed-off-by: Sergey Cheremencev <scherementsev@ddn.com>
Change-Id: Ibbedda6e28e6c26b11ae95d89ad31afd812c559f
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56541
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Elena Gryaznova [Fri, 27 Sep 2024 10:44:01 +0000 (13:44 +0300)]
LU-18273 tests: do reboot and failback in several attempts
Instead of playing around the ha_failback_delay values
different for different clusters and to avoid the tests
failures unrelated to Lustre - it looks reasonable just to
try "failover/failback" several times.
Test-Parameters: trivial
Signed-off-by: Elena Gryaznova <elena.gryaznova@hpe.com>
HPE-bug-id: LUS-11816
Reviewed-by: Vladimir Saveliev <vladimir.saveliev@hpe.com>
Reviewed-by: Alexander Boyko <alexander.boyko@hpe.com>
Change-Id: I748e4e580408f7662b2c64576af36637cfe46ef3
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56514
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Hongchao Zhang [Thu, 3 Oct 2024 12:02:21 +0000 (20:02 +0800)]
LU-18078 quota: check version to force_reint if needed
If the quota setting's version between QMT and QSD is mismatched,
the new quota request will be deferred and won't be applied if
the missing update with the version had been dropped.
This patch will check the version during processing the incoming
quota LDLM glimpse request and inside the QSD writeback thread,
and will trigger the force_reint if the missed version has not
been arrived in time.
Signed-off-by: Hongchao Zhang <hongchao@whamcloud.com>
Change-Id: I1b33cfbb594e3f1595580d4190fd77efb55bc627
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56513
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>
Shaun Tancheff [Sat, 21 Sep 2024 06:13:08 +0000 (13:13 +0700)]
LU-18249 o2iblnd: external mofed driver requires
Only the o2iblnd, when built for MOFED, should have an external
requires for the external kernel module package.
Remove the requires from lustre-* and apply it only to the
package that includes the o2ib module when built with MOFED.
HPE-bug-id: LUS-12355
Test-Parameters: trivial
Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: I33133c112066f9dc07fa568594b93ccb7fccf746
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56446
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Petros Koutoupis <petros.koutoupis@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Caleb Carlson <caleb.carlson@hpe.com>
Hongchao Zhang [Mon, 26 Aug 2024 00:06:22 +0000 (08:06 +0800)]
LU-18241 osc: skip repmsg processing in case of error
If the request has failed, the repmsg processing in osc_quotactl
should be skipped.
Signed-off-by: Hongchao Zhang <hongchao@whamcloud.com>
Change-Id: I0f4c6db93888b1000e6993411aeb3a147f05f5db
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56438
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>
Qian Yingjin [Thu, 5 Sep 2024 16:57:05 +0000 (00:57 +0800)]
LU-17190 llite: release locks after all read-head pages submit
We put all acquired DLM extent locks for read-ahead in a list.
After all read-ahead pages are submitted, then the client releases
all DLM extent locks acquired during the previous read-ahead.
By this way, in a extent lock blocking AST, all reading extents
have already submitted and put into the list @oo_reading_exts of
the OSC object. Then the client can check this list to find out
the conflict outstanding extents as all I/O RPC slots (limited by
osc.*.max_rpcs_in_flight) are used out by direct I/Os which take
server-side locking.
Otherwise, in the original way, it matches DLM extent lock, adds
read-ahead pages into queue list, releases the previous matched
lock; repeat this progress for read-ahead and finally submit the
I/O containing all read-ahead pages (@osc_io_submit). The conflict
extents in OES_LOCK_DONE state may be added into the list
@oo_reading_exts after the check in blocking AST.
On the client side in the blocking AST from server-side locking
for DIO it will try to lock the pages in these lockdone extents
to writeback or discard these cached pages covered by the lock;
All pages in lockdone extent are locked (PG_locked), and these
extents are waiting for RPC slots while all RPC slots are used
out by DIO.
Thus it may cause deadlock.
This patch can be used by the next patch about high priority I/O
for blocking AST. The client can check the list @oo_reading_exts
to find out the conflict outstanding extents. Put these conflict
extents into HP list, thus they can be sent to OSTs and handled
ASAP, avoiding the possible deadlock.
Change-Id: I5661607ecba3b6cbd6e29ae3fa14566a5ec045f1
Signed-off-by: Qian Yingjin <qian@ddn.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56324
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Patrick Farrell <pfarrell@whamcloud.com>
Reviewed-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Shaun Tancheff [Fri, 13 Sep 2024 02:31:08 +0000 (09:31 +0700)]
LU-15808 ptlrpc: ptlrpc_set_wait() use wait_woken
ptlrpc_set_wait() using a potentially long running condition
ptlrpc_check_set() that can also block.
If it does block during ptl_send_rpc() it could potentially
trigger a warning:
do not call blocking ops when !TASK_RUNNING
NeilBrown <neilb@suse.de> suggested to use wait_woken() instead.
Convert ptlrpc_set_wait to use wait_woken()
similar to the wait_woken() method used in ptlrpcd.
Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: I544550db58fa2e89ce18a8a43a64fdea7ed57206
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56317
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Neil Brown <neilb@suse.de>
Reviewed-by: Petros Koutoupis <petros.koutoupis@hpe.com>
Reviewed-by: Alexander Zarochentsev <alexander.zarochentsev@hpe.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Ronnie Sahlberg [Fri, 6 Sep 2024 04:29:30 +0000 (00:29 -0400)]
LU-12515 ofd: allow setting a target to readonly
Add a control to toggle read-only mode for an OFD
to have it reject all mutating commands with -EROFS
This can be used to temporarily set a device to readonly mode
while identifying and correcting a misbehaving client.
As this prevents clients from destaging data it should not
be kept in readonly mode for too long else clients will
eventually run out of kernel memory.
Example:
lctl set_param obdfilter.lustre-OST0000.readonly=1
Test-Parameters: trivial
Signed-off-by: Ronnie Sahlberg <rsahlberg@whamcloud.com>
Change-Id: Ia6658fb58aea17624d5c2ef2528696c4355e7b05
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56304
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Sebastien Buisson [Fri, 30 Aug 2024 13:53:50 +0000 (15:53 +0200)]
LU-18086 sec: do not allocate empty pools
If the node does not have enough memory, we might end up allocating
empty pools at some orders. Prevent empty pools as they are useless
and the rest of the code expect valid pools.
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: I9c5d9eeb557df0c91efecd6871654d1e48e5662a
Reviewed-by: Sergey Cheremencev <scherementsev@ddn.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56271
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Etienne AUJAMES [Wed, 4 Sep 2024 12:22:07 +0000 (14:22 +0200)]
LU-18170 obdclass: fix llog_print_cb()
This patch get rid off static variables in llog_print_cb().
This enables to run several instances of "lctl llog_print" in parallel
without memory corruption.
It also fixes the following:
- buffer overflow checks
- llog EOF detection
- ref leak in lod_iocontrol()
Add regression test conf-sanity 123H.
conf-sanity 123ad is modified to support records with varriable sizes.
Test-Parameters: testlist=conf-sanity env=ONLY=123
Test-Parameters: testlist=conf-sanity env=ONLY=123ad,ONLY_REPEAT=300
Test-Parameters: testlist=conf-sanity env=ONLY=123H,ONLY_REPEAT=20
Test-Parameters: testlist=replay-single env=ONLY=100d,ONLY_REPEAT=10
Signed-off-by: Etienne AUJAMES <eaujames@ddn.com>
Change-Id: Ibd971e38392d01b2069d29cb4799fbc922d31684
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56256
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Emoly Liu <emoly@whamcloud.com>
Reviewed-by: Lai Siyao <lai.siyao@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Frederick Dilger [Thu, 29 Aug 2024 20:49:37 +0000 (14:49 -0600)]
LU-4315 doc: updating l[c-h] man page style
Updating files to match the new code style for Lustre manual pages as
enforced by 'contrib/scripts/checkpatch-man.pl'.
This also includes other changes like removing < > or { } for singular
required arguments and placing [ ] around optional ones as well as
making all arguments CAPITAL and italicized, literal arguments are
bolded. Lines over 80 characters should be split at the natural line
end rather than the word that goes over the limit as fewer lines will
need to be modified when making changes if each sentence is on it's
own line.
Only using features that appear in groff 1.22.3 as this is the
available version is CentOS 8.
Checked files:
- lctl.8
- ldev.8
- ldev.conf.5
- lfs.1
- l_getidentity.8
- l_getsepol.8
- lgss_sk.8
- lhbadm.8
Test-Parameters: trivial
Signed-off-by: Frederick Dilger <fdilger@whamcloud.com>
Change-Id: I77f4c6dd0e28cf09c076052a022885e30c2bbe6f
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56202
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>
Frederick Dilger [Wed, 28 Aug 2024 15:52:49 +0000 (09:52 -0600)]
LU-4315 doc: updating llapi-[o-u] man page style
Updating files to match the new code style for Lustre manual pages as
enforced by 'contrib/scripts/checkpatch-man.pl'.
This also includes other changes like removing < > or { } for singular
required arguments and placing [ ] around optional ones as well as
making all arguments CAPITAL and italicized, literal arguments are
bolded. Lines over 80 characters should be split at the natural line
end rather than the word that goes over the limit as fewer lines will
need to be modified when making changes if each sentence is on it's
own line.
Only using features that appear in groff 1.22.3 as this is the
available version is CentOS 8.
Checked files:
- llapi_open_by_fid.3
- llapi_open_by_fid_at.3
- llapi_param_get_paths.3
- llapi_param_get_value.3
- llapi_path2fid.3
- llapi_path2parent.3
- llapi_pcc_attach.3
- llapi_pcc_attach_fid.3
- llapi_pcc_attach_fid_str.3
- llapi_pcc_clear.3
- llapi_pcc_del.3
- llapi_pcc_detach_fid.3
- llapi_pcc_detach_fid_fd.3
- llapi_pcc_detach_fid_str.3
- llapi_pcc_detach_file.3
- llapi_pccdev_get.3
- llapi_pccdev_set.3
- llapi_pcc_state_get.3
- llapi_pcc_state_get_fd.3
- llapi_quotactl.3
- llapi_rmfid.3
- llapi_rmfid_at.3
- llapi_root_path_open.3
- llapi_search_mdt.3
- llapi_search_ost.3
- llapi_search_rootpath.3
- llapi_search_rootpath_by_dev.3
- llapi_search_tgt.3
- llapi_unlink_foreign.3
Test-Parameters: trivial
Signed-off-by: Frederick Dilger <fdilger@whamcloud.com>
Change-Id: Ia31335f543b306c4b2081401133555c5a55401e0
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56188
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>
Frederick Dilger [Tue, 27 Aug 2024 20:35:44 +0000 (14:35 -0600)]
LU-4315 doc: update llapi-layout-[f-s] man page style
Updating files to match the new code style for Lustre manual pages as
enforced by 'contrib/scripts/checkpatch-man.pl'.
This also includes other changes like removing < > or { } for singular
required arguments and placing [ ] around optional ones as well as
making all arguments CAPITAL and italicized, literal arguments are
bolded. Lines over 80 characters should be split at the natural line
end rather than the word that goes over the limit as fewer lines will
need to be modified when making changes if each sentence is on it's
own line.
Only using features that appear in groff 1.22.3 as this is the
available version is CentOS 8.
Checked files:
- llapi_layout_free.3
- llapi_layout_get_by_fd.3
- llapi_layout_get_by_fid.3
- llapi_layout_get_by_path.3
- llapi_layout_get_by_xattr.3
- llapi_layout_ost_index_get.3
- llapi_layout_ost_index_reset.3
- llapi_layout_ost_index_set.3
- llapi_layout_pattern_get.3
- llapi_layout_pattern_set.3
- llapi_layout_pool_name_get.3
- llapi_layout_pool_name_set.3
- llapi_layout_stripe_count_get.3
- llapi_layout_stripe_count_set.3
- llapi_layout_stripe_size_get.3
- llapi_layout_stripe_size_set.3
Test-Parameters: trivial
Signed-off-by: Frederick Dilger <fdilger@whamcloud.com>
Change-Id: Ifdf0d86e76898bf3b4e7febb40acecb8f12ad702
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56173
Reviewed-by: Andreas Dilger <adilger@whamcloud.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>
Frederick Dilger [Thu, 22 Aug 2024 21:20:29 +0000 (15:20 -0600)]
LU-4315 doc: updating llapi-[cha] man page style
Updating files to match the new code style for Lustre manual pages as
enforced by 'contrib/scripts/checkpatch-man.pl'.
This also includes other changes like removing < > or { } for singular
required arguments and placing [ ] around optional ones as well as
making all arguments CAPITAL and italicized, literal arguments are
bolded. Lines over 80 characters should be split at the natural line
end rather than the word that goes over the limit as fewer lines will
need to be modified when making changes if each sentence is on it's
own line.
Only using features that appear in groff 1.22.3 as this is the
available version is CentOS 8.
Checked files:
- llapi_changelog_clear.3
- llapi_changelog_fini.3
- llapi_changelog_free.3
- llapi_changelog_get_fd.3
- llapi_changelog_in_buf.3
- llapi_changelog_recv.3
- llapi_changelog_set_xflags.3
- llapi_changelog_start.3
Test-Parameters: trivial
Signed-off-by: Frederick Dilger <fdilger@whamcloud.com>
Change-Id: Id2b6f92811b8ffbe23fc7a902a14360b8cf583c5
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56131
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>
Timothy Day [Thu, 22 Aug 2024 01:28:30 +0000 (21:28 -0400)]
LU-18155 lnet: 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 conditional logic.
@@
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: I73eff22d6fd4199b02d3ae2cc7740aa754d6945d
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56116
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: Chris Horn <chris.horn@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Timothy Day [Thu, 22 Aug 2024 01:16:28 +0000 (21:16 -0400)]
LU-18155 ptlrpc: 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: If3b2d519239ec2c86bc940135346b37ebe1d050e
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56114
Reviewed-by: Andreas Dilger <adilger@whamcloud.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>
Frederick Dilger [Thu, 15 Aug 2024 06:59:20 +0000 (00:59 -0600)]
LU-4315 doc: updating lctl-[p-s] man page style
Updating files to match the new code style for Lustre manual pages as
enforced by 'contrib/scripts/checkpatch-man.pl'.
This also includes other changes like removing < > or { } for singular
required arguments and placing [ ] around optional ones as well as
making all arguments CAPITAL and italicized, literal arguments are
bolded. Lines over 80 characters should be split at the natural line
end rather than the word that goes over the limit as fewer lines will
need to be modified when making changes if each sentence is on it's
own line.
Only using features that appear in groff 1.22.3 as this is the
available version is CentOS 8.
Checked files:
- lctl-pcc.8
- lctl-pool_add.8
- lctl-pool_new.8
- lctl-set_param.8
- lctl-snapshot-create.8
- lctl-snapshot-destroy.8
- lctl-snapshot-list.8
- lctl-snapshot-modify.8
- lctl-snapshot-mount.8
- lctl-snapshot-umount.8
Test-Parameters: trivial
Signed-off-by: Frederick Dilger <fdilger@whamcloud.com>
Change-Id: Icd30b49a3025aede26524b09cefa438bdca2ccc4
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56071
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>
Lei Feng [Tue, 30 Jul 2024 04:14:18 +0000 (12:14 +0800)]
LU-16622 utils: 'lfs find --ost' supports index range
'lfs find --ost' command can accept an index range. For example
lfs find --ost 0,1-3
It equals to:
lfs find --ost 0,1,2,3
'lfs find --mdt' can accept index range too.
Signed-off-by: Lei Feng <flei@whamcloud.com>
Test-Parameters: trivial
Change-Id: I094aa480c97440dad8ffaac8af902682b5916d6c
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55902
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Emoly Liu <emoly@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Frederick Dilger [Wed, 24 Jul 2024 21:59:36 +0000 (15:59 -0600)]
LU-16446 utils: specify total count for mirror extend
The 'lfs mirror extend -N' can now be used to specify the total
number of mirrors to create on a file by using '=' infront of the
COUNT:
'lfs mirror extend -N=TOTAL_COUNT'
or
'lfs mirror extend --mirror-count==TOTAL_COUNT'
This is a no-op if the specified number of mirrors already exists on
that file.
Signed-off-by: Frederick Dilger <fdilger@whamcloud.com>
Change-Id: I76fc416b4dc2c37edf99926bae9a8d42167a49ab
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55867
Reviewed-by: Alexandre Ioffe <aioffe@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>
Sergey Cheremencev [Mon, 15 Jul 2024 15:29:24 +0000 (18:29 +0300)]
LU-18035 tests: enhance root_prj_enable tests
Add more tests cases at sanity-quota_1i
"Enable project quota enforcement for root":
1. root can't write after enabling root_prj_enable
if this project has hit its limit
2. root is still able to write at a different
project ID directory with larger limit
Test-Parameters: testlist=sanity-quota env=ONLY=1i trivial
Fixes:
b53438df70e ("LU-15109 tests: different quota and usage relations")
Signed-off-by: Sergey Cheremencev <scherementsev@ddn.com>
Change-Id: I58ce986221b2c970957a05408b20a70301e4f51e
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55757
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>
Sergey Cheremencev [Mon, 15 Apr 2024 20:35:56 +0000 (23:35 +0300)]
LU-17770 quota: don't panic in qmt_map_lge_idx
There is a valid case when it is impossible to
map OST index into an appropriate index of lqe global
array(lqe_gblb_array). This might happen when newly
added OSTs haven't connected yet to QMT and there is
no corresponding index files in quota_master/dt-0x0
directory. At the same time if these OSTs already
exist in OST pools, this might cause following panic:
qmt_map_lge_idx()) ASSERTION( k < lgd->lqeg_num_used )
failed: Cannot map ostidx 32 for
000000000505fcbe
qmt_map_lge_idx()) LBUG
...
Call Trace TBD:
libcfs_call_trace+0x6f/0xa0 [libcfs]
lbug_with_loc+0x3f/0x70 [libcfs]
qmt_map_lge_idx+0x7f/0x90 [lquota]
qmt_seed_glbe_all+0x17f/0x770 [lquota]
qmt_revalidate_lqes+0x213/0x360 [lquota]
qmt_dqacq0+0x7d5/0x2320 [lquota]
qmt_intent_policy+0x8d2/0xf10 [lquota]
mdt_intent_opc+0x9a9/0xa80 [mdt]
mdt_intent_policy+0x1fd/0x390 [mdt]
ldlm_lock_enqueue+0x469/0xa90 [ptlrpc]
ldlm_handle_enqueue0+0x61a/0x16c0 [ptlrpc]
tgt_enqueue+0xa4/0x200 [ptlrpc]
tgt_request_handle+0xc9c/0x1950 [ptlrpc]
ptlrpc_server_handle_request+0x323/0xbd0 [ptlrpc]
ptlrpc_main+0xbf1/0x1510 [ptlrpc]
kthread+0x134/0x150
ret_from_fork+0x1f/0x40
Kernel panic - not syncing: LBUG
Add sanity-quota_91. It removes and creates quota slave
index files in quota_master/dt-0x0 to simulate adding
new OSTs in a system.
Signed-off-by: Sergey Cheremencev <scherementsev@ddn.com>
Change-Id: I747366af736d408a8965812b48660cca1367becb
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55476
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>
Patrick Farrell [Wed, 8 May 2024 14:36:55 +0000 (10:36 -0400)]
LU-17831 llite: remove refcount assert
This refcount assert costs us a few % in page freeing and
it comes immediately after a dec_and_test.
Signed-off-by: Patrick Farrell <patrick.farrell@oracle.com>
Change-Id: I8de3369cbbaf484e1e0fce27ae3e62cad1ae5282
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55054
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>
Patrick Farrell [Wed, 8 May 2024 14:36:33 +0000 (10:36 -0400)]
LU-17831 llite: remove PageLocked assert
This pagelocked assert touches the spinlock and costs us
about 5% of our performance when dropping pages.
Signed-off-by: Patrick Farrell <patrick.farrell@oracle.com>
Change-Id: Ie67f45fc0131d3fa94b70e3734ade2139c481301
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55053
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>
Sebastien Buisson [Wed, 20 Mar 2024 14:45:41 +0000 (15:45 +0100)]
LU-17431 nodemap: allow handling a nidrange for a dynamic nm
Adding or deleting a nid range for a dynamic nodemap, by sending the
appropriate ioctl to the MDS or OSS device.
On kernel side, we need to allow handling a range for a nodemap even
if the nodemap config file is not accessible (i.e. we are not on the
MGS). This dynamic nodemap is not stored on disk.
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: I34d6bb720cb700e23a3567a47def71c2b1ca7343
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/54508
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 [Wed, 20 Mar 2024 09:05:22 +0000 (10:05 +0100)]
LU-17431 nodemap: allow add/del of a dynamic nodemap
Adding a dynamic nodemap requires specifying the '-d' option to
'lctl nodemap_add'. This in turn sends the appropriate ioctl to
the MDS or OSS device.
Deleting a dynamic nodemap does not require this flag, as we can
figure out if the nodemap to be deleted is dynamic or not.
On kernel side, we need to allow handling a nodemap even if the
nodemap config file is not accessible (i.e. we are not on the MGS).
This dynamic nodemap is not stored on disk.
And we prevent modifications of static, on-disk nodemaps on non-MGS
servers. On these servers it is only possible to modify dynamic
nodemaps.
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: I10019ad131825c3db520689e01b4c931d90c1c89
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/54507
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>
Lei Feng [Thu, 6 Jan 2022 01:34:15 +0000 (20:34 -0500)]
LU-10499 pcc: add some statistics data
Add statictics of the number and total size of pcc attached files
and pcc hit files.
EX-bug-id: EX-4433
Change-Id: Ib0e429c636298d4c6ff06d84a416073895b86184
Signed-off-by: Lei Feng <flei@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/54458
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Qian Yingjin [Wed, 20 Oct 2021 04:07:14 +0000 (12:07 +0800)]
LU-10499 pcc: command to remove PCC mirror component
This patch adds a command "lfs pcc delete $FILE" to delete the
PCC foreign mirror layout component.
Describe fields in lfs-pcc-state.1 and lfs-pcc-delete.1 page.
EX-bug-id: EX-4055
Signed-off-by: Qian Yingjin <qian@ddn.com>
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I3f56fb8134bd1e7673ef8e04dff9b8482f0e32c3
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/54457
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Qian Yingjin [Wed, 29 Sep 2021 03:35:30 +0000 (11:35 +0800)]
LU-10499 pcc: Check if PCC copy is unlinked for state output
In this patch, it adds support for the command "lfs pcc state" to
check whether the PCC copy is in the local client cache or
unlinked improperly.
Do not print an error message if "lfs pcc detach" tries to detach
a file that is already removed from the cache. This might happen
for a wide variety of reasons (external cache cleanup process, etc).
EX-bug-id: EX-3825
Test-Parameters: testlist=sanity-pcc env=ONLY=48
Signed-off-by: Qian Yingjin <qian@ddn.com>
Change-Id: Ic50c901df78adfaf5b56990120f832e5d74a117c
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/54451
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: Li Xi <lixi@ddn.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Patrick Farrell [Tue, 12 Nov 2024 22:35:49 +0000 (17:35 -0500)]
LU-18442 mdc: remove PageChecked usage in mdc
PageChecked is set in mdc_readpage, and it's not clear why.
This was added in an early merge of a bunch of code, but
was never checked anywhere.
It's unclear what this ever did, but it's not doing
anything now. Remove.
Signed-off-by: Patrick Farrell <pfarrell@whamcloud.com>
Change-Id: I59d40cc5cb9b437182db04b468f7dc222c275424
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/52504
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Mikhail Pershin <mpershin@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Shaun Tancheff [Sat, 23 Sep 2023 07:02:30 +0000 (02:02 -0500)]
LU-17139 utils: l_getidentity remove 'files' => 'lustre' alias
Fully remove the old 'files' alias for 'lustre' and deprecate
'nss_files' alias for 'files' now that it can be used directly.
Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: Ied7cf87e9be8d474f9b65a9b5b14870578806151
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/52487
Reviewed-by: corey tesdahl <corey.tesdahl@hpe.com>
Reviewed-by: Petros Koutoupis <petros.koutoupis@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Etienne AUJAMES [Wed, 2 Aug 2023 09:27:41 +0000 (11:27 +0200)]
LU-16235 hsm: get a valid cookie for RAoLU request
Add a way to get a valid cookie when nobody initializes
cdt_last_cookie.
RAoLU policy is allowed to queue a remove request with the
coordinator stopped. In that cases cdt_last_cookie can not be yet
initialize and the remove request can be queued with a conflicting
cookie.
This patch adds cdt_update_last_cookie() that reverses process the hsm
llog and stops at the first non-cancel action to determine the last
cookie.
Add the regression test sanity-hsm 26e.
Test-Parameters: testlist=sanity-hsm
Test-Parameters: testlist=sanity-hsm
Test-Parameters: testlist=sanity-hsm
Test-Parameters: testlist=sanity-hsm env=ONLY=26e,ONLY_REPEAT=30
Signed-off-by: Etienne AUJAMES <eaujames@ddn.com>
Signed-off-by: Nikitas Angelinas <nikitas.angelinas@hpe.com>
Change-Id: I6468a24b95fcb8768e12f40edfcea3ce8407281f
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/51850
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>
Qian Yingjin [Thu, 6 Jul 2023 13:21:40 +0000 (09:21 -0400)]
LU-14361 statahead: add tunable for fname pattern detection
This patch adds two tunable parameters for the detection of the
fname pattern statahead:
- llite.*.statahead_fname_predict_hit: when the naming of stat()
files under a directory follows a certain name rule roughly more
than this value, the directory is considered to meet the first
requirement for statahead. For an example, file naming rule is
mdtest.$rank.$i, the suffix of the stat() dentry name is number
and do stat() for dentries with name ending with number more
then this parameter.
- llite.*.statahead_fname_match_hit: After meet the first
requirement, then the naming of stat() files under a directory
continuously satisfies a certain name rule strictly more than
this value, it will start a statahead thread to do attribute
prefetching under the directory.
This patch also fixes the following panic:
IP: _atomic_dec_and_lock+0xc/0x70
->ll_sax_put [lustre]
->ll_statahead_thread [lustre]
->kthread
The reason is that the @lli_sax is set with NULL by wrong
statahead context (sax) put.
This patch also fixes the possible deadlock between hardlink and
batch stat-ahead operations.
Fix the test failure on lustre-rsync-test/test_6.
It must wait all inuse inodes for statahead to release during
umount.
Otherwsie, it may cause the following panic:
BUG: Dentry
0000000033ca4f3e{i=
280001b840002c7,n=l4} still in use
(1) [unmount of lustre lustre]
RIP: 0010:umount_check.cold.52+0x2f/0x3b
d_walk+0xe7/0x290
do_one_tree+0x20/0x40
shrink_dcache_for_umount+0x28/0x90
generic_shutdown_super+0x1a/0x110
kill_anon_super+0x14/0x30
deactivate_locked_super+0x34/0x70
cleanup_mnt+0x3b/0x70
RIP: 0010:ll_prep_md_op_data+0x73/0x870 [lustre]
sa_prep_data+0xde/0x350 [lustre]
sa_statahead+0x3b9/0xd20 [lustre]
ll_statahead_thread+0x1507/0x21f0 [lustre]
kthread+0x134/0x150
Test-Parameters: clientdistro=el8.10 testlist=sanity
Test-Parameters: clientdistro=el8.10 testlist=sanity
Test-Parameters: clientdistro=el8.10 testlist=sanity
Test-Parameters: clientdistro=el8.10 testlist=sanity
Test-Parameters: clientdistro=el8.10 testlist=sanity
Signed-off-by: Qian Yingjin <qian@ddn.com>
Change-Id: I42d9478e796918d9f2498ab64cf7c20b61334144
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/51592
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>
James Simmons [Sun, 18 Aug 2024 00:18:18 +0000 (20:18 -0400)]
LU-11850 obd: use netlink to get lustre stats
This adds the ability to collect performance metrics from lustre
in another way then from proc / debugfs files. The move to debugfs
has limited the scope of access to only root. Additionally there
is an expensive cost accessing many virtual file system files to
collect that data. Netlink will scale much better in this case as
well as offer a much more flexiable API.
The new ldebugfs_stats_alloc() replaces lprocfs_stats_alloc() and
registers the stats to be accessible BOTH throught debugfs AND
through Netlink. The new global "lstats_list" contains a list of
all registered sets of statistics, so it mirrors a subset of
debugfs. Netlink access can report on any statistics registered in
lstats_list.
Test-Parameters: trivial
Change-Id: If2d662baa62348fe6f0dd5c8d77344650c2a27d8
Signed-off-by: James Simmons <jsimmons@infradead.org>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/34256
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Reviewed-by: Neil Brown <neilb@suse.de>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Elena Gryaznova [Fri, 27 Sep 2024 12:13:27 +0000 (15:13 +0300)]
LU-11073 tests: enable DNE in recovery-mds-scale
In recovery-mds-scale.sh, recovery-random-scale.sh,
recovery-double-scale.sh add environmental variables
RECOVERY_SCALE_ENABLE_REMOTE_DIRS,
RECOVERY_SCALE_ENABLE_STRIPED_DIRS
to enable or disable the corresponding operations.
RECOVERY_SCALE_ENABLE_REMOTE_DIRS defaults to true if
the MDS version is at least 2.5, while
RECOVERY_SCALE_ENABLE_STRIPED_DIRS defaults to true if
the MDS version is at least 2.8.
Patch also:
simplifies the run_*.sh logic: it removes the never
used BREAK_ON_ERROR and useless CONTINUE parameters;
adds the possibility to set the directory striping
via client_load_SETSTRIPEPARAMS;
ignores failures caused by ENOSPC error: instead of
adding the complex free space calculation logic
for various layouts let's allow the loads to fail with
ENOSPC. This does not affect fofb testing the recovery
scale tests are for.
forces lustre-rsync-test test_4 to run iozone on not
striped directory with offset=0
Test-Parameters: trivial env=SLOW=no,FAILURE_MODE=HARD,RACER_ENABLE_REMOTE_DIRS=true,RACER_ENABLE_STRIPED_DIRS=true clientcount=4 mdtcount=1 mdscount=2 osscount=2 austeroptions=-R failover=true iscsi=1 testlist=recovery-mds-scale,recovery-oss-scale,recovery-random-scale,lustre-rsync-test,racer
Signed-off-by: Elena Gryaznova <elena.gryaznova@hpe.com>
Signed-off-by: Andriy Skulysh <andriy.skulysh@hpe.com>
HPE-bug-id: LUS-5973, LUS-6386, LUS-7540, LUS-9399
Reviewed-by: Vladimir Saveliev <vlaidimir.saveliev@hpe.com>
Reviewed-by: Alexander Boyko <alexander.boyko@hpe.com>
Reviewed-by: Alexander Zarochentsev <alexander.zarochentsev@hpe.com>
Change-Id: Icd42ae9b4e5ac403ba76a9e3909616977dbd6a72
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/32626
Tested-by: Maloo <maloo@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Reviewed-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Ronnie Sahlberg [Wed, 4 Sep 2024 04:48:48 +0000 (00:48 -0400)]
LU-11610 target: Fix correct return value in out_handler.c
out_handler.c has a pattern:
if (IS_ERR(x) || expression) {
...
RETURN(PTR_ERR(x))
}
which if x is a valid pointer but the expression that represents an
error would cause the function to return PTR_ERR(x) for a valid pointer.
Fix this by either returning PTR_ERR(x) or -EPROTO depending on what the error
is.
Signed-off-by: Ronnie Sahlberg <rsahlberg@whamcloud.com>
Change-Id: Ic9f3427be31a9ba84b46f349ba90cc6aea379845
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56260
Reviewed-by: Li Dongyang <dongyangli@ddn.com>
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>
Shaun Tancheff [Thu, 21 Nov 2024 01:55:54 +0000 (08:55 +0700)]
LU-18471 ldiskfs: large directory causes htree corruption
When creating a lot of files in a single directory, it can
get corrupted because of a typo in ext4-kill-dx-root.patch.
Lustre-change: https://review.whamcloud.com/46526
Lustre-commit:
ea3ee9337f9bcd42360e4523f1e34bcd04d3bf41
Test-Parameters: trivial
HPE-bug-id: LUS-12617
Fixes:
8da23f070c ("LU-15544 ldiskfs: SUSE 15 SP4 kernel 5.14.21 SUSE")
Fixes:
fc87b01f96 ("LU-12477 ldiskfs: remove obsolete ext4 patches")
Fixes:
89075044b3 ("LU-12477 ldiskfs: drop SUSE kernel 4.4 and earlier")
Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: Iacbaf9840db76ea7e2e017835a14b476ca9be391
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57094
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-by: Artem Blagodarenko <ablagodarenko@ddn.com>
Reviewed-by: Andrew Perepechko <andrew.perepechko@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Sergey Cheremencev [Fri, 17 May 2024 18:25:28 +0000 (21:25 +0300)]
LU-15913 tests: fix set_params_xxx
Move argument number check from set_params_(clients|mdts|osts)
to set_params_nodes. Without that fix these functions
didn't set (MDS|OSS|CLIENT)_LCTL_SETPARAM_PARAM when
the number of nodes was < 2.
Test-Parameters: trivial
Fixes:
9a1d68f9b8 ("LU-15913 tests: add rename stress test via racer")
Signed-off-by: Sergey Cheremencev <scherementsev@ddn.com>
Change-Id: I0733109c53cdea435b4461da7ac44e54fa49498c
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55143
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>
Alex Zhuravlev [Sun, 10 Nov 2024 07:17:37 +0000 (10:17 +0300)]
LU-18435 lod: recover layout generation from replay
The offset of the layout generation is different between struct
lov_mds_md_v1/v3.lmm_layout_gen and lov_comp_md.lcm_layout_gen.
When checking/setting layout gen, we must use layout-specific field.
Otherwise layout generation can be set to 0 (or other random value)
after replay and client can't apply new layout during later update.
Fixes:
13557aa86904 ("LU-15300 mdt: refresh LOVEA with LL granted")
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: I5e4a63cd097d157317e0e8d1a0fca4a46817d118
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56950
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Qian Yingjin <qian@ddn.com>
Reviewed-by: Alexey Lyashkov <alexey.lyashkov@hpe.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>