investigate use of new liblustre client API calls in the Lustre module
We should look at the new liblustre API calls for gathering information on Lustre file layouts at the client. For instance, llapi_layout_get_by_fd
can supposedly provide the detailed stripe information by just providing a file descriptor, rather than using the low-level ioctl method we are currently using. We don't have access to a Lustre file system with a new enough version (I think they showed up around Lustre 2.7?) to test these calls right now, however -- Edison and Cori each use some minor version of Lustre 2.5. We should ensure they are low-overhead enough to put in wrappers before trying to use them in the Lustre module directly. When we've previously analyzed thellapi_file_get_stripe
call, we determined it had too much overhead, but perhaps the new API overcomes that.
Additionally, we should look through the interface and see if there are any other calls we can leverage to provide additional data in the Lustre module.