MGM: Add timing instrumentation to open
Also some easy optimisations where possible
- Reuse container md from _exists call
- Move common functionality for attr lookup onto a utils class, this is also reused in Directory::open
- Avoiding double lookups in maps
- Avoiding holding the viewlock for the rest of Open, we only hold it in a couple of places where we access the FsView struct
- Policy improvements - Introduce a batch qclient api so that we ask a list of keys and get a map of k-v pairs, also simplify the lookup logic in a helper function that processes in the order of priority ie. app > user > key > space keys.
- A future improvement if we pass localconfig=1 as opaque info - we bypass going through to QDB for keys and only check local in memory keys from qclient. This is by default off
Edited by Abhishek Lekshmanan