Hi Oleg,
Thanks a lot for the detailed explanation. Things look much clearer to me
now.
A few questions that still linger in my mind. Sorry for asking too many
questions.
1. Since the interaction between the OSS and client is through the OSC in
the client, I suppose it would also take care of the data locking
mechanism. (locked from the OSS). I hope my understanding is correct here.
2. "For all stripes that would need to change, revoke OST data locks ->
this causes all clients having caches for these objects to flush those
caches."
--> Here you mentioned that in case of restriping, the OST data locks would
be revoked. Here would the MDS/MST contact the OSS/OST asking those locks
to be revoked or the client would contact OSS/OSTs. I am trying to
understand the below diagram showing the restriping steps. (Specifically
the "Update L.Gen" message from the client to the primary replica).
Regards,
Akhilesh Gadde.