DAOS-8722 dfuse: Force kernel to block on opendir.
When readdir caching is enabled only allow one process to open a directory initially, then on close allow all blocked processes to complete the open.
The kernel can cache readdir results, but the cache can only be accessed if it's full by the time the readdir starts, so in order to make use of this in parallel applications doing simultanous reads we only allow one process to enter the complete the opendir initally, and then on closedir we complete all other opendir requests which should allow any others to read from the cache.
Signed-off-by: Ashley Pittman [email protected]
Test stage Build RPM on CentOS 8 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-6776/1/execution/node/331/log
Test stage Build DEB on Ubuntu 20.04 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-6776/1/execution/node/344/log
Test stage Build RPM on CentOS 7 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-6776/1/execution/node/343/log
Test stage Build RPM on Leap 15 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-6776/1/execution/node/371/log
Test stage Unit Test completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-6776/1/execution/node/706/log
Test stage Build on CentOS 7 debug completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-6776/2/execution/node/383/log
Test stage Build RPM on CentOS 8 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-6776/2/execution/node/330/log
Test stage Build RPM on CentOS 7 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-6776/2/execution/node/363/log
Test stage Build RPM on Leap 15 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-6776/2/execution/node/331/log
Test stage Build on CentOS 7 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-6776/2/execution/node/407/log
Test stage Test CentOS 7 RPMs completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-6776/4/execution/node/1162/log
Test stage Build RPM on EL 8 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-6776/8/execution/node/378/log
Test stage Build RPM on Leap 15 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-6776/8/execution/node/375/log
Test stage Build DEB on Ubuntu 20.04 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-6776/8/execution/node/425/log
Test stage Build RPM on CentOS 7 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-6776/8/execution/node/381/log
Test stage Build on Leap 15 with Intel-C and TARGET_PREFIX completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-6776/8/execution/node/444/log
Test stage Build on CentOS 7 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-6776/8/execution/node/401/log
Bug-tracker data: Ticket title is 'Test and extend readdir caching in dfuse.' Status is 'In Progress' Labels: 'triaged' Job should run at elevated priority (3) https://daosio.atlassian.net/browse/DAOS-8722