Daniel Gryniewicz has uploaded this change for review. (
https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/444688
Change subject: MDCACHE - Fix dirent chunk linking
......................................................................
MDCACHE - Fix dirent chunk linking
We can't depend on the order of the chunk list for finding a previous
chunk. This is for several reasons. 1. chunks are reaped out of the
middle of the list. 2. A readdir can start on a missing chunk, meaning
there's no way to find the previous chunk, even if it exists.
Remove the ordered aspect of the list, since we can't depend on it, and
keep a prev_chunk pointer in the state. This allows us to set next_ck
going forward from whatever chunk we start with. There will be fewer
cases when next_ck is set correctly, but we won't end up with cycles
where next_ck points further back into the directory.
Change-Id: I9d48c2937f2deaf3dd3614da6b9e1df1fd5e67e3
Signed-off-by: Daniel Gryniewicz <dang(a)redhat.com>
---
M src/FSAL/Stackable_FSALs/FSAL_MDCACHE/mdcache_helpers.c
M src/FSAL/Stackable_FSALs/FSAL_MDCACHE/mdcache_int.h
2 files changed, 65 insertions(+), 121 deletions(-)
git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/88/444688/1
--
To view, visit
https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/444688
To unsubscribe, or for help writing mail filters, visit
https://review.gerrithub.io/settings
Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-Change-Id: I9d48c2937f2deaf3dd3614da6b9e1df1fd5e67e3
Gerrit-Change-Number: 444688
Gerrit-PatchSet: 1
Gerrit-Owner: Daniel Gryniewicz <dang(a)redhat.com>
Gerrit-MessageType: newchange