Несоответствие ссылки btrfs и обратного указателя, ОШИБКА в дереве распределения экстентов

while IFS= read -r l; do
   printf '%s\n' "$l" | tee log
   for i in $(seq $(cut -d, -f3,4 log | tr, '\n')); do
     printf '%s,%s\n' "$l" "$i"
   done
done < input.csv

perl -F, -pe 's|(.*)\K|join $/, $,, map "$1,$_", 0+$F[2]..$F[3]|ex'  input.csv

выход:

1,13/06/17,01,03,D151
1,13/06/17,01,03,D151,1
1,13/06/17,01,03,D151,2
1,13/06/17,01,03,D151,3
2,25/06/17,04,06,D154
2,25/06/17,04,06,D154,4
2,25/06/17,04,06,D154,5
2,25/06/17,04,06,D154,6

Пояснение

  1. Текущая строка сохранена в $1. \nв текущей записи не будет сохранено в $1, так как .не соответствует новой строке, если не действует модификатор /s.
  2. $F[2]..$F[3]=> генерировать последовательность чисел, начиная с левого и заканчивая правым, с шагом 1. Артефакт 0+предназначен для удаления ведущих нулей, которые в противном случае были бы результатом.
  3. mapвыполнит соответствующую операцию, объединив текущую строку и целое число, разделенное запятой.
  4. Все эти строки, сгенерированные на шаге -3, объединяются с помощью $/, который представляет собой RSи по умолчанию представляет собой новую строку.
0
10.09.2019, 17:53
1 ответ

Спасибо, Эммануэль Роза, за ваш комментарий, вы указали мне правильное направление.

После запуска очистки смонтированного тома
btrfs sc start -Bd /dev/mapper/bckp

Вот такой результат:
scrub device /dev/mapper/bckp (id 1) done scrub started at Thu Sep 12 13:28:38 2019 and finished after 05:12:29 total bytes scrubbed: 3.02TiB with 0 errors

Нет ошибок или предупреждений в журналах.

Итак, я снова запустил проверку btrfs и, наконец, получил чистый результат:
bf ch -p /dev/mapper/bckp Opening filesystem to check... Checking filesystem on /dev/mapper/bckp UUID: 4b793176-530a-4a82-b156-3363db035760 [1/7] checking root items (0:01:27 elapsed, 5102746 items checked) [2/7] checking extents (0:04:15 elapsed, 969366 items checked) [3/7] checking free space cache (0:00:32 elapsed, 4871 items checked) [4/7] checking fs roots (0:09:14 elapsed, 720718 items checked)ked) [5/7] checking csums (without verifying data) (0:00:29 elapsed, 1557593 items checked) [6/7] checking root refs (0:00:00 elapsed, 222 items checked) [7/7] checking quota groups skipped (not enabled on this FS) found 3308474904576 bytes used, no error found total csum bytes: 3214237436 total tree bytes: 15878373376 total fs tree bytes: 11854004224 total extent tree bytes: 553287680 btree space waste bytes: 2253478467 file data blocks allocated: 49609008967680 referenced 4863848071168

Моя программа:
btrfs version
btrfs -проги v4.19

uname -rom
4.19.57 -gentoo x86 _64 GNU/Linux`

Таким образом, FS снова чист и пригоден для использования без каких-либо предупреждений, спасибо за помощь.

1
28.01.2020, 02:39

Теги

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