On Mon, Oct 21, 2019 at 11:58 AM Changwei Ge <chge@xxxxxxxxxxxxxxxxx> wrote:
Hi,
I am recently working on optimizing inode searching/getting/putting
concurrency. Before the experiment/trial goes, I would like to get fully
understand what the usage of several lists of inode table, especially
for 'invalidate list', since the major difficulty making inode searching
run concurrently is that We have to move inode from one list to the
other and modify some attributes against inode table.
After reading corresponding code, it seems that inode table 'invalidate
list' is only retrieved when destroying inode table(inode_table_destroy).
Can someone help explain the list usage/purpose of 'invalidate list'?
'invalidate_list' is used only in client side. The patch which got it is below:
Hope this gives some idea.
Happy to help. If there is an interest, we can even have a video conference for all interested developers to discuss inode table, and detail out how it is done.
For getting complete history of changes to inode.c (from https://github.com/amarts/glusterfs/commit/72db44413ce4686b465c29ea8383fa4f09f53a76), you can clone github.com/amarts/glusterfs and see that over time what changes got into the file... 'git log libglusterfs/src/inode.c' gives an idea.
Regards,
Amar
Thanks,
Changwei
_______________________________________________ Community Meeting Calendar: APAC Schedule - Every 2nd and 4th Tuesday at 11:30 AM IST Bridge: https://bluejeans.com/118564314 NA/EMEA Schedule - Every 1st and 3rd Tuesday at 01:00 PM EDT Bridge: https://bluejeans.com/118564314 Gluster-devel mailing list Gluster-devel@xxxxxxxxxxx https://lists.gluster.org/mailman/listinfo/gluster-devel