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

ext4 extent tree should be able to shrink

    XMLWordPrintable

Details

    • Improvement
    • Resolution: Fixed
    • Minor
    • Lustre 2.16.0
    • None
    • None
    • 3
    • 9223372036854775807

    Description

      ext4's extent code doesn't handle cases when extents merge/collapse. for example, one can create a sparse file like this

      EXTENTS:
      (ETB0):33409
       (0):34816
       (2):34818
       (4):34820
       (6):34822
       (8):34824
       (10):34826
       (12):34828
       (14):34830
       (16):34832
       (18):34834
       (20):34836
       (22):34838
       (24):34840
       (26):34842
       (28):34844
       (30):34846
       (32):34848
       (34):34850
       (36):34852
       (38):34854
       (40):34856
       (42):34858
       (44):34860
       (46):34862
       (48):34864
       (50):34866
      

      then fill the holes and get an extent tree like this one:

      EXTENTS:
      (ETB0):33409
       (0-1):34816-34817
       (ETB0):33411
       (2-679):34818-35495
       (ETB0):33410
       (680-998):35496-35814
      

      where 2 blocks are used to store 2 mergable extents.

      Attachments

        Issue Links

          Activity

            People

              bzzz Alex Zhuravlev
              bzzz Alex Zhuravlev
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: