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

Lock inversion between inode mutex and layout mutex

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Major
    • Lustre 2.15.0
    • None
    • None
    • 3
    • 9223372036854775807

    Description

      ll_fsync is taking an inode mutex and then creates IO that might go into layout refresh that might take layout mutex and block for IOs to finish

      write path might go into vvp_io_write_start with active IOs already incremented because IO was started and block on the locked inode held by ll_fsync.

      Thus the deadlock.

      It looks like we don't really need the inode lock held in ll_fsync at at least not for as much? the LU-812 does not go into a lot of explanations on the reasons behind adding the locking there.

      Attachments

        Issue Links

          Activity

            People

              green Oleg Drokin
              green Oleg Drokin
              Votes:
              0 Vote for this issue
              Watchers:
              9 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: