You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Improve concurrent sequential access speed by per-file file pointer.
This commit extends the caching of cluster information introduced by
commit 6c332e1 so that multiple open file handles accessing the same
node each have their own cache. That prevents dramatic slowdowns when
multiple processes are reading from a large file.
* Replace the fptr_index and fptr_cluster members of struct exfat_node
introduced by 6c332e1 with a list of exfat_fptr structs, each of
which holds one index and cluster.
* In fuse_exfat_open, add a new exfat_fptr to the exfat_node, and
store a pointer to both in the fh member of the fuse_file_info.
* In fuse_exfat_read and fuse_exfat_write, pass the exfat_fptr from
the fh through to exfat_advance_cluster, so that multiple file
handles open on the same file can independently track their most
recently used cluster.
For all other uses of exfat_advance_cluster, we continue to user the
"shared" exfat_fptr stored in the node.
* Adjust grow_file and shrink_file to detect when multiple exfat_fptr
instances are stored in the node and update them all as needed.
0 commit comments