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

Deadloop on tiny write

    XMLWordPrintable

Details

    • 3
    • 9223372036854775807

    Description

      For a small write(<4K), we will use tiny write and __generic_file_write_iter() will be called to handle it. On newer kernel(4.14 etc), the function is exported and will do something like following:

          |->__generic_file_write_iter
            |->generic_write_perform()
      
       

      If iov_iter_count() passed in is 0, generic_write_perform() will try go to forever loop as bytes copied is always calculated as 0.

      The problem is VFS doesn't always skip IO count zero before it comes to lower layer read/write hook, and we should do it by ourselves.

      Attachments

        Issue Links

          Activity

            People

              wshilong Wang Shilong (Inactive)
              wshilong Wang Shilong (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: