Как определить, нуждается ли блочное устройство в очистке кэша

Ниже приводится команда sed для достижения результата:

sed '1s/\(.*,\)\([^,]*\)$/\1col3,\2/;
     2,$s/\(.*,\)\([^,]*\)$/\1,\2/' file.csv

Эта команда находит последние , в line и заменяет его на

  • col3, в первой строке
  • , во всех остальных строках

Эта команда просто выводит требуемый вывод в stdout . Если вы хотите отредактировать файл на месте, укажите переключатель -i в приведенной выше команде.

3
08.07.2016, 00:59
1 ответ

Да, содержимое файла file / sys / block / xxx / queue / cache_type позволяет определить, требуется ли устройству очистка кеша или нет. Из Documentation / block / queue-sysfs.txt в исходном коде ядра Linux:

write_cache (RW)
----------------
When read, this file will display whether the device has write back
caching enabled or not. It will return "write back" for
the former case, and "write through" for the latter. Writing to this
file can change the kernels view of the device, but it doesn't alter
the device state. This means that it might not be safe to toggle the
setting from "write back" to "write through", since that will also
eliminate cache flushes issued by the kernel.
  • Если содержимое этого файла является «сквозной записью», то устройство утверждает, что оно не работает требует очистки кеша.

  • Если содержимое этого файла «обратная запись», то устройство утверждает, что оно действительно требует очистки кэша.

3
27.01.2020, 21:22

Теги

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