Skip to content
Snippets Groups Projects
Commit 9a8d77dc authored by Yury Umanets's avatar Yury Umanets
Browse files

- fixes and improvements in GNS:

  - making it work in some stat cases (stat target is behind mount object)
  - making it work in sys_mount() control path (is mount point is behind mount object)

  - to avoid deadlock is mount case is_subdir() is used for detecting is current dentry is
    parent of dentry being in progress of mounting.

  - do not mount on revalidate if there is not valid @nd applied.
  - using nd->flags if possible for both lookup and revalidate cases.
  - added debug info printing in mounting cases.
  - totaly removed -ERESTARTSYS approach stuff.

  - fixed bug with many waiters on ->ll_gns_mount_finished - only first of them will find GNS
    in IDLE state and will start mounting and the rest will assert on wrong GNS state (MOUNTING)

  - reinit ->ll_gns_mount_finished after all waiters are awakaned, this fixes the bug when
    after first using this completion it does not functions, because complete_all() has
    slighly diff. semanthics then complete() and namely does not just decrease ->done but
    sets it to MAX_INT/2.

  - fully rewritten sanity-gns.sh to make it more flexible and easy to add new sanity tests.
parent 53cc2efd
No related branches found
No related tags found
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment