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

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

XMLWordPrintable

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

      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

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

              Created:
              Updated:
              Resolved: