Details

    • Improvement
    • Resolution: Unresolved
    • Minor
    • None
    • None
    • 3
    • 9223372036854775807

    Description

      It would be possible to implement the fallocate(FALLOC_FL_ZERO_RANGE) option for Lustre. This would need the OST thread performing the operation to get PW extent locks (and possibly the PW lock on the MDT for DOM files) in order to ensure the client cache is flushed, since it is modifying the file's data.

      For ldiskfs this would be passed down to the ldiskfs fallocate() call. I'm not sure whether ZFS supports zeroing blocks or not, but it could also be mapped to FALLOC_FL_PUNCH_HOLE on ZFS to provide functionally equivalent behavior (due to COW needing to allocate new blocks anyway).
      .

      Attachments

        Issue Links

          Activity

            [LU-17055] Implement FALLOC_FL_ZERO_RANGE
            adilger Andreas Dilger made changes -
            Assignee Original: WC Triage [ wc-triage ] New: Keguang Xu [ squalfof ]
            adilger Andreas Dilger made changes -
            Description Original: It would be possible to implement the {{fallocate(FALLOC_FL_ZERO_RANGE)}} option for Lustre. This would need the OST thread performing the operation to get PW extent locks (and possibly the PW lock on the MDT for DOM files) in order to ensure the client cache is flushed, since it is modifying the file's data.

            For ldiskfs this would be passed down to the ldiskfs {{fallocate()}} call. I'm not sure whether ZFS supports zeroing blocks or not, but it could also be mapped to {{FALLOC_FL_PUNCH_HOLE}} to provide functionally equivalent behavior
            .
            New: It would be possible to implement the {{fallocate(FALLOC_FL_ZERO_RANGE)}} option for Lustre. This would need the OST thread performing the operation to get PW extent locks (and possibly the PW lock on the MDT for DOM files) in order to ensure the client cache is flushed, since it is modifying the file's data.

            For ldiskfs this would be passed down to the ldiskfs {{fallocate()}} call. I'm not sure whether ZFS supports zeroing blocks or not, but it could also be mapped to {{FALLOC_FL_PUNCH_HOLE}} on ZFS to provide functionally equivalent behavior (due to COW needing to allocate new blocks anyway).
            .
            adilger Andreas Dilger made changes -
            Description Original: It would be possible to implement the {{fallocate(FALLOC_FL_ZERO_RANGE)}} option for Lustre. This would need the OST thread performing the operation to get PW extent locks (and possibly the PW lock on the MDT for DOM files) in order to ensure the client cache is flushed, since it is modifying the file's data.

            For ldiskfs this would be passed down to the ldiskfs {{fallocate()}} call. I'm not sure whether ZFS supports zeroing blocks or not, but it could also be mapped to {{FALLOC_FL_PUNCH_HOLE}} to provide functionally equivalent functionality.
            New: It would be possible to implement the {{fallocate(FALLOC_FL_ZERO_RANGE)}} option for Lustre. This would need the OST thread performing the operation to get PW extent locks (and possibly the PW lock on the MDT for DOM files) in order to ensure the client cache is flushed, since it is modifying the file's data.

            For ldiskfs this would be passed down to the ldiskfs {{fallocate()}} call. I'm not sure whether ZFS supports zeroing blocks or not, but it could also be mapped to {{FALLOC_FL_PUNCH_HOLE}} to provide functionally equivalent behavior
            .
            adilger Andreas Dilger made changes -
            Description Original: It would be possible to implement the {{fallocate(FALLOC_FL_ZERO_RANGE)}} option for Lustre. This would need the OST thread performing the operation to get PW extent locks (and possibly the PW lock on the MDT for DOM files) in order to ensure the client cache is flushed, since it is modifying the file's data.

            For ldiskfs this would be passed down to the ldiskfs {{fallocate()}} call. I'm not sure whether ZFS supports this or not.
            New: It would be possible to implement the {{fallocate(FALLOC_FL_ZERO_RANGE)}} option for Lustre. This would need the OST thread performing the operation to get PW extent locks (and possibly the PW lock on the MDT for DOM files) in order to ensure the client cache is flushed, since it is modifying the file's data.

            For ldiskfs this would be passed down to the ldiskfs {{fallocate()}} call. I'm not sure whether ZFS supports zeroing blocks or not, but it could also be mapped to {{FALLOC_FL_PUNCH_HOLE}} to provide functionally equivalent functionality.
            adilger Andreas Dilger made changes -
            Link New: This issue is related to LUDOC-487 [ LUDOC-487 ]
            adilger Andreas Dilger made changes -
            Link New: This issue is cloned by LU-17326 [ LU-17326 ]
            adilger Andreas Dilger made changes -
            Link New: This issue is related to LU-14160 [ LU-14160 ]
            adilger Andreas Dilger made changes -
            Link New: This issue is related to LU-3606 [ LU-3606 ]
            adilger Andreas Dilger made changes -
            Labels Original: easy New: easy lad23dd
            adilger Andreas Dilger made changes -
            Summary Original: Implmement FALLOC_FL_ZERO_RANGE New: Implement FALLOC_FL_ZERO_RANGE
            adilger Andreas Dilger created issue -

            People

              squalfof Keguang Xu
              adilger Andreas Dilger
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated: