10 May 14 16:48, you wrote to me: >> >> И уж коли пошла об этом речь, что такое вообще блок, какой его >> физический смысл, например при записи на /dev/sa0 ?
VD> man 4 sa. Там эта тема аж на две главы расписана.
Там слишком много буков, особенно что касается variable block-size. Если можешь - своими словами в трех словах.
Про fixed block-size чуть яснее, но всё равно непонятно: что такое магическое делает dd или tar в конце очередного блока данных? Шлет какой-то разделитель? Закрывает девайс?
>> Блоки отделяются друг от друга каким-то специальным разделителем?
VD> Логически (на уровне команд SCSI) - да. А физически хрен знает как там VD> у разных вендоров устроено.
Не надо на уровне команд SCSI. Скажи, если знаешь, что происходит на границе блока на уровне пишущей на ленту программы, например tar. Устройство она переоткрывает, что ли?
>> Если tar-архив по умолчанию (без указания ключа -b) кратен 10240 >> байтам (размер блока по умолчанию в tar), то почему такой tar-архив >> всегда нормально укладывается на ленту при "dd bs=64k"?
VD> Всегда ли?
На моем опыте обратного случая не было ни разу, это при регулярных еженедельных бэкапах пары десятков разных fs в течение многих лет. Настолько ни разу не было, что я уже начал считать, что современным ленточкам с variable size уже всё пофиг и можно писать как попало, лишь бы успевать кормить стример данными.
Первый раз за много лет увидел нечто такое, что описал в первом письме данного треда.
VD> К сожалению (а, может, к счастью ;-) у меня нет под рукой VD> ленты проверить - повывели из эксплуатации с тех пор, как цена VD> гигабайта на винчестере стала дешевле. А в природе (например, в VD> дистфайлах) попадаются тары и некратные 10240 байтам.
Ну из man tar следует, что "For tar and cpio formats, the last block of output is padded to a full block size if the output is being written to standard output or to a character or block device such as a tape drive. If the output is being written to a regular file, the last block will not be padded. "
Так что всё понятно с некратными тарами, их просто писали сразу в файл.