Uploaded image for project: 'Lustre'
  1. Lustre
  2. LU-9868

dcache/namei fixes for lustre

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • Major
    • Upstream
    • Upstream, Lustre 2.11.0, Lustre 2.12.0, Lustre 2.10.5
    • upstream and well as any lustre 2.11 client.
    • 3
    • 9223372036854775807

    Description

      From Neil Brown that works at SuSE

      I was drawn to look at this code due to the tests on
      DCACHE_DISCONNECTED which are often wrong, and it turns out
      they are used wrongly in lustre too. Fixing one led to some
      clean-up. Fixing the other is straight forward.

      A particular change here from the previous posting is
      the first patch which tests for DCACHE_PAR_LOOKUP in ll_dcompare().
      Without this patch, two threads can be looking up the same
      name in a given directory in parallel. This parallelism lead
      to my concerns about needing improved locking in ll_splice_alias().
      Instead of improving the locking, I now avoid the need for it
      by fixing ll_dcompare.

      This code passes basic "smoke tests".

      Note that the cast to "struct dentry *" in the first patch is because
      we have a "const struct dentry *" but d_in_lookup() requires a
      pointer to a non-const structure. I'll send a separate patch to
      change d_in_lookup().

      Attachments

        Issue Links

          Activity

            People

              simmonsja James A Simmons
              simmonsja James A Simmons
              Votes:
              0 Vote for this issue
              Watchers:
              13 Start watching this issue

              Dates

                Created:
                Updated: