Закрыть дескриптор файла ленты без записи метки файла - PullRequest
0 голосов
/ 19 апреля 2020

Похоже, что (Ultrium) ленточные накопители LTO всегда записывают метку файла в текущую позицию, когда дескриптор файла закрыт, обрезая файл ленты и архив, который он содержит.

Как вы могли бы предотвратить это?

Например, после перемотки ленты вы открываете дескриптор файла, используя что-то вроде sysopen my $fh, "/dev/nst0", O_RDWR в Perl, записываете что-то с помощью этого дескриптора, перезаписывая область файла ленты, а затем закрываете дескриптор. После закрытия дескриптора файла, похоже, что файл ленты обрезан по метке файла, что повредит содержащийся в нем архив. Попытка вызвать sysread в oop до конца файла ленты не удалась с ошибкой ввода-вывода.

Я бы предпочел Perl, но я бы не стал возражать Python, C или другой язык, если необходимо.

...