ответ don_crissti в комментариях, который указывает на две ошибки в объявлении startTimes
и в использовании ${var[@]}
, который нужно использовать с seq
выходом
startTimes=( $(seq 300 10 330) )
for startTime in "${startTimes[@]}";
do
endTime=$(( ${startTime}+10 ))
echo ${endTime} > /tmp/111test
done
echo "Last endTime: "${endTime}
Похоже, это была ошибка в mke2fs
, из-за которой использовалось fallocate(fd, PUNCH_HOLE,...)
вместо fallocate(fd, DISCARD_ZERO,...)
при обнулении пространства в таблицах инодов (, даже когда использовалось -E nodiscard
).
Я отправил отчет об ошибке в вышестоящий linux-ext4@vger.kernel.org
список рассылки после локальной проверки этого поведения и получил исправление в течение часа, тема:
e2fprogs: block zero/discard cleanups
Они должны быть включены в -выпуск e2fsprogs 1.45 и , вероятно, в отладочный выпуск 1.44.x. Если вы хотите, чтобы они были в выпуске поставщика e2fsprogs
, я бы порекомендовал исправить + собрать ваши e2fsprogs, чтобы убедиться, что это работает для вас, сообщить об успехе в linux-ext4
, чтобы исправления появились раньше, а затем отправить отчет об ошибке в выбранный вами дистрибутив, чтобы они включали исправления основной ветки разработки в свои выпуски.