Вредят ли установщики дистрибутива твердотельным накопителям?

Другой вариант:

awk -v col=1 -v keys="$GrabVariantOption1,$GrabVariantOption2,$GrabVariantOption3" '
    BEGIN {
        FS = OFS = ","

        # keys is a single string: "A,g,G"

        n = split(keys, a)

        # now, n=3 and a is the array ("A", "g", "G")

        for (i=1; i<=n; i++) keep[a[i]] = 1

        # now, keep is an associative array mapping "A"=>1, "g"=>1, "G"=>1
        # ("A" in keep) is true
        # ("C" in keep) is false
    }
    !($col in keep) {$col = "X"}
    {print}
' input
0
31.10.2021, 19:53
1 ответ

Связанный документ, по-видимому, служит определенной цели (Разработка и тестирование драйвера NVME ядра Linux )и не является общим советом для конечных пользователей.

Утверждается, что ext4 не отбрасывает во время mkfs...

Core Filesystems:

  • ext4 – the default extended option is not to discard blocks at filesystem make time, retain this, and do not add the “discard” extended option as some information will tell you to do.
  • xfs – with mkfs.xfs, add the –K option so that you do not discard blocks.

...и все же это так. Это самое первое, что он делает.

# mkfs.ext4 /dev/loop0
mke2fs 1.46.4 (18-Aug-2021)
Discarding device blocks: done
Creating filesystem [...]

Поэтому, если вы не хотите сбрасывать все данные, вам необходимо активно предотвратить это, для xfs с использованием mkfs.xfs -K, как было предложено, для ext4 с mkfs.ext4 -E nodiscard.

# mkfs.ext4 -E nodiscard /dev/loop0
mke2fs 1.46.4 (18-Aug-2021)
Creating filesystem [...]

Я не знаю, менялось ли когда-либо поведение по умолчанию. Насколько я могу судить, это всегда было по умолчанию. До появления -E discard,nodiscard были также -K для сохранения данных (отключить по умолчанию -при сбросе )без соответствующей опции для включения сброса, если она отключена по умолчанию.

Страница руководства когда-то утверждала, что nodiscard используется по умолчанию, но я не вижу, чтобы это было отражено в коде где-либо в истории коммитов, так что, возможно, это восходит к ошибке документации.

mke2fs :Устареть -Опция K, ввести discard/nodiscard

(На самом деле, в этом коммите одновременно утверждается, что и discard, и nodiscard используются по умолчанию.)

Было бы здорово, если бы nodiscard было значением по умолчанию, а fstrim стало возможным только через неделю. Linux немного быстр, чтобы угробить ваши данные. Отформатируйте не то устройство, и даже если вы сразу заметите свою ошибку, уже слишком поздно делать какое-либо восстановление данных.

1
31.10.2021, 21:05

Теги

Похожие вопросы