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

fallocate restart resumes at a block count used as a byte offset

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Minor Minor
    • Lustre 2.18.0
    • None
    • None
    • 3
    • 9223372036854775807

      osd_fallocate_preallocate() advances the caller's byte offset *start by the block count from ldiskfs_map_blocks() ("*start += rc;", osd_io.c). *start is ofd_object_fallocate()'s resume point across its -EAGAIN restart loop, so a restart resumes ~4096x too early and re-maps what it already mapped.

      Found by graph-hunter-v1

            skoyama Sohei Koyama
            skoyama Sohei Koyama
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: