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

Implement fallocate() support for ldiskfs Lustre

Details

    • New Feature
    • Resolution: Fixed
    • Major
    • Lustre 2.14.0
    • None
    • 9150

    Description

      The sys_fallocate() syscall was introduced to the linux kernel in the 2.6.24 kernel. There is also an ext4_fallocate() method added in this same kernel release. This has been available in vendor kernels since RHEL 5.4.

      We need to implement an fallocate() method for llite, and transport this to the OSTs to interface with the underlying OSD's fallocate() code (for ldiskfs, ZFS has no such method).

      The FALLOC_FL_PUNCH_HOLE functionality of fallocate() fits very nicely with the OST_PUNCH RPC, since this was anticipated in Lustre from the beginning. The actual space reservation might also use OST_PUNCH or OST_WRITE, or we might consider a new OST_PREALLOC RPC, depending on what fits best.

      Attachments

        Issue Links

          Activity

            [LU-3606] Implement fallocate() support for ldiskfs Lustre

            Thanks Andreas, Peter.

            >Opened LU-14157 to track fallocate support for zfs. Marking as fixed in 2.14 for ldiskfs support
            LU-14160 opened for ldiskfs fallocate punch support.

            arshad512 Arshad Hussain added a comment - Thanks Andreas, Peter. >Opened LU-14157 to track fallocate support for zfs. Marking as fixed in 2.14 for ldiskfs support LU-14160 opened for ldiskfs fallocate punch support.
            pjones Peter Jones added a comment -

            Opened LU-14157 to track fallocate support for zfs. Marking as fixed in 2.14 for ldiskfs support

            pjones Peter Jones added a comment - Opened LU-14157 to track fallocate support for zfs. Marking as fixed in 2.14 for ldiskfs support

            Yes, the patch https://review.whamcloud.com/36506 "LU-3606 zfs-osd: Add fallocate functionality for ZFS" needs to be refreshed. There also needs to be a separate patch to implement FALLOCATE_FL_PUNCH_HOLE.

            adilger Andreas Dilger added a comment - Yes, the patch https://review.whamcloud.com/36506 " LU-3606 zfs-osd: Add fallocate functionality for ZFS " needs to be refreshed. There also needs to be a separate patch to implement FALLOCATE_FL_PUNCH_HOLE .
            pjones Peter Jones added a comment - - edited

            Do I understand correctly that fallocate support for ldiskfs has landed for 2.14 but fallocate support for ZFS needs more work? If so, shall we track the latter under a new ticket so that it is clear what capabilities are in each release?

            pjones Peter Jones added a comment - - edited Do I understand correctly that fallocate support for ldiskfs has landed for 2.14 but fallocate support for ZFS needs more work? If so, shall we track the latter under a new ticket so that it is clear what capabilities are in each release?

            Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/9275/
            Subject: LU-3606 fallocate: Implement fallocate preallocate operation
            Project: fs/lustre-release
            Branch: master
            Current Patch Set:
            Commit: 48457868a02ae5a0407f304c9028f7e80e7fb574

            gerrit Gerrit Updater added a comment - Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/9275/ Subject: LU-3606 fallocate: Implement fallocate preallocate operation Project: fs/lustre-release Branch: master Current Patch Set: Commit: 48457868a02ae5a0407f304c9028f7e80e7fb574

            Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/37277/
            Subject: LU-3606 lustre: Reserve OST_FALLOCATE(fallocate) opcode
            Project: fs/lustre-release
            Branch: master
            Current Patch Set:
            Commit: 46a11df089c92f0d18e6f3224eca76abfcd0ac67

            gerrit Gerrit Updater added a comment - Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/37277/ Subject: LU-3606 lustre: Reserve OST_FALLOCATE(fallocate) opcode Project: fs/lustre-release Branch: master Current Patch Set: Commit: 46a11df089c92f0d18e6f3224eca76abfcd0ac67

            Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/37273/
            Subject: LU-3606 fsx: Add fallocate operation to fsx
            Project: fs/lustre-release
            Branch: master
            Current Patch Set:
            Commit: 853d180121a6e313ffe678bbe5c107d7afc601d5

            gerrit Gerrit Updater added a comment - Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/37273/ Subject: LU-3606 fsx: Add fallocate operation to fsx Project: fs/lustre-release Branch: master Current Patch Set: Commit: 853d180121a6e313ffe678bbe5c107d7afc601d5

            Arshad Hussain (arshad.super@gmail.com) uploaded a new patch: https://review.whamcloud.com/37277
            Subject: LU-3606 lustre: Reserve fallocate opcode
            Project: fs/lustre-release
            Branch: master
            Current Patch Set: 1
            Commit: a52c11c2c0935ce1b741dfde703bbaeb93c7c499

            gerrit Gerrit Updater added a comment - Arshad Hussain (arshad.super@gmail.com) uploaded a new patch: https://review.whamcloud.com/37277 Subject: LU-3606 lustre: Reserve fallocate opcode Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: a52c11c2c0935ce1b741dfde703bbaeb93c7c499

            Arshad Hussain (arshad.super@gmail.com) uploaded a new patch: https://review.whamcloud.com/37273
            Subject: LU-3606 fsx: Add fallocate operation to fsx
            Project: fs/lustre-release
            Branch: master
            Current Patch Set: 1
            Commit: 2269c370864bd42a5fbf0608afecba0ec8f010db

            gerrit Gerrit Updater added a comment - Arshad Hussain (arshad.super@gmail.com) uploaded a new patch: https://review.whamcloud.com/37273 Subject: LU-3606 fsx: Add fallocate operation to fsx Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: 2269c370864bd42a5fbf0608afecba0ec8f010db

            Yes, please reuse the same Change-Id. That will allow comparing the new patch against the old one, and the old one is hopelessly outdated and not useful.

            adilger Andreas Dilger added a comment - Yes, please reuse the same Change-Id. That will allow comparing the new patch against the old one, and the old one is hopelessly outdated and not useful.

            People

              arshad512 Arshad Hussain
              adilger Andreas Dilger
              Votes:
              0 Vote for this issue
              Watchers:
              19 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: