Whamcloud - gitweb
Timothy Day [Tue, 15 Apr 2025 03:54:19 +0000 (03:54 +0000)]
LU-18162 osd-ldiskfs: leave osd_device_init() unimplemented
osd_device_init() is never called when using ldiskfs OSD. If it is
called, procfs will improperly be initialized twice. To avoid this
would require a refactor or leaving osd_device_init() as a stub.
For now, remove all functional (uncalled) code from the function
and return 0.
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: Id5d1c2ad28fe2a659b5c31cc4390cd745bc2b95e
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58787
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Timothy Day [Mon, 14 Apr 2025 20:16:20 +0000 (20:16 +0000)]
LU-18162 obdclass: create ldto wrappers and default LU allocator
Wrap calls to ldto_device_* methods with small wrapper functions.
This allows for default behavior to be defined when the ldto_device_*
methods are not defined.
Define a default allocator when ldto_device_alloc and ldto_device_free
are not provided. This will allow many of the simplier OBD devices
to be fully converted to LU devices without as much boilerplate.
Similarly, allow ldto_device_init/fini to be optional.
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: Iac40138a31a0eef9a2100f958be8e00849301e46
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58783
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Arshad Hussain [Mon, 14 Apr 2025 12:35:11 +0000 (18:05 +0530)]
LU-9633 lod: Add kernel doc style for lod (Part 7)
This patch converts existing functional comments
to kernel doc style comments and removes '/**' for
comments which is not meant to be a kernel-doc comment
Test-Parameters: trivial
Signed-off-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Change-Id: Ifd1a1e6e767a94ecf2baededf7b0840989034f66
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58779
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Anjus George <georgea@ornl.gov>
Reviewed-by: Petros Koutoupis <petros.koutoupis@hpe.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Arshad Hussain [Mon, 14 Apr 2025 11:38:01 +0000 (17:08 +0530)]
LU-9633 lod: Add kernel doc style for lod (Part 6)
This patch converts existing functional comments
to kernel doc style comments and removes '/**' for
comments which is not meant to be a kernel-doc comment
Test-Parameters: trivial
Signed-off-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Change-Id: Ia3a4d995bc21ae682254a194d9e0ff9b8ba7ecb3
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58778
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Anjus George <georgea@ornl.gov>
Reviewed-by: Petros Koutoupis <petros.koutoupis@hpe.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Arshad Hussain [Mon, 14 Apr 2025 11:18:21 +0000 (16:48 +0530)]
LU-9633 lod: Add kernel doc style for lod (Part 5)
This patch converts existing functional comments
to kernel doc style comments and removes '/**' for
comments which is not meant to be a kernel-doc comment
Test-Parameters: trivial
Signed-off-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Change-Id: If3c41e20d58107d370b81062301b4b052eb42a59
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58777
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Petros Koutoupis <petros.koutoupis@hpe.com>
Reviewed-by: Anjus George <georgea@ornl.gov>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Sebastien Buisson [Fri, 11 Apr 2025 13:23:23 +0000 (15:23 +0200)]
LU-18919 nodemap: map suppgids from client
Map back to the file system id space the supplementary groups
received from the client.
Add sanity-sec test_76 to exercise this.
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: I9d6b6e5ae2fca476b102c8a02a62c1be75379acf
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58759
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Marc Vef <mvef@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Jian Yu [Tue, 8 Apr 2025 04:09:13 +0000 (21:09 -0700)]
LU-18904 tests: skip sanity/230k for older servers
This patch skips sanity/230k for older servers until
the real issue is fixed.
Test-Parameters: trivial
Test-Parameters: testlist=sanity env=ONLY=230k serverversion=2.12
Change-Id: I82c10fc6da614ae4ca85724011c22ddfd443b894
Signed-off-by: Jian Yu <yujian@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58722
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Rajeev Mishra <rajeevm@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Timothy Day [Wed, 2 Apr 2025 15:33:56 +0000 (11:33 -0400)]
LU-18876 osp: rename conflicting ping_show
The function ping_show() is defined twice: once is OSP
and another time in Portals RPC. This causes a linker
error when the Lustre modules are built into the static
kernel image. Rename the ping_show() in OSP to
osp_ping_show() and adjust the attribute definition to
match.
Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: Ibe21f0714a22637f365c9bd1f5cac31608e65cbf
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58628
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Timothy Day [Sat, 29 Mar 2025 22:45:19 +0000 (18:45 -0400)]
LU-18687 doc: move man pages to Documentation [1]
Consolidate all of the man pages into the top
level Documentation directory.
Move all of the LNET man pages to Docmentation/.
Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: I8f175e9b7cc27e2b80622ae7b8f891104dff24c4
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58586
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Ellis Wilson <elliswilson@microsoft.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Sebastien Buisson [Fri, 28 Mar 2025 08:30:21 +0000 (09:30 +0100)]
LU-18863 nodemap: warning for inconsistencies with offset
When offsets are defined on a nodemap, other properties related to id
mapping are impacted.
All squash values should be in the offset range [ 0, offset_limit-1 ],
otherwise squashed ids would escape offsetting.
Any explicit id mapping should map to an fsid in the offset range,
otherwise the mapped id would escape offsetting.
And the offset limit itself should be defined so that nobody (65534)
is included in the offset range.
lctl nodemap_add_offset, nodemap_modify and nodemap_add_idmap commands
are modified to print a warning when such an inconsistency is
detected.
lctl-nodemap-add-idmap.8, lctl-nodemap-add-offset.8 and
lctl-nodemap-modify.8 manpages are updated to explain these
constraints.
Test-Parameters: trivial testlist=sanity-sec
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: I129265e73957660da34837444238fbb98c620240
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58570
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Marc Vef <mvef@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Elena Gryaznova [Fri, 14 Mar 2025 15:10:37 +0000 (18:10 +0300)]
LU-18814 tests: run extra prog, execute NLOOPS mpi workloads
Patch adds the abilities:
- execute the workload the specified number of times (NLOOPS)
instead of execution them during the test duration set;
- execute the mpi EXTRAPROG in addition to allowed now IOR,
mdtest and simul;
- execute more mpi instances than the number of clients in
case if NLOOPS set.
Test-Parameters: trivial
Signed-off-by: Elena Gryaznova <elena.gryaznova@hpe.com>
HPE-bug-id: LUS-12231
Reviewed-by: Vladimir Saveliev <vladimir.saveliev@hpe.com>
Reviewed-by: Alexander Boyko <alexander.boyko@hpe.com>
Change-Id: I8e019560356edb94fee75cfcb55e86c6cc7bd69d
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58410
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Shaun Tancheff [Thu, 10 Apr 2025 09:16:10 +0000 (16:16 +0700)]
LU-18862 ldiskfs: update for RHEL 9.6
Update linux 6.6 ext4-encdata.patch to work around trivial
context change of generic_fillattr() arguments.
Use linux 6.11 version of ext4-kill-dx-root.patch
Use linux 6.6 version of ext4-ialloc-uid-gid-and-pass-owner-down.patch
Test-Parameters: trivial
Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: Ia5cf6dd1c21d81bc39837566ca69ef3a074d30c2
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58567
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Keguang Xu [Sat, 18 Jan 2025 14:36:01 +0000 (22:36 +0800)]
LU-17427 mdt: reduce hold time for BFL rename lock
In non-parallel rename, the order of resource locking follows
a fixed order: first global BFL, then (up to) 4 FID locks.
This means the BFL can be held for a long time if any client
holding one of the FID locks is non-responsive for some reason.
Especially in a big cluster where hundreds or thousands clients
exist doing various workloads.
To reduce hold time for BFL lock, we restructure the locking
into two phases,
1. get the 4 child locks first (to cancel the majority of
lock holders)
2. try to get the BFL resource lock if it is uncontended
3a. if BFL is contended then drop child locks and wait for it
3b. re-get the child locks if they were dropped in 3a
Note in phase 1 there's no BFL umbrella anymore, which in turn
may introduce deadlock, hence some order logic is added, e.g.
mdt_rename_determine_lock_order() order by fid if objs belong
to different parents.
> perf results:
1. two active clients with only renames:
max_dirs without-patch with
500x500 14418 14276
150x150 20419 20210
2. slow clients scenario, QPS=10 and 5s pause where P(X)=1%
for master and P(X)=0.1% for patch (not quite sure if the P is
reasonable or not),
Metric (ms/req) without-patch with
Average Latency 205.76 21.50
Signed-off-by: Keguang Xu <squalfof@gmail.com>
Change-Id: I806f52a7c23acdb0f9cb7e7b4c8e306db2fad8d5
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57741
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Lai Siyao <lai.siyao@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Shaun Tancheff [Fri, 11 Apr 2025 01:40:54 +0000 (08:40 +0700)]
LU-16350 ldiskfs: update for kernel 6.12
Update patches
ext4-data-in-dirent.patch
ext4-ext-merge.patch
ext4-filename-encode.patch
ext4-prealloc.patch
for kernel 6.12.
Linux commit v6.11-rc4-18-g4f05ee2f82b4
ext4: store cookie in private data
If file private_data is not set and an open() handler
is defined then the file must be open()'d before proceeding
to iterate() over the directory.
This corresponds with the dropping of file->f_version member
which is replaced by the cookie in file->private_data.
Note that the file->open() handler will load the expected
cookie into file->private_data.
For older kernels the open() handler is not provided.
HPE-bug-id: LUS-11376
Test-Parameters: trivial
Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: Ie64bb701f45a024dce4caefe0e3ee673e6cfe25a
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57126
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Vladimir Saveliev [Wed, 12 Mar 2025 10:13:43 +0000 (13:13 +0300)]
LU-17933 target: do not break grants on RPC failure
When write RPC fails it may leave grant accounting inaccurate.
Grants are allocated in:
tgt_brw_write
obd_preprw
ofd_preprw
ofd_preprw_write
tgt_grant_prepare_write
oa->o_grant = tgt_grant_alloc()
tgd->tgd_tot_granted += grant;
ted->ted_grant += grant;
return grant;
If further it happens to return error, oa->o_grant is zeroed:
ofd_preprw_write
..
out:
tgt_grant_prepare_read
oa->o_grant = 0;
This results in a mismatch between grants owned by a client and grants
the server thinks the client owns.
Clients used to skip grant accounting update in case of write RPC
failure:
ptlrpc_req_interpret
brw_interpret
osc_brw_fini_request
if (rc < 0 && rc != -EDQUOT)
return rc
osc_update_grant
__osc_update_grant(cli, body->oa.o_grant)
Have server to take care of correct grant accounting in case of RPC
failure.
Test to illustrate the issue is added. This test needs zero lost
grants. Sync write on start is to get rid of those.
Signed-off-by: Vladimir Saveliev <vladimir.saveliev@hpe.com>
Change-Id: Ic835eb0b7f1894207637ec541b1d39c59bde286d
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56547
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Alexander Boyko <alexander.boyko@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Frederick Dilger [Wed, 10 Jul 2024 06:24:01 +0000 (00:24 -0600)]
LU-14590 utils: merge similar list_param params
New [--merge|-m], [--no-merge|-M] and [--dshbak|-b] options have
been added to be able to collapse repeated parameters.
[--merge|-m] will collapse any parameters with the same parameter
name, if used with get_param, matching params that have differing
values will have the differences be printed in red.
New [--color|-c auto|always|never] option to selected whether to
print parameters in color or not.
--merge is enabled by default when using list_param or --dshbak.
If --merge is disabled, duplicate parameters will be printed in
yellow (duplicates with different values will still be highlighted).
--dshbak will replace any instance of MDT|OST|QMT[0-9]* with
MDT|OST|QMT* meaning that for any system with more than one
OST|MDT this will greatly reduce the number of parameters being
printed.
sanity.sh test_0d was failing due to 'mgs.MGS.*' returning
'mgs.MGS.clear', and 'mgs.MGS.clear.uuid' is not a valid parameter
path, so the new param pattern is 'mgs.MGS.*.uuid' to avoid this from
happening. "uuid" is then removed to obtain the appropriate
directory.
Signed-off-by: Frederick Dilger <fdilger@whamcloud.com>
Change-Id: I03c85eb42160d90ce7435ce7fa5524b292fd55a7
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55724
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Olaf Faaland <faaland1@llnl.gov>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Andreas Dilger [Wed, 6 Jul 2022 20:55:32 +0000 (14:55 -0600)]
LU-12885 llite: add enum ll_file_flags for clarity
Use enum ll_file_flags to store Lustre-internal flags on the open
file descriptor, instead of a generic "__u32 fd_flags", which can
easily be confused with any number of other flags in the code.
Rename variable "fd_flags" to "lfd_file_flags" to make this clear.
Test-Parameters: trivial
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: Idb4013610b9ef6f9461c8de275f6b5b4763ebbe5
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/45924
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Rajeev Mishra <rajeevm@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Timothy Day [Thu, 17 Apr 2025 15:58:29 +0000 (15:58 +0000)]
LU-18515 build: fix configure checks for ZFS 2.2.3
These config checks were missing certain headers. Thus,
the checks failed which caused the build to also fail when
trying to compile against ZFS 2.3.0+.
Fixes:
a13fc434c57f ("LU-17662 osd-zfs: Support for ZFS 2.2.3")
Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: I8e231f0c4581f435cb4209c767fc4727cb6cbfa0
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57452
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Akash B <akash-b@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Patrick Farrell [Tue, 25 Mar 2025 21:23:23 +0000 (17:23 -0400)]
LU-13814 clio: add coo_dio_pages_init
Just like the cl_page it's replacing, the cl_dio_pages
struct needs various pieces of information from the
different layers of the cl_object in order to do the IO.
This adds the skeletion for coo_dio_pages_init.
Test-Parameters: trivial
Signed-off-by: Patrick Farrell <pfarrell@whamcloud.com>
Change-Id: I30251b4b9e1455f87768e488647296390352cf88
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58530
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Patrick Farrell [Wed, 26 Mar 2025 21:09:14 +0000 (17:09 -0400)]
LU-13814 clio: add cl_dio_pages_init
Just like the cl_page it's replacing, the cl_dio_pages
struct needs various pieces of information from the
different layers of the cl_object in order to do the IO.
This means we need a cl_dio_pages init, analogous to
cl_page_alloc and coo_pages_init.
Note this does not implement coo_pages_init for any layers,
it just moves parts of the existing init code.
coo_dio_pages_init will be implemented in the next
patch.
Signed-off-by: Patrick Farrell <pfarrell@whamcloud.com>
Change-Id: I1fcf407b16d4077d94c7ba5afbc63bdd3fb3dfb4
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/52109
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Andreas Dilger [Wed, 23 Apr 2025 05:58:47 +0000 (23:58 -0600)]
LU-15935 tests: ignore replay-dual/33 cleanup error
The cleanup in replay-dual test_33 can fail to reset at_min
if the OST was already stopped on some node during cleanup.
Ignore these non-fatal errors during stack_trap cleanup.
Fixes:
1a79d395dd ("LU-15935 target: keep track of multirpc slots in last_rcvd")
Test-Parameters: trivial testlist=replay-dual env=ONLY=33
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I69d3feb9591256704b47c850c35ea97ffb500c1e
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58915
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Etienne AUJAMES <eaujames@ddn.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Brian Behlendorf [Fri, 11 Apr 2025 19:39:27 +0000 (12:39 -0700)]
LU-18886 zfs-osd: za_name flexible array OI scrub fix
Initialize the zap_attribute_t.za_name_len to resolve the
OI scrub failures observed with zfs-2.3. This is a follow up
to commit
d47a71f7a894a193957fe7771d43c5767979c117 which made
an identical fix for the other sites where a zap_attribute_t
is used.
Test-Parameters: fstype=zfs
Fixes:
d47a71f7a894a ("LU-18360 zfs-osd: za_name flexible array")
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Change-Id: Ib4295cbb7ce7e7efe0f7e67b82bc8c73a1f9df8d
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58762
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
James Simmons [Tue, 15 Apr 2025 17:17:17 +0000 (13:17 -0400)]
LU-18923 osd: move simple debugfs files to sysfs
Move simple files in debugfs for osd backends to general sysfs.
This makes them available as non-root.
Change-Id: If7a33b8a53c712a46735981653d86bdd2c9775a6
Signed-off-by: James Simmons <jsimmons@infradead.org>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58805
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
James Simmons [Thu, 10 Apr 2025 15:32:10 +0000 (11:32 -0400)]
LU-17924 tests: disable obdfilter-survey for ZFS
Starting with ZFS 2.2.7 the obdfilter-survey test fails due to
memory exhausting. For now disable the test for ZFS.
Test-Parameters: trivial
Change-Id: Ibebc637a9b733cf0b262d18de1baeef09108cd36
Signed-off-by: James Simmons <jsimmons@infradead.org>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58796
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
James Simmons [Tue, 15 Apr 2025 15:13:10 +0000 (11:13 -0400)]
LU-10870 tests: disable sanityn test 40a
If sanityn 40a is run several times there is a good chance the
test will fail. Disable the test until a solution is presented.
Currently Oleg's rocky8 setup will easily reproduce this
problem.
Test-Parameters: trivial testlist=sanityn
Change-Id: I0bdff999ecdf2481c2bd9eda6c4fc8b1cacd08d5
Signed-off-by: James Simmons <jsimmons@infradead.org>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58795
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
James Simmons [Tue, 15 Apr 2025 15:15:28 +0000 (11:15 -0400)]
LU-16489 tests: disable lustre_rsync 2c test
In normal maloo testing we see lustre_rsync 2c test one in a
while fails but for Oleg's rocky8 setup it fails constantly.
For now disable the test until its resolved.
Test-Parameters: trivial testlist=lustre-rsync-test
Change-Id: Icd824c9d56f53629989b1cee51a86c57a452e410
Signed-off-by: James Simmons <jsimmons@infradead.org>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58794
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Timothy Day [Fri, 11 Apr 2025 16:02:43 +0000 (16:02 +0000)]
LU-18921 ldlm: make client_obd_cleanup return void
client_obd_cleanup() can never fail and it always returns
0. Make the function return void instead and fix all of the
callers.
Test-Parameters: trivial
Fixes:
911b6167a37c ("LU-3810 obd: Cleanup client import if client_obd_setup fail")
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: I5a5987b4fafb712c35943620235620c6370a9f76
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58761
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Vandana Rungta <vrungta@amazon.com>
Reviewed-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Jian Yu [Tue, 8 Apr 2025 03:31:01 +0000 (20:31 -0700)]
LU-18902 tests: skip sanity/60g for older servers
This patch skips sanity/60g for older servers that
do not disable remote file statahead.
Test-Parameters: trivial
Test-Parameters: testlist=sanity env=ONLY=60g serverversion=2.12
Fixes:
02b5a407081c ("LU-11681 lmv: disable remote file statahead")
Change-Id: I7b26e9c0d8038db94bec3d2a006ec922457dec24
Signed-off-by: Jian Yu <yujian@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58718
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Rajeev Mishra <rajeevm@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Jian Yu [Tue, 8 Apr 2025 03:06:10 +0000 (20:06 -0700)]
LU-18900 tests: skip sanity/24G for older servers
This patch skips sanity/24G for older servers that
do not support migrating symlink in rename.
Test-Parameters: trivial
Test-Parameters: testlist=sanity env=ONLY=24G serverversion=2.12
Fixes:
9adc02c016d2 ("LU-11631 mdd: migrate symlink for cross-MDT rename")
Change-Id: Ib576f669e6ce76fecd0a50ac7e5eef38d3c2727a
Signed-off-by: Jian Yu <yujian@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58715
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Rajeev Mishra <rajeevm@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Patrick Farrell [Fri, 4 Apr 2025 14:24:18 +0000 (10:24 -0400)]
LU-18890 doc: add "lfs find -ls" option to lfs-find.1 man page
The "lfs find -ls" option added in LU-15504 was not
documented in the lustre/doc/lfs-find.1 man page. This
patch adds proper documentation for this option, including:
- Adding the option to the SYNOPSIS section
- Adding a detailed description in the OPTIONS section
- Adding an example showing how to use the option
Fixes:
1d8164fa ("LU-15504 utils: lfs find -ls function")
Test-Parameters: trivial
Signed-off-by: Patrick Farrell <pfarrell@whamcloud.com>
Change-Id: Iecdc99d490f840c9beea62fb3b2c0bf49031b08c
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58688
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: Frederick Dilger <fdilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Sergey Cheremencev [Fri, 21 Mar 2025 06:32:31 +0000 (09:32 +0300)]
LU-18875 quota: change lqe only under lock
All fields of an lqe, especially flags, must be changed only under a
lock protection. The flags like lqe_gl, lqe_is_reset, lqe_edquot are
the part of an unsigned long(8 bytes) memory region in lquota_entry.
It is impossible to change only 1 bit in a memory, so the general way
is to "mov" 1 byte to some register(AL), change it(AND, OR) in this
register and "mov" back to the memory. It is a window for a race and
might cause a corruption of the neighbour flags. So this patch adds a
locking for remain places where the flags or any lqe members are
changed without locking. One of known issues this patch is aimed to
sort out is the following assertion:
(qmt_lock.c:973:qmt_id_lock_glimpse()) ASSERTION( lqe->lqe_gl )
Restore one old assertion in qmt_id_lock_glimpse that was removed by
mistake in
16ee9ecdb0 - qmt_reba_thread() is the only thread that can
change lqe_gl flag. Also check that lqe_gl is not set when we are
freeing an lqe.
Fixes:
16ee9ecdb0 ("LU-16913 quota: fix ASSERTION(lqe->lqe_gl)")
Fixes:
78be823f33 ("LU-15218 quota: delete unused quota ID")
Signed-off-by: Sergey Cheremencev <scherementsev@ddn.com>
Change-Id: I954ed8aa23be01846e479a64c376c4b37af05268
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58612
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>
Arshad Hussain [Sun, 30 Mar 2025 00:00:41 +0000 (05:30 +0530)]
LU-9633 lod: Add kernel doc style for lod (Part 3)
This patch converts existing functional comments
to kernel doc style comments and removes '/**' for
comments which is not meant to be a kernel-doc comment
Test-Parameters: trivial
Signed-off-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Change-Id: Ica6613a5ae8a4ffe965e5451bb4fee939db980ec
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58603
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Anjus George <georgea@ornl.gov>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Petros Koutoupis <petros.koutoupis@hpe.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Arshad Hussain [Sun, 30 Mar 2025 14:01:03 +0000 (19:31 +0530)]
LU-9633 lod: Add kernel doc style for lod (Part 4)
This patch converts existing functional comments
to kernel doc style comments and removes '/**' for
comments which is not meant to be a kernel-doc comment
Test-Parameters: trivial
Signed-off-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Change-Id: I962a4a5eb33ea5b363dff21d2302df3ab584d012
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58602
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Anjus George <georgea@ornl.gov>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Petros Koutoupis <petros.koutoupis@hpe.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Shaun Tancheff [Sun, 30 Mar 2025 07:23:44 +0000 (14:23 +0700)]
LU-18871 dkms: prefer 'command -v' over 'which'
Prefer command -v over which to quash spurious output during
dkms build.
Test-Parameters: trivial testgroup=full-dkms
HPE-bug-id: LUS-12801
Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: I63494f0bbb16c5dff85fcac2e8cb9c141c38bdd2
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58594
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Alexander Zarochentsev <alexander.zarochentsev@hpe.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Andreas Dilger [Sun, 30 Mar 2025 18:38:38 +0000 (12:38 -0600)]
LU-13726 build: fix checkpatch fix matching
When the spelling.txt suspect string is a regexp, then the matched
$typo string is different from the regexp, and is not a valid key
in the $spelling_fix associative array. This generates an error:
WARNING: 'foo' may be misspelled - perhaps 'CHECKPATCH ERROR'
because $typo is not found in $spelling_fix and $typo_fix is empty.
If $typo_fix is empty after lookup, iterate the $spelling_fix keys
to find the one matching $typo so that it can be used as $typo_fix.
Avoid length warnings from DNAME usage, improve spelling suggestion.
Test-Parameters: trivial
Fixes:
d097fcc51b ("LU-18810 obd: add a parameter to enable filename encoding")
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I6d29f9470d16c340ebf5bcd2384b477bac500c13
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58593
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Colin Faber <cfaber@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Vandana Rungta [Fri, 21 Mar 2025 16:06:25 +0000 (16:06 +0000)]
LU-18845 obdclass: NPE in with_imp_locked_nested
Unable to handle kernel NULL pointer dereference
at virtual address
0000000000000588
down_read+0x28/0x100
active_show+0x2c/0x90 [osp]
lustre_attr_show+0x1c/0x2c [obdclass]
active_show calls macro with_imp_locked with an
obd_device, which in turn gets a lock on
u.cli.cl_sem in obd_device. The exception is at offset 0x588,
and u.cli.cl_sem is at 0x588 in struct obd_device,
which confirms that a NULL obd was being used.
This fix adds checks for NULL obd to active_show.
Signed-off-by: Vandana Rungta <vrungta@amazon.com>
Change-Id: Ia0ff9e7a07f40bb7dd9c0d4cc0ecc38ea8d61d0b
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58499
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Neil Brown <neil@brown.name>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Timothy Day <timday@amazon.com>
Andreas Dilger [Wed, 9 Oct 2024 21:48:46 +0000 (15:48 -0600)]
LU-12597 tests: remove comma_list for MDTs part 4
Most places that use $(mdts_nodes) also call $(comma_list ...) at the
same time. Rather than returning a space-separated list of nodes from
those functions, instead return a comma-separated list suitable for
use by do_nodes() and similar functions calling pdsh internally.
This avoids the repeated calls to comma_list() and makes the tests
easier to read. Also, since comma_list() internally deduplicates the
node list, it isn't necessary to do that in the callers. A few tests
need to convert comma-separated osts_nodes into space-separated nodes.
Test-Parameters: trivial testlist=sanity-scrub
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I34509872350987564ca560ad93fdaba0443ebbe5
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58022
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Andreas Dilger [Thu, 9 Nov 2023 00:10:05 +0000 (17:10 -0700)]
LU-10026 sptlrpc: don't crash for too-large chunk size
If the chunk size is too large, don't fall off the
end of the page_pool[] array with a large "order".
EX-bug-id: EX-8270
Test-Parameters: trivial
Fixes:
d945f1b064 ("EX-6261 ptlrpc: extend sec bulk functionality")
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Signed-off-by: Artem Blagodarenko <ablagodarenko@ddn.com>
Change-Id: I9cdf059860cab3c22857766dba5617358f0aaba9
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57845
Reviewed-by: Sergey Cheremencev <scherementsev@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Etienne AUJAMES [Fri, 17 Jan 2025 15:21:49 +0000 (16:21 +0100)]
LU-18653 utils: add "--clear-fixed" to "lfs migrate" help
Add the "--clear-fixed" option to the "lfs migrate" help string.
And correct the lfs-migrate.1 manpage:
s/LMV_HASH_FIXED_FLAG/LMV_HASH_FLAG_FIXED/
Test-Parameters: trivial
Fixes:
392f558f40 ("LU-17810 dne: dir restripe without fixed hash flag")
Signed-off-by: Etienne AUJAMES <etienne.aujames@cea.fr>
Change-Id: Ie5db5264777b036043f73453f22bebdf58f8ebcd
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57814
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
James Simmons [Thu, 10 Apr 2025 14:46:03 +0000 (10:46 -0400)]
LU-15420 sec: handle fscrypt_require_key removal in newer kernels
Kernel commit
de3cdc6e75179a2324c moved fscrypt_require_key()
to the fscrypt_private.h which makes it no longer visible.
With this change move to fscrypt_has_encryption_key() which
existed for some time. Once difference is
fscrypt_has_encryption_key() reports success when the inode has
no encryption so we need to test IS_ENCRYPT(inode) as well.
Expand the ll_has_encryption_key() to also test for IS_ENCRYPT
since this is the most common use case.
Update LLCRYPT_FNAME_DIGEST to LLCRYPT_EXTRACT_DIGEST for mdd
layer.
Test-Parameters: trivial testlist=sanity-sec
Change-Id: I402f222f635e7c0f026c53093bb17ec4d461e189
Signed-off-by: James Simmons <jsimmons@infradead.org>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57754
Tested-by: Maloo <maloo@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Vikentsi Lapa [Tue, 3 Dec 2024 12:48:33 +0000 (12:48 +0000)]
LU-17224 tests: improve OST out-of-space testing
Add file system reservation with fallocate
to reduce I/O size with dd command
Test-Parameters: trivial testlist=sanityn env=MAXFREE=
60000000
Signed-off-by: Vikentsi Lapa <vlapa@whamcloud.com>
Change-Id: I40b64c1825aa5067788b6b31902d282ba59ccd13
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57260
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Rajeev Mishra <rajeevm@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Patrick Farrell [Tue, 25 Mar 2025 16:10:14 +0000 (12:10 -0400)]
LU-17814 utils: add parallel find arg
lfs find is currently serial, but it can be much faster if
we add a parallel implementation where it creates a work
unit for every directory and handles them in parallel.
This is the first patch of that implementation.
Add arg to control thread count.
No implementation yet.
Test-Parameters: trivial
Signed-off-by: Patrick Farrell <pfarrell@whamcloud.com>
Change-Id: I73b542decd75e1f7580f584d2ea6a219af51be4c
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57221
Reviewed-by: Marc Vef <mvef@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Shaun Tancheff [Fri, 11 Apr 2025 01:39:43 +0000 (08:39 +0700)]
LU-18906 build: page_cache_alloc removed, missing return
Fix gcc -Wreturn-type
nrs_orr.c:1680:1: error: control reaches end of non-void \
function [-Werror=return-type]
Fix gcc -Wimplicit-function-declaration
file.c:678:24: error: implicit declaration of function \
page_cache_alloc [-Werror=implicit-function-declaration]
nodemap_idx_cluster_roles_modify() needs to be static to avoid
error: no previous prototype for 'nodemap_idx_cluster_roles_modify' \
[-Werror=missing-prototypes]
Test-Parameters: trivial
Fixes:
f7b1fea6bff ("LU-16518 lustre: fix implicit-fallthrough warnings")
Fixes:
4a14a51a8e0 ("LU-18448 llite: read dir on open")
Fixes:
904a7f1e839 ("LU-17431 nodemap: introduce child_raise_privileges property")
Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: I6d5131748efc7d7fcc51c4dc3b06070057cb0f0e
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58724
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: Robert Read <rread@ddn.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Etienne AUJAMES [Mon, 10 Mar 2025 17:26:42 +0000 (13:26 -0400)]
LU-17166 ptlrpc: add pb_projid field in ptlrpc_body
This patch "tags" ptlrpc requests with projid (with pb_projid field in
ptlrpc_body). This will enable to add server projid stats and TBF
scheduling based on projid.
The projid comes from the inode (struct ll_inode_info::lli_projid).
For MDT request by name (lookup/create), if the parent have the projid
inherit flag ("LLIF_PROJECT_INHERIT"), the request will be "tag" with
the parent projid.
To build an OSC request, cl_req_projid_set() is added to retrieve the
projid from the VPP layer.
Signed-off-by: Etienne AUJAMES <eaujames@ddn.com>
Signed-off-by: Qian Yingjin <qian@ddn.com>
Change-Id: I98a73023268a5f24549e3204d6d42a3f057a0798
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/54920
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>
Mikhail Pershin [Fri, 4 Apr 2025 13:29:07 +0000 (16:29 +0300)]
LU-18896 utils: don't miss null-terminator in append_param
The code to move tail can skip null-terminator if there is
no tail and parameter is the last one.
Fixes:
f9d346f0c1 ("LU-18587 utils: allow large NID lists in mount tools")
Signed-off-by: Mikhail Pershin <mpershin@whamcloud.com>
Change-Id: I088f7a0eda80a9df1d55b19db28793aa488cc95e
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58685
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>
James Simmons [Thu, 10 Apr 2025 14:41:12 +0000 (10:41 -0400)]
LU-18783 llite: ensure dentry name within ll_namelen
Some of the pjdfstest POSIX filename length tests are failing.
This is due to the test expecting a ENAMETOOLONG error to be
reported instead of the current ENOENT error.
Add a test for the dentry name len to ensure its not longer than
sbi->ll_namelen. pjdfstest is expecting the largest file name size
to be NAME_MAX but newer ZFS versions allow names up to 1024 chars.
Ensure client limits filenames to be within NAME_MAX and OSD limit.
Add a tunable parameter llite.*.namelen_max to set this if needed.
Fixes:
7d197837e0 ("LU-4219 mdd: limit os_namelen to the max of NAME_MAX")
Signed-off-by: James Simmons <jsimmons@infradead.org>
Change-Id: I6bd872d69aca173d61ac55a2f8ffc505efb3f462
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58336
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Oleg Drokin [Thu, 31 Oct 2024 19:29:46 +0000 (15:29 -0400)]
LU-18072 ptlrpc: do not search for duplicate cancel requests
Cancel requests don't have any max inflight limitations, so
really could arrive in huge numbers and if they are also have a resent
flag, that leads to a lot of very expensive duplicates search that is
totally unneeded at the same time, so let's skip the check for cancels.
Change-Id: Id4be03a3c9406867adcdcfd31ed91ecc7b12f700
Signed-off-by: Oleg Drokin <green@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56843
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andriy Skulysh <andriy.skulysh@hpe.com>
Reviewed-by: Mikhail Pershin <mpershin@whamcloud.com>
Reviewed-by: Olaf Faaland <faaland1@llnl.gov>
Alex Zhuravlev [Tue, 15 Apr 2025 08:58:08 +0000 (11:58 +0300)]
LU-18293 tests: Revert "LU-18293 test: use direct IO for"
This reverts commit
2f96622a522924c7b9e26fd2dfdf34eb6227b7a6
as it causes many failures in sanity-quota/71a
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: I94d5ca67db64c0eead079ae415455f9c5951f9ed
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58790
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Serguei Smirnov [Mon, 7 Apr 2025 23:20:11 +0000 (16:20 -0700)]
LU-18899 o2iblnd: handle RDMA_CM_EVENT_ESTABLISHED gracefully
Modify kiblnd_cm_callback() to handle RDMA_CM_EVENT_ESTABLISHED
gracefully: report an error with relevant details and ignore
the event rather than just cause a crash with LBUG
if the connection state is not RDMA_CM_EVENT_ESTABLISHED or
IBLND_CONN_PASSIVE_WAIT as expected.
Test-Parameters: trivial testlist=sanity-lnet
Signed-off-by: Serguei Smirnov <ssmirnov@whamcloud.com>
Change-Id: I8ddde6786eac99699665a71eb0587165e6552ea6
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58711
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Cyril Bordage <cbordage@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Chris Horn [Thu, 3 Apr 2025 19:13:51 +0000 (13:13 -0600)]
LU-18893 lnet: Use negative errno for ERR_PTR
request_module() can return a positive value from modprobe. If this
happens then we need to provide a negative errno for ERR_PTR().
Test-Parameters: trivial testlist=sanity-lnet
Fixes:
6e76d3569b ("LU-12511 lnet: rework lnd module loading ")
Signed-off-by: Chris Horn <chris.horn@hpe.com>
Change-Id: I400aa5b350fe274d18c2edb38479bb428907efb6
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58669
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Serguei Smirnov <ssmirnov@whamcloud.com>
Reviewed-by: Cyril Bordage <cbordage@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Timothy Day [Thu, 3 Apr 2025 05:27:28 +0000 (01:27 -0400)]
LU-18876 build: KMODEXT is always .ko
KMODEXT is always .ko, so let's remove it
to simplify the kernel Makefiles.
Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: I7e44849b8f77730cf112292d619116907661f52a
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58661
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Shaun Tancheff [Thu, 3 Apr 2025 04:13:34 +0000 (11:13 +0700)]
LU-18888 o2ib: prepare_kernel_cred with &init_task
Linux v6.1-rc1-12-g5a17f040fa33
cred: Do not default to init_cred in prepare_kernel_cred()
This breaks kiblnd_resolve_addr() by interpreting the NULL as
an -ENOMEM instead of an invalid task being used.
The new pattern is to pass &init_task to get init_cred instead
of NULL.
This needs no special handling for older kernels.
HPE-bug-id: LUS-12806
Fixes:
30b356a28b ("LU-14296 lnet: use an unbound cred in kiblnd_resolve_addr()")
Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: I31caa7f5adb23265985fba6db7b28d48975e7e9d
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58654
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Alexander Zarochentsev <alexander.zarochentsev@hpe.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Alex Zhuravlev [Wed, 2 Apr 2025 03:36:34 +0000 (06:36 +0300)]
LU-18882 tests: sanity/56ca to reset readonly and wait
sanity/56ca should wait till readonly=0 is propagated,
otherwise few subsequent tests may find OST0000 read-only
and fail.
Fixes:
51c4e89318 ("LU-18833 ofd: Set OS_STATE_* flags correctly for read-only devices")
Test-Parameters: trivial
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: I7767c0ec932395e127ffb53fd91f9af182a34b40
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58635
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.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>
Timothy Day [Wed, 2 Apr 2025 18:30:27 +0000 (14:30 -0400)]
LU-18876 misc: make dbgcksum_file_name static
The global variable dbgcksum_file_name is defined
twice: once in OSC and another time in target. This
causes a linker error when the Lustre modules are
compiled into the static kernel image.
Resolve this by making both instances local to
the functions that require them using
OBD_ALLOC()/FREE().
Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: I37ac4c60754082561a65e61ab2d956d68555394f
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58629
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Arshad Hussain [Thu, 27 Mar 2025 15:35:54 +0000 (21:05 +0530)]
LU-9633 lod: Add kernel doc style for lod (Part 1)
This patch converts existing functional comments
to kernel doc style comments and removes '/**' for
comments which is not meant to be a kernel-doc comment
Test-Parameters: trivial
Signed-off-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Change-Id: I44fbe54e08ffb76a2d14eb0c716bdfa01ac5fc4e
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58605
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Anjus George <georgea@ornl.gov>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Petros Koutoupis <petros.koutoupis@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Arshad Hussain [Thu, 27 Mar 2025 17:30:04 +0000 (23:00 +0530)]
LU-9633 lod: Add kernel doc style for lod (Part 2)
This patch converts existing functional comments
to kernel doc style comments and removes '/**' for
comments which is not meant to be a kernel-doc comment
Test-Parameters: trivial
Signed-off-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Change-Id: I00844d369329541da28ef55f997fd295930db0c5
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58604
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Anjus George <georgea@ornl.gov>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Etienne AUJAMES [Fri, 28 Mar 2025 17:57:11 +0000 (18:57 +0100)]
LU-18860 mdd: fix CLF_UNLINK_LAST on open file unlink
The flag CLF_UNLINK_LAST should be set for UNLINK changelog if the
last link is removed.
This flag is not set if the file is open on a client.
If the file open, Lustre will re-link the file in the PENDING
MDT directory. So, la_nlink == 1 after mdd_finish_unlink() and
CLF_UNLINK_LAST will not be set.
Check if the object is dead instead of relying on la_nlink to set the
flag.
Update the sanity 161c for that use case.
Test-Parameters: testlist=sanity env=ONLY=161c,ONLY_REPEAT=20
Test-Parameters: testlist=sanity env=ONLY=161
Signed-off-by: Etienne AUJAMES <eaujames@ddn.com>
Change-Id: I35ef530cd55cd5e07ad79a7cdae056de95735f61
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58578
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Qian Yingjin <qian@ddn.com>
Reviewed-by: Lai Siyao <lai.siyao@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Timothy Day [Thu, 27 Mar 2025 02:29:43 +0000 (22:29 -0400)]
LU-16518 mgs: remove dt2msg_obj/dev() and friends
Several of these helper functions are helping no one.
Let's remove them from the header.
Fixes:
ef0b61b01f0f ("LU-1301 mgs: lu device for mgs")
Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: Idf3a5dfa4549f6882e9c195301f58b90f86bee52
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58553
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Timothy Day [Thu, 27 Mar 2025 02:17:08 +0000 (22:17 -0400)]
LU-16518 lnet: remove unused lnet_find_peer_net_locked()
This function is no longer used, so let's drop it.
Fixes:
4e48761a5719 ("LU-9120 lnet: refactor lnet_select_pathway()")
Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: I71ab22793e63577f7e0fb88dfc14cddcbc32e17e
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58552
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Alex Zhuravlev [Sun, 9 Mar 2025 14:27:20 +0000 (17:27 +0300)]
LU-18788 ptlrpc: cancel PM-QoS delayed work
PM-QoS request can be inactive, but this should not prevent cleanup
upon connection finalization. otherwise the kernel may run the timer
when the module has been unloaded and hit oops:
BUG: unable to handle kernel paging request at
000000000000a578
Oops: 0002 [#1] PREEMPT SMP DEBUG_PAGEALLOC
CPU: 1 PID: 0 Comm: swapper/1
RIP: 0010:expire_timers+0x6a/0x1b0
...
Call Trace:
<IRQ>
run_timer_softirq+0x88/0x150
__do_softirq+0xd2/0x4cd
irq_exit_rcu+0xda/0xe0
irq_exit+0x5/0x20
smp_apic_timer_interrupt+0xbf/0x290
apic_timer_interrupt+0xf/0x20
</IRQ>
Fixes:
54a64ea818 ("LU-18446 ptlrpc: lower CPUs latency during client I/O")
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: I6f93894290eb5aa6497c0dc39ce98dece38f9028
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58354
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Bruno Faccini <bfaccini@nvidia.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Timothy Day [Sat, 8 Mar 2025 21:46:32 +0000 (16:46 -0500)]
LU-16518 lnet: fix implicit-fallthrough warnings
Explicitly lable switch-case intentional fallthroughs
and reorder cases as needed to silence implicit-fallthrough
warnings as reported by Clang.
Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: If6550d97e9f49a6722f8e9a2ae34ba2338f39e73
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58349
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Chris Horn <chris.horn@hpe.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Andreas Dilger [Wed, 9 Oct 2024 21:56:10 +0000 (15:56 -0600)]
LU-12597 tests: remove comma_list for MDTs part 8
Most places that use $(mdts_nodes) also call $(comma_list ...) at the
same time. Rather than returning a space-separated list of nodes from
those functions, instead return a comma-separated list suitable for
use by do_nodes() and similar functions calling pdsh internally.
This avoids the repeated calls to comma_list() and makes the tests
easier to read. Also, since comma_list() internally deduplicates the
node list, it isn't necessary to do that in the callers. A few tests
need to convert comma-separated osts_nodes into space-separated nodes.
Test-Parameters: trivial
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I38509872350987564ca560ad93fdaba0443ebbe5
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58026
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Alex Deiter <adeiter@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Shaun Tancheff [Thu, 3 Apr 2025 05:53:33 +0000 (12:53 +0700)]
LU-18506 ptlrpc: improve lu_env_add error handling
Improve error handling for cases when lu_env_add() could fail.
HPE-bug-id: LUS-12726
Fixes:
d891becebb ("LU-17668 ptlrpc: create env in few more threads")
Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: Ie6627438340196ef50355893c52eacf3322fb2ef
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57272
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Keguang Xu [Thu, 14 Nov 2024 07:20:25 +0000 (15:20 +0800)]
LU-18244 docs: update lfs mkdir description
Accompany with the patch 56925 where "lfs mkdir -C -N" is
supported aiming to align the behavior of OSTs, this patch
adds related description.
Test-Parameters: trivial
Signed-off-by: Keguang Xu <squalfof@gmail.com>
Change-Id: I17f8aa3d5fa7df2c2b419320a0bedd0686ebaee0
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57011
Tested-by: Maloo <maloo@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Lai Siyao <lai.siyao@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Bobi Jam [Fri, 1 Nov 2024 11:22:24 +0000 (19:22 +0800)]
LU-15834 lfs: rid of global variable "error_loc"
This patch removes global variable "error_loc", and makes error
string local variables, so that the functions using them are
thread safe.
Test-Parameters: trivial testlist=sanity-flr,sanity-pfl
Signed-off-by: Bobi Jam <bobijam@whamcloud.com>
Change-Id: Ib93ff122e84c94b8363b69281b5ff3fa6abb4164
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56852
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>
Marc Vef [Tue, 8 Apr 2025 14:09:00 +0000 (16:09 +0200)]
LU-18757 tests: check UID/GID/PROJID are set in sanity-sec 75
This patch extends sanity-sec test 75 testing all RPCs that modify
UID/GID/PROJID on the MDT inode and OST objects with the corresponding
operations. Using debugfs, the test verifies that the IDs are set
correctly.
Test-Parameters: trivial testlist=sanity-sec env=ONLY="75"
Signed-off-by: Marc Vef <mvef@whamcloud.com>
Change-Id: Iecb69bfe7b938f4fd74f196476bdfdee35197601
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58728
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Marc Vef [Wed, 2 Apr 2025 19:49:59 +0000 (21:49 +0200)]
LU-18757 client: Set UID/GID/PROJID on OST for OST_PUNCH RPC
The OST_PUNCH RPC (as generated by "truncate -s" commands) does not
set the UID/GID/PROJID stored on an OST object. This is because the
obdo fields and corresponding valid flags are not set on the client
and OST sides.
This patch adds support for setting UID/GID/PROJID on the
corresponding OST objects for operations that send the OST_PUNCH RPC.
Sanity-sec test_75 is added to check that the IDs are set on the OST
objects.
Signed-off-by: Marc Vef <mvef@whamcloud.com>
Change-Id: I9baabbe9e523c98523fa30d387197e1faf38199a
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58647
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Alexander Zarochentsev [Sat, 29 Mar 2025 09:53:41 +0000 (09:53 +0000)]
LU-18869 dne: mdt migrate to check layout
MDT migrate doesn't check that the requested dir
layout already applied or the old layout conforms
the new one.
Adding a check for that allows to avoid unnecessary
fs opeations especially for repeating migration attempts
after a migration failure.
The following condition and the premature exit from
the migrate procedure:
if (spobj == tpobj)
GOTO(out, rc = -EALREADY);
was removed from mdd_migrate_object() due to it
didn't allow repeat of the same migrate command to
try to migrate objects which had been skipped in the
previous migrate attempt as they were open or had
LinkEA overflow.
lod_striping_from_default() should use named
constant of LMV_OFFSET_DEFAULT instead of -1.
HPE-bug-id: LUS-12657
Signed-off-by: Alexander Zarochentsev <alexander.zarochentsev@hpe.com>
Change-Id: Iaacffcc1ecf34c5e01cba57a44c5e3ade97d936a
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58585
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Lai Siyao <lai.siyao@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Vitaly Fertman [Mon, 31 Mar 2025 17:51:28 +0000 (20:51 +0300)]
LU-18878 ptlrpc: improve ping evictor and recovery timeout
Let's re-use the logic used for extending the ldlm prolong timeout for
the ping evictor timeout and for recovery timer timeout - use the AT
instead of hard-coded values.
As the AT-based ping timeout is extended on different value each time,
moving an updated export to the end of the timed list is able to make
it not well sorted. Change the list of timed exports, to the rbtree.
Partially revert LUS-11054, tunable ping_evict_timeout_multiplier is
not needed anymore
A minor cleanup of exp_timed flag on connect/reconnect.
Fixes:
8e66f061c ("LU-16002 ptlrpc: adds configurable ping interval”)
HPE-bug-id: LUS-11723
Signed-off-by: Vitaly Fertman <vitaly.fertman@hpe.com>
Change-Id: I97b9795746ccd4242f9798c8192abd4d7a57bbac
Reviewed-on: https://es-gerrit.hpc.amslabs.hpecorp.net/162935
Reviewed-by: Alexey Lyashkov <alexey.lyashkov@hpe.com>
Reviewed-by: Alexander Boyko <alexander.boyko@hpe.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58620
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>
Oleg Drokin [Thu, 10 Apr 2025 07:00:51 +0000 (03:00 -0400)]
New tag 2.16.54
Change-Id: Icd8bc90c1843f6b3fc0489e7b651370362082d3f
Signed-off-by: Oleg Drokin <green@whamcloud.com>
Alex Zhuravlev [Mon, 4 Nov 2024 04:41:45 +0000 (07:41 +0300)]
LU-18419 tests: use ior when installed
try to find both ior and IOR.
Test-Parameters: trivial
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: Ief3effd7cab542195a8f7aff77fb58ea57a71469
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56874
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Andreas Dilger [Sun, 30 Mar 2025 04:11:40 +0000 (22:11 -0600)]
LU-13726 build: fix spelling.txt pattern matching
Fix the overly-broad regexp "%.*s" added for "DNAME" checking,
which matches *all* string format specifiers (since ".*" can be
zero or more characters). This should be matching the literal
format "%.*s" for fixed-length strings.
Reorder other strings in spelling.txt to (roughly) alphabetical
order to make them easier to find.
Test-Parameters: trivial
Fixes:
d097fcc51b ("LU-18810 obd: add a parameter to enable filename encoding")
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I0009f9470d16c340ebf5bcd2384b477bac500c13
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58596
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Jian Yu [Sat, 29 Mar 2025 06:28:03 +0000 (23:28 -0700)]
LU-18867 kernel: update RHEL 8.10 [4.18.0-553.46.1.el8_10]
Update RHEL 8.10 kernel to 4.18.0-553.46.1.el8_10.
Test-Parameters: trivial fstype=ldiskfs mdtcount=4 mdscount=2 \
clientdistro=el8.10 serverdistro=el8.10 testlist=sanity
Test-Parameters: optional fstype=zfs mdtcount=4 mdscount=2 \
env=SANITY_EXCEPT="66 413" \
clientdistro=el8.10 serverdistro=el8.10 testlist=sanity
Test-Parameters: optional fstype=ldiskfs mdtcount=4 mdscount=2 \
clientdistro=el8.10 serverdistro=el8.10 testgroup=full-dne-part-1
Test-Parameters: optional fstype=ldiskfs mdtcount=4 mdscount=2 \
clientdistro=el8.10 serverdistro=el8.10 testgroup=full-dne-part-2
Test-Parameters: optional fstype=ldiskfs mdtcount=4 mdscount=2 \
clientdistro=el8.10 serverdistro=el8.10 testgroup=full-dne-part-3
Test-Parameters: optional fstype=zfs mdtcount=4 mdscount=2 \
clientdistro=el8.10 serverdistro=el8.10 testgroup=full-dne-zfs-part-1
Test-Parameters: optional fstype=zfs mdtcount=4 mdscount=2 \
clientdistro=el8.10 serverdistro=el8.10 testgroup=full-dne-zfs-part-2
Test-Parameters: optional fstype=zfs mdtcount=4 mdscount=2 \
clientdistro=el8.10 serverdistro=el8.10 testgroup=full-dne-zfs-part-3
Change-Id: I3e1a75def1d2856686732c3254e7b0d6128d86e5
Signed-off-by: Jian Yu <yujian@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58579
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>
Emoly Liu [Fri, 28 Mar 2025 10:30:54 +0000 (18:30 +0800)]
LU-18834 obdclass: check overflow when doing sum in stats
Check overflow when calculating cl_sum and cl_sumsquare in stats.
Signed-off-by: Emoly Liu <emoly@whamcloud.com>
Change-Id: Icdf31324ef0f06adc184e6fe5348acad25962d53
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58566
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Zhenyu Xu <bobijam@hotmail.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Sergey Cheremencev [Tue, 18 Mar 2025 00:14:37 +0000 (03:14 +0300)]
LU-18859 quota: show default quota and root squash
When show default quotas don't swap ID=0 with squashed ID.
It is not required as default quotas are stored in a ROOT
lqe. Patch is against the following panic:
(qmt_handler.c:58:qmt_get())
ASSERTION( !is_default || id->qid_uid == 0 ) failed:
(qmt_handler.c:58:qmt_get()) LBUG
...
dump_stack+0x41/0x60
lbug_with_loc.cold.8+0x5/0x43 [libcfs]
qmt_get+0x185/0x3e0 [lquota]
qmt_quotactl+0x309/0xa10 [lquota]
mdt_quotactl+0x21f/0x880 [mdt]
tgt_request_handle+0xc9c/0x1990 [ptlrpc]
ptlrpc_server_handle_request+0x323/0xbd0 [ptlrpc]
ptlrpc_main+0xb45/0x13a0 [ptlrpc]
kthread+0x134/0x150
Cleanup lqes created in sanity-quota_87 "lfs quota -a should
print default quota setting". Without that new default quota
limits are applied to 50 default lqes created in test case 87.
It produces too many useless lustre debug logs.
Add into stack_trap restoring initial nodemap values changed
in tests 1j and 75.
Fixes:
2686838fef ("LU-18240 sec: enforce per-nodemap project quota for root")
Fixes:
a4fbe7341b ("LU-14739 quota: nodemap squashed root cannot bypass quota")
Fixes:
115562106b ("LU-18453 quota: show default quota in lfs quota -a")
Signed-off-by: Sergey Cheremencev <scherementsev@ddn.com>
Change-Id: Ieef5f8b99c92d8fef3addcb7d55771c96c82129f
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58563
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Hongchao Zhang [Tue, 18 Mar 2025 08:40:02 +0000 (16:40 +0800)]
LU-18293 test: use direct IO for quota test
In subtest 1b, 1c, 1d, the quota test should use DD with direct flag
to make sure the over-quota check is correct.
Test-Parameters: trivial testlist=sanity-quota env=ONLY=1,ONLY_REPEAT=100
Signed-off-by: Hongchao Zhang <hongchao@whamcloud.com>
Change-Id: Ief327fb56fdd2e5911e5f57256d5ec683e5edf8e
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58533
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Sergey Cheremencev <scherementsev@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Andreas Dilger [Wed, 26 Mar 2025 07:55:11 +0000 (01:55 -0600)]
LU-16134 utils: un-deprecate 'lctl set_param -F'
The "lctl set_param -F" command was accidentally disabled in 2.16 due
to a mis-merge between two in-flight patches. Restore this command.
Change some functions to use "const char" for string arguments.
Add an example usage of "lctl set_param -F" in the lctl-set_param.8
man page, and update it to match style guidelines. Add descriptions
of the usage examples in the EXAMPLES section.
Update checkpatch-man.pl to quiet spurious warnings about examples
with client#, mgs#, mds#, or oss# in the command-line prompt text.
Test-Parameters: trivial
Test-Parameters: testlist=conf-sanity env=ONLY=123 combinedmdsmgs=false
Test-Parameters: testlist=conf-sanity env=ONLY=123 combinedmdsmgs=true
Fixes:
8be38f4bd8 ("LU-11077 utils: move get/set/list_param into own file")
Fixes:
29cfdc2f1e ("LU-16134 utils: adds lctl apply_yaml")
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I7e8140bf5e1c5747df4785539a6fda491d500c1e
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58532
Tested-by: Maloo <maloo@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Alexander Boyko <alexander.boyko@hpe.com>
Andreas Dilger [Fri, 21 Mar 2025 23:09:03 +0000 (17:09 -0600)]
LU-16049 llite: struct cleanup and option ordering
Reorder some fields in struct ll_file_data and ll_inode_info to
remove holes to save space in these commonly-used structures.
Rename struct ll_file_data ll_lock_no_expand->lfd_lock_no_expand.
Alphabetize LL_SBI_ enum to be in alphabetical order (by option
type) so that it is easier to find options, and to deconflict
future field insertions so that they are not always at the end.
These values are only used in memory on the client.
Partly alphabetize the llite_attrs table to make it easier to
find entries, and deconflict future field insertions. Not fully
ordered to avoid conflicts with in-flight patches.
There should not be any functional changes in this patch.
Test-Parameters: trivial
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I8b58e59bc7e5d4ab7422303edcac0036c82540e5
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58515
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Andreas Dilger [Thu, 20 Mar 2025 00:22:45 +0000 (18:22 -0600)]
LU-18837 tests: fix numeric comparison in sanity/101a
Use (( ... )) instead of [[ ... ]] for numeric comparisons.
Test-Parameters: trivial
Fixes:
ff78e1aa33 ("LU-4322 tests: re-enable 101a in dne config")
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I5e210e0ca6495df4497ef7071086ef5928c267eb
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58469
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Andreas Dilger [Mon, 17 Mar 2025 08:11:33 +0000 (02:11 -0600)]
LU-18803 lmv: add statfs stats to LMV device
Enable the statfs stats for LMV to show aggregate stats, including
the marged (minimum) os_namelen from all MDTs.
Merge os_state together from targets. Merge "downgrade" flags if
any target has a problem, mask "upgrade" flags if any target does
not have this improvement.
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I07451e65b04e5570a025bd9ff2e72f34a00273c7
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58432
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Artem Blagodarenko <ablagodarenko@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Timothy Day [Wed, 26 Feb 2025 04:26:13 +0000 (23:26 -0500)]
LU-18752 obd: standardize error handling in obd_class.h
Remove OBD_CHECK_DEV_ACTIVE in favor of adding the same
checks obd_check_dev(). Convert all callers to use
obd_check_dev(). At the same time, cleanup imp_check_ops()
and fix Lustre macro usage.
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: I270799dd36ca5e312f1d3257bdd9aa68fdd1e835
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58223
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Timothy Day [Sat, 29 Mar 2025 22:28:57 +0000 (18:28 -0400)]
LU-18687 doc: move man pages to Documentation [0]
Consolidate all of the man pages into the top
level Documentation directory.
Start by setting up the initial directory
structure in Documentation/.
Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: I15ed0687803513a7726cc5bd53b5ee5eb8f699f0
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58021
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Ellis Wilson <elliswilson@microsoft.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Shaun Tancheff [Wed, 19 Feb 2025 09:38:10 +0000 (16:38 +0700)]
LU-18475 build: compatibility updates for kernel 6.13
Linux v5.8-2483-gc0842fbc1b18
random32: move the pseudo-random 32-bit definitions to prandom.h
Include prandom.h when available
Linux v6.13-rc1-2-gcdd30ebb1b9f
module: Convert symbol namespace to string literal
__stringify macros used by MODULE_IMPORT_NS()
Linux v6.12-rc1-5-gfd15ba4cb00a
ceph: Remove call to PagePrivate2()
PagePrivate2 removed, provide a replacement for older kernels.
Test-Parameters: trivial
Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: I6e1e43bad2fff967bbfce2e3df0f0f6ff251e413
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57906
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Alex Zhuravlev [Mon, 23 Dec 2024 05:35:09 +0000 (08:35 +0300)]
LU-7021 osd: fix credits optimization
as object's uid/gid can change after declaration in a concurrent
thread, we can't really trust them to optimaze credits calculation.
so only target uid/gid (what we declare to change to) can be used
for optimization.
Fixes:
9f79d4488 ("LU-10048 ofd: take local locks within transaction")
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: If859e64033487574ebb670e80f11c968f1595d00
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57570
Reviewed-by: Mikhail Pershin <mpershin@whamcloud.com>
Reviewed-by: Li Dongyang <dongyangli@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Keguang Xu [Wed, 15 Jan 2025 05:57:30 +0000 (13:57 +0800)]
LU-17055 ldiskfs: add falloc(zero) for OST/ext
This patch implements falloc(FALLOC_FL_ZERO_RANGE)
on the ldiskfs backend.
Here, we just follow the implementation of "LU-10048 osd:
async truncate" where we as well execute zeroing outside
of main transaction handle, to avoids restarting zeroing
transaction handles in main transaction.
NOTE: this is the 1st part of falloc(zero) where it functions
only on ldiskfs-extend. To address DoM/indirect part another
patch will be added.
Signed-off-by: Keguang Xu <squalfof@gmail.com>
Change-Id: I76310546715f96872bf4dd441beb453ee4ac0abe
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57763
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: Qian Yingjin <qian@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Sebastien Buisson [Tue, 25 Jun 2024 11:02:55 +0000 (13:02 +0200)]
LU-17431 nodemap: introduce child_raise_privileges property
The new 'child_raise_privileges' property is a mask of nodemap
properties. It is set to 'none' by default, meaning child nodemaps can
only lower privileges established by their parent nodemap.
Parent nodemaps can grant permission for child nodemaps to raise
privilege associated with a nodemap property by adding it to
child_raise_privileges. Possible values (multiple can be specified,
comma separated) are:
- admin, defining whether root is squashed;
- trusted, permitting to see the file system's canonical identifiers;
- deny_unknown, denying all access to users not explicitly mapped;
- readonly_mount, forcing clients to read-only mount;
- forbid_encryption, preventing use of encryption by clients;
- subnm_raise_privs, for the raise privileges property itself;
- and any roles accepted by the rbac property, defining admin roles.
To allow all privileges to be raised, use 'all' value.
Any privilege not explicitly specified by the parent cannot be raised
in the child nodemap.
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: Ifac5e3ea2f47ea3910e7cd0de6379b0e9ada8d18
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55539
Reviewed-by: Marc Vef <mvef@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Sebastien Buisson [Fri, 12 Apr 2024 09:21:18 +0000 (11:21 +0200)]
LU-17431 tests: exercise dynamic nodemap on MDS
Rename sanity-sec test_72 to test_72a to exercise dynamic nodemaps
on OSS side. And add sanity-sec test_72b to exercise dynamic nodemaps
on MDS side. This supports the case where the MDS runs on the same
node as the MGS, and with a combo MGS/MDS as well.
Test-Parameters: trivial
Test-Parameters: testlist=sanity-sec env=ONLY=72 mdscount=2 mdtcount=4 osscount=1 ostcount=8 clientcount=2
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: Idb32ee46f8809160ddc4c54960c10d565b3396d7
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55002
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Marc Vef <mvef@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Sebastien Buisson [Wed, 20 Mar 2024 14:40:56 +0000 (15:40 +0100)]
LU-17431 nodemap: make dynamic nodemaps hierarchical
Introduce a new rn_subtree field in struct lu_nid_range.
This allows to have NID ranges included into other NID ranges,
hence creating a NID range hierarchy. NID ranges are created in
a subtree only if there is already a range in the parent tree
that includes it. Overlapping NID ranges remain forbidden.
Introduce new fields nm_subnodemaps, nm_parent_entry in struct
lu_nodemap to keep track of the sub-nodemaps attached to a given
nodemap. Also use a new nm_parent_nm field that points to the parent
nodemap. This allows to create a nodemap hierarchy, based on the
NID ranges.
Introduce a new -p|--parent option to lctl nodemap_add to specify
the parent nodemap of a dynamic nodemap at creation time. The NID
ranges of the child nodemap must be included in the ranges of the
parent nodemap. A dynamic nodemap can have only one parent.
Make a sub-nodemap inherit all the parent nodemap's properties,
and the id mapping as well. And expose parent name as part of nodemap
properties. This is valid for dynamic nodemaps only.
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: I04a14db92c068f3cb5b6b39e75feb802cebacd8a
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/54739
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Marc Vef <mvef@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Sebastien Buisson [Fri, 14 Feb 2025 16:41:54 +0000 (17:41 +0100)]
LU-17431 nodemap: modify all properties of a dynamic nm
All properties of a dynamic nodemap must be taken into account. So
move the check for dynamic in nodemap_idx_* functions, except for
nodemap_activate which is independent of any nodemap.
Update sanity-sec test_72 to correctly exercise this.
Fixes:
db818bd040 ("LU-17431 nodemap: allow modifying properties of a dynamic nm")
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: I5fb7877669fdf7689b1be1f065006644f0a3f15c
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58088
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Marc Vef <mvef@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Shaun Tancheff [Wed, 2 Apr 2025 00:53:07 +0000 (07:53 +0700)]
LU-18751 lnet: test lnetctl fault reset directly
Using 'do_lnetctl' confounds the required command line arguments
when calling:
lnetctl fault reset <None>
So avoid the helper function for this case.
Test-Parameters: trivial testlist=sanity-lnet env=ONLY=410,ONLY_REPEAT=50
Fixes:
dc54ff3310 ("LU-18751 lnet: fix sanity-lnet/410 test case")
Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: I72ab8a06bbf1a95fd51aac4fb13955c0c03f8dd0
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58623
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Frank Sehr <fsehr@whamcloud.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Bobi Jam [Tue, 3 Sep 2024 15:42:43 +0000 (23:42 +0800)]
LU-14438 ldiskfs: backport ldiskfs mballoc patches
This contains following kernel patches:
cfd732377221 ("ext4: add prefetching for block allocation bitmaps")
3d392b2676bf ("ext4: add prefetch_block_bitmaps mount option")
dddcd2f9ebde ("ext4: optimize the implementation of
ext4_mb_good_group()")
67d251860461 ("ext4: drop s_mb_bal_lock and convert protected fields
to atomic")
a6c75eaf1103 ("ext4: add mballoc stats proc file")
4b68f6df1059 ("ext4: add MB_NUM_ORDERS macro")
196e402adf2e ("ext4: improve cr 0 / cr 1 group scanning")
21175ca434c5 ("ext4: make prefetch_block_bitmaps default")
077d0c2c78df ("ext4: make mb_optimize_scan performance mount option
work with extents")
3fa5d23e68a3 ("ext4: reflect mb_optimize_scan value in options file")
4fca50d440cc ("ext4: make mballoc try target group first even with
mb_optimize_scan")
1940265ede66 ("ext4: avoid unnecessary spreading of allocations among
groups")
a9f2a2931d0e ("ext4: use locality group preallocation for small
closed files")
83e80a6e3543 ("ext4: use buckets for cr 1 block scan instead of
rbtree")
80fa46d6b9e7 ("ext4: limit the number of retries after discarding
preallocations blocks")
a078dff87013 ("ext4: fixup possible uninitialized variable access in
ext4_mb_choose_next_group_cr1()")
820897258ad3 ("ext4: Refactor code related to freeing PAs")
5354b2af3406 ("ext4: allow ext4_get_group_info() to fail")
3c6296046c85 ("ext4: Don't skip prefetching BLOCK_UNINIT groups")
4f3d1e4533b0 ("ext4: Ensure ext4_mb_prefetch_fini() is called for all
prefetched BGs")
Signed-off-by: Bobi Jam <bobijam@whamcloud.com>
Change-Id: I079dfb74bd743894934484803cedb683073e4d94
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/51472
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Li Dongyang <dongyangli@ddn.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Patrick Farrell [Thu, 16 Feb 2023 23:10:12 +0000 (18:10 -0500)]
LU-16565 ldlm: Add ldlm_is,set,clear to spelling
Prior to removing the ldlm flag macros, add them to spelling.txt
Test-Parameters: trivial
Signed-off-by: Patrick Farrell <pfarrell@whamcloud.com>
Change-Id: Ic0fcfb7603c956010e90812338bec38964e815ce
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/50030
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Emoly Liu [Mon, 31 Mar 2025 11:39:57 +0000 (19:39 +0800)]
LU-18873 obdclass: add namelen check in encode_fn_len()
Add namelen check in function encode_fn_len() to avoid coverity
warnings.
Fixes:
d097fcc51b8 ("LU-18810 obd: add a parameter to enable filename encoding")
Signed-off-by: Emoly Liu <emoly@whamcloud.com>
Change-Id: Ic1cc7238cd659254e286d8a595dc5203ae7dbc0b
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58608
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>
Sergey Cheremencev [Fri, 7 Feb 2025 00:15:46 +0000 (03:15 +0300)]
LU-18676 tests: enable sanity-quota_49
The fix "LU-18676 tests: random write to set file size"
has been landed, so re-enable the test.
Fixes:
149657180e ("LU-18676 tests: random write to set file size")
Test-Parameters: trivial testlist=sanity-quota fstype=zfs
Test-Parameters: testlist=sanity-quota fstype=zfs env=ONLY=49,ONLY_REPEAT=20
Signed-off-by: Sergey Cheremencev <scherementsev@ddn.com>
Change-Id: Ie3171cff03ce957cc88efe81b4c837a1872b139b
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57997
Tested-by: Maloo <maloo@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Patrick Farrell [Fri, 23 Feb 2024 16:28:11 +0000 (11:28 -0500)]
LU-13814 lov: remove non-dio handling in lov_dio_submit
lov_dio_submit is now specialized to dio. Cleanup
accordingly.
Signed-off-by: Patrick Farrell <patrick.farrell@oracle.com>
Change-Id: I4e293011c77eb1b7b8f2c0ec78565458a6fe047c
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/52107
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Marc Vef <mvef@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Qian Yingjin <qian@ddn.com>
Patrick Farrell [Fri, 23 Feb 2024 16:27:43 +0000 (11:27 -0500)]
LU-13814 clio: add cio_dio_submit
Add cio_dio_submit method and push it down in to the lov
layer.
Note this part of the series relies on the slightly clever
fact that there is no vvp method for this and the LOV
method calls the OSC method. This lets us do setup and
teardown of the queue in the lov layer.
The next step is to push the queue handling through this
function to the cl_io_submit_rw call here, which may be
non-trivial.
Signed-off-by: Patrick Farrell <patrick.farrell@oracle.com>
Change-Id: I3a2a7b7921391be3cc9a157d4351228226016a51
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/52105
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Marc Vef <mvef@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Patrick Farrell [Fri, 23 Feb 2024 16:26:43 +0000 (11:26 -0500)]
LU-13814 clio: Add cl_dio_submit_rw
This pushes the queue handling to the cl_io_submit_rw
level.
Signed-off-by: Patrick Farrell <patrick.farrell@oracle.com>
Change-Id: I38ca5ff2f497147e8246ebc43ff109eecbd127bb
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/52104
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: Marc Vef <mvef@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Patrick Farrell [Fri, 12 Jul 2024 15:58:13 +0000 (11:58 -0400)]
LU-13814 clio: add cdp_cl_pages tracking
This enables us start the lengthy process of converting the
DIO path from using lists of cl_pages to using a single
cl_dio_pages array.
We add a temporary cdp_cl_pages array tracking the cl_pages
and a function to convert it to a queue. Subsequent
patches will push this through the DIO path, gradually
converting each step to use cl_dio_pages until there are no
steps left which use lists of cl_page.
This moves the queue usage to the cl_dio_pages queue for
ll_direct_rw_pages, the first step.
Signed-off-by: Patrick Farrell <patrick.farrell@oracle.com>
Change-Id: If7cb5cbb01afd96939b05124358345a0d518c180
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/52103
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Marc Vef <mvef@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Vladimir Saveliev [Tue, 27 Aug 2024 08:17:30 +0000 (11:17 +0300)]
LU-17305 obdclass: do not link all exports to obd's timed list
Osp device may get class_cleanup()-ed in course of evictor process
where obd->u.cli.cl_import gets zeroed:
ping_evictor_main
class_fail_export
obd_disconnect
osp_obd_disconnect
class_manual_cleanup
class_process_config(LCFG_CLEANUP)
class_cleanup
obd_precleanup
osp_device_fini
client_obd_cleanup
obd_cleanup_client_import
obd->u.cli.cl_import = NULL;
osp-pre threads are not stopped by the evictor, which leads to
assertion on:
osp_precreate_thread
osp_statfs_update
imp = d->opd_obd->u.cli.cl_import;
LASSERT(imp);
Test to illustrate the issue is added.
Add to obd's timed list only evictable exports
HPE-bug-id: LUS-11933
Signed-off-by: Vladimir Saveliev <vladimir.saveliev@hpe.com>
Change-Id: I1aab4a573fc4ef33d53d822bec1a28dd3bcece74
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/53192
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Vitaly Fertman <vitaly.fertman@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Andreas Dilger [Wed, 26 Mar 2025 14:58:04 +0000 (08:58 -0600)]
LU-18748 tests: fix sanity/56c with flash devices
Fix sanity test_56c to fetch the initial "lfs df" state with "-v"
in case some devices are flash ('f') at the start of the test.
Test-Parameters: trivial
Fixes:
0523ed8625 ("LU-18748 class: print statfs_state for OBD devices")
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I3a710c876a0918b20f9bbd7e13cf4b2b1e500c1e
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58543
Reviewed-by: Alex Zhuravlev <bzzz@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>