Quoting myself webmas...@zedlx.com:

B) "sharing-defrag"
   a file is share-defragmented if ALL of the following are met:
1) all extents are written on disk in neighbouring sectors in the ascending order
2) all pairs of *adjanced* extents meet AT LEAST ONE of the following criteria
      2.1) both extents are sufficiently large
2.2) the two extents have mismatching sharing groups (they are shared by different sets of files)

If it is hard to undersztand what is meant by those rules, consider the following example (copy-pasted from previous post):

Let's say that there is a file FFF with extents e11, e12, e13, e22,
e23, e33, e34
- in subvolA the file FFF consists of e11, e12, e13
- in subvolB the file FFF consists of e11, e22, e23
- in subvolC the file FFF consists of e11, e22, e33, e34

After defrag, where 'selected subvolume' is subvolC, the extents are
ordered on disk as follows:

e11,e22,e33,e34 - e23 - e12,e13

In the list above, the comma denotes neighbouring extents, the dash
indicates that there can be a possible gap.

As you can see in the list, the file FFF is fully sharing-defragmented in
subvolC, since its extents are occupying neighbouring disk sectors. Except for extents e33,e34 which can be fused if one of them is too small. If that is not the case (e33,e34 are sufficiently large), then the perfect solution is given.

Reply via email to