Whamcloud - gitweb
- fixes and improvements in GNS:
authoryury <yury>
Mon, 16 May 2005 06:48:21 +0000 (06:48 +0000)
committeryury <yury>
Mon, 16 May 2005 06:48:21 +0000 (06:48 +0000)
commit9a8d77dc0a1b59e5f102027480c33e9fad35ff97
treec9287fad68579421fddafb9d34997399bed41d0b
parent53cc2efd9f8bf196ed9550a0bace690b58c91964
- 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.
lustre/llite/dcache.c
lustre/llite/llite_gns.c
lustre/llite/llite_internal.h
lustre/llite/llite_lib.c
lustre/llite/namei.c
lustre/tests/sanity-gns.sh