Hi Greg, while reviewing the 9p code base for further optimizations, I stumbled over the 'rename_lock' introduced by 02cb7f3a2 and wondered about what exactly it shall protect?
As far as I understand it, the original intention at introduction (aforementioned 02cb7f3a2) was to protect 1. fidp->path variable and 2. *ANY* filesystem path from being renamed during the *entire* duration of some concurrent 9p operation. So because of (2.) it was introduced as a global lock. But (2.) is a dead end approach anyway, isn't it? Therefore my question: rename_lock is currently a global lock. Wouldn't it make more sense to transform it from a global lock from struct V9fsState -> struct V9fsFidState and just let it protect that fidp->path variable locally there? Best regards, Christian Schoenebeck