Hi all,

Dne 20.01.2021 v 0:12 Zygo Blaxell napsal(a):
> With the 4 device types we can trivially specify this arrangement.
>
> The sorted device lists would be:
>
>         Metadata sort order             Data sort order
>         metadata only (3)               data only (2)
>         metadata preferred (1)          data preferred (0)
>       data preferred (0)              metadata preferred (1)
>         other devices (2 or other)      other devices (3 or other)
>
> We keep 3 device counts for the first 3 sort orders.  If the number of all
> preferred devices (type != 0) is zero, we just return ndevs; otherwise,
> we pick the first device count that is >= mindevs.  If all the device
> counts are < mindevs then we return the 3rd count (metadata only +
> metadata preferred + data preferred) and the caller will find ENOSPC.
>
> More sophisticated future implementations can alter the sort order, or
> operate in entirely separate parts of btrfs, without conflicting with
> this scheme.  If there is no mount option, then future implementations
> can't conflict with it.

I agree with Zygo and Josef that the mount option is ugly and needless. This 
should be a
_per-device_ setting as suggested by Zygo (metadata only, metadata preferred, 
data preferred, data
only, unspecified). Maybe in the future it might be useful to generalize this 
setting to something
like a 0..255 priority but the 4 device types look like a sufficient solution 
for now. I would
personally prefer a read-write sysfs option to change the device preference but 
btrfs-progs approach
is fine for me too.

Anyway, I'm REALLY happy that there's finally a patchset being actively 
discussed. I maintain a
naive patch implementing "preferred_metadata=metadata" option for years and the 
impact e.g. for
rsync backups is huge.

Martin


Reply via email to