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

Flock deadlock isn't detected while accessing files from 2 mount points

Details

    • Bug
    • Resolution: Fixed
    • Minor
    • Lustre 2.5.0
    • None
    • 3
    • 8917

    Description

      Deadlock detection algorithm distinguish processes by pair pid+export. It is not correct when one process access files from different mount points.
      Proper entity should be pid+NID

      testcase patch attached:

      /local/work/lustre/lustre/tests/flocks_test 4 /mnt/lustre/file1 /mnt/lustre2/file2
      6646: get lock2
      6647: get lock1
      6646: done
      6647: done
      6647: get lock2
      6646: get lock1

      it waits forever, while works with files from one mount point

      /local/work/lustre/lustre/tests/flocks_test 4 /mnt/lustre/file1 /mnt/lustre/file2
      6639: get lock2
      6640: get lock1
      6639: done
      6640: done
      6639: get lock1
      6640: get lock2
      fcntl cmd 7 failed: Resource deadlock avoided
      6640: done
      6640: exit rc=0
      6639: done
      6639: exit rc=0

      Attachments

        Issue Links

          Activity

            People

              keith Keith Mannthey (Inactive)
              askulysh Andriy Skulysh
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: