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

O_LOV_DELAY_CREATE conflict with __O_TMPFILE

Details

    • Bug
    • Resolution: Fixed
    • Blocker
    • Lustre 2.6.0, Lustre 2.5.1
    • None
    • On 3.11+ kernels
    • 3
    • 11443

    Description

      Since 3.11 kernel release (commit 60545d0d and bb458c64), kernel introduced __O_TMPFILE that unfortunately conflicts with O_LOV_DELAY_CREATE and causes lfs setstripe api to always fail.

      #define __O_TMPFILE 020000000

      #define O_LOV_DELAY_CREATE 0120000000

      Also kernel introduced a safe guard around O_TMPFILE such that whenever __O_TMPFILE bit is set, it has to also have O_DIRECTORY. As a result, it makes Lustre unable to keep backward compatibility. So I am in fact unsure how to solve this. Do we care about O_LOV_DELAY_CREATE compatibility?

      Because this is mostly related to user space ABI, I created this ticket so that we can solve it in Lustre tree first, and then I can port the change to kernel client.

      Attachments

        Issue Links

          Activity

            [LU-4209] O_LOV_DELAY_CREATE conflict with __O_TMPFILE
            pjones Peter Jones made changes -
            Labels Original: MB mn1 mn4 mq214 New: MB mn1 mn4
            pjones Peter Jones made changes -
            Fix Version/s New: Lustre 2.5.1 [ 10608 ]
            jlevi Jodi Levi (Inactive) made changes -
            Resolution New: Fixed [ 1 ]
            Status Original: Open [ 1 ] New: Resolved [ 5 ]

            Patch landed to Master. Will land in upcoming Releases as well.

            jlevi Jodi Levi (Inactive) added a comment - Patch landed to Master. Will land in upcoming Releases as well.
            pjones Peter Jones made changes -
            Fix Version/s Original: Lustre 2.5.1 [ 10608 ]
            Labels Original: MB mn1 mn4 New: MB mn1 mn4 mq214
            ys Yang Sheng made changes -
            Link New: This issue is related to LU-4416 [ LU-4416 ]
            adilger Andreas Dilger made changes -
            Link New: This issue is related to LU-3373 [ LU-3373 ]

            Patch has been submitted upstream to Greg KH and linux-fsdevel. Discussion is underway.

            adilger Andreas Dilger added a comment - Patch has been submitted upstream to Greg KH and linux-fsdevel. Discussion is underway.

            Hello,
            I can confirm it works for us on a 3.12.9 kernel using https://github.com/verygreen/linux/tree/lustre-next as source for our DKMS lustre client driver (against 2.6.32/2.4.2 cluster).
            Best

            cdufour Cédric Dufour added a comment - Hello, I can confirm it works for us on a 3.12.9 kernel using https://github.com/verygreen/linux/tree/lustre-next as source for our DKMS lustre client driver (against 2.6.32/2.4.2 cluster). Best

            I'm just testing the updated patch on my home system (slower turnaround than running it under autotest since I rarely build my own kernel) before I submit it upstream.

            adilger Andreas Dilger added a comment - I'm just testing the updated patch on my home system (slower turnaround than running it under autotest since I rarely build my own kernel) before I submit it upstream.

            People

              adilger Andreas Dilger
              bergwolf Peng Tao
              Votes:
              0 Vote for this issue
              Watchers:
              12 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: