Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DAOS-16686 dfuse: Fix overlapping chunk reads #15680

Open
wants to merge 45 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
9aa13e0
DAOS-15682 dfuse: Fail on concurrent read.
ashleypittman Oct 10, 2024
1d4019f
Try and fix issue.
ashleypittman Oct 11, 2024
122faf0
First stab at a fix.
ashleypittman Oct 11, 2024
270360f
Merge branch 'master' into amd/dfuse-concurrent-read
ashleypittman Oct 11, 2024
f74f053
Fix invalid free and leak.
ashleypittman Oct 11, 2024
6ad750b
Fix a logging line.
ashleypittman Oct 11, 2024
578be24
Add some debugging.
ashleypittman Oct 14, 2024
e771912
Track duplicate reads. This avoids a crash but there's still a memor…
ashleypittman Oct 17, 2024
6c407e7
Fix logic.
ashleypittman Oct 17, 2024
7f892f3
Rework to support blocking on network requests.
ashleypittman Oct 17, 2024
6e286d1
Bump array size and add stats.
ashleypittman Oct 18, 2024
b2a21c3
Fix a segv in the stats.
ashleypittman Oct 18, 2024
b685591
Track EOF better in reads.
ashleypittman Oct 18, 2024
33409b3
Merge branch 'master' into amd/dfuse-concurrent-read
ashleypittman Nov 11, 2024
4fcedda
Fixup after merge
ashleypittman Nov 11, 2024
018449e
Move active read list to active.
ashleypittman Nov 11, 2024
52e827c
Merge branch 'master' into amd/dfuse-concurrent-read
ashleypittman Nov 12, 2024
221c849
Rebase and iterate on comments.
ashleypittman Nov 12, 2024
f4956ac
fix: remove an extra list operation.
ashleypittman Nov 12, 2024
33a2ee3
Merge branch 'master' into amd/dfuse-concurrent-read
ashleypittman Nov 13, 2024
0733c0b
Back out test and stat changes.
ashleypittman Nov 13, 2024
46a565b
Merge branch 'master' into amd/dfuse-concurrent-read
ashleypittman Nov 14, 2024
3a2bbd1
Try and solve patchelf problem.
ashleypittman Nov 14, 2024
2308feb
Change failure mode.
ashleypittman Nov 15, 2024
e3e9836
Merge branch 'master' into amd/dfuse-concurrent-read
ashleypittman Nov 15, 2024
7ebd792
Merge branch 'master' into amd/dfuse-concurrent-read
ashleypittman Nov 18, 2024
6fd17df
add strace.
ashleypittman Nov 19, 2024
f8ac3f4
Do not pre-fetch or keep cache for writeable files.
ashleypittman Nov 20, 2024
9453406
Stat and re-fresh the files.
ashleypittman Nov 20, 2024
ffe786c
Fix build not to fail.
ashleypittman Nov 21, 2024
1a8630c
Stat the file, not the link
ashleypittman Nov 21, 2024
a79ad9d
Disable matching reads and chunk code to debug failure.
ashleypittman Nov 25, 2024
6d64ede
Disalbe the file-size EOF optimisation.
ashleypittman Nov 25, 2024
0732488
Re-enable feature.
ashleypittman Nov 26, 2024
c4b0d02
Back out build debug.
ashleypittman Nov 28, 2024
f76c802
Merge branch 'master' into amd/dfuse-concurrent-read
ashleypittman Nov 28, 2024
974c2ee
Back out matching read changes, they're in a different PR.
ashleypittman Nov 28, 2024
db9213f
Make number of slots vcariable.
ashleypittman Nov 28, 2024
342978e
Fix a compile warning.
ashleypittman Nov 28, 2024
82854c0
Handle truncated reads and avoid crash.
ashleypittman Nov 28, 2024
694bae0
Merge branch 'master' into amd/dfuse-concurrent-read
jolivier23 Dec 10, 2024
3f0e0f3
DAOS-16686 dfuse: avoid possible corruption
wangdi1 Dec 16, 2024
e8b1722
Merge branch 'master' into amd/dfuse-concurrent-read
wangdi1 Dec 16, 2024
c7a8703
Fix list handling.
ashleypittman Jan 3, 2025
168053c
Merge branch 'master' into amd/dfuse-concurrent-read
ashleypittman Jan 3, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/client/dfuse/dfuse.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/**
* (C) Copyright 2016-2024 Intel Corporation.

Check failure on line 2 in src/client/dfuse/dfuse.h

View workflow job for this annotation

GitHub Actions / Copyright check

Copyright out of date
*
* SPDX-License-Identifier: BSD-2-Clause-Patent
*/
Expand Down Expand Up @@ -1133,7 +1133,7 @@
* Returns true if feature was used.
*/
bool
read_chunk_close(struct dfuse_inode_entry *ie);
read_chunk_close(struct active_inode *active);

/* Metadata caching functions. */

Expand Down
4 changes: 2 additions & 2 deletions src/client/dfuse/file.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/**
* (C) Copyright 2024 Intel Corporation.

Check failure on line 2 in src/client/dfuse/file.c

View workflow job for this annotation

GitHub Actions / Copyright check

Copyright out of date
*
* SPDX-License-Identifier: BSD-2-Clause-Patent
*/
Expand Down Expand Up @@ -96,7 +96,7 @@
if (oc != 1)
goto out;

rcb = read_chunk_close(oh->doh_ie);
rcb = read_chunk_close(oh->doh_ie->ie_active);

ah_free(dfuse_info, oh->doh_ie);
out:
Expand All @@ -118,7 +118,7 @@
if (oc != 1)
goto out;

read_chunk_close(ie);
read_chunk_close(ie->ie_active);

ah_free(dfuse_info, ie);
out:
Expand Down
Loading
Loading