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

dcache/namei fixes for lustre

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: Upstream, Lustre 2.11.0, Lustre 2.12.0, Lustre 2.10.5
    • Fix Version/s: None
    • Labels:
    • Environment:
      upstream and well as any lustre 2.11 client.
    • Severity:
      3
    • Rank (Obsolete):
      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

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

                Dates

                • Created:
                  Updated: