06 May 19, Jurij Ivliev writes to Eugene Grosbein:
EG>>>> Сначала нужно найти в спецификации, а было ли что ломать изначально. AK>>> спецификации не существует (если и существовала - орацл ей не AK>>> поделится) существует устоявшееся поведение, и общая ориентация zfs AK>>> на работу без милых костыликов и подпорочек там, где без них вполне AK>>> прекрасно можно обойтись. Причем до рукожопиков - все работало. EG>> Hу то есть работало без гарантий. Как там говорится, AS IS. JI> В оракловых доках таки да, явных указаний найтить не получается. JI> Про особенности автомонтировния ZFS читал когда-то очень давно, скорее JI> всего ещё у солнцевских. И скорее всего не в собственно документации, JI> а в какой-то их статье про ZFS.
JI> А вот код, который отвечает за порядок монтирования, имеется. JI> И до сих пор работает исправно. JI> cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c, функция JI> static int mountpoint_cmp(void const *a, void const *b); JI> используется для сравнения в qsort по списку датасетов, кандидатов JI> на монтирование.
JI> Свои слова про неотключаемость забираю взад. Таки невнимательно JI> diff разглядывал. Есть там переменная окружения ZFS_SERIAL_MOUNT. JI> Если выставить её в rc.conf - всё работает как раньше. JI> Остаётся понять что ломается при многопоточном монтировании.
мне лень отматывать и смотреть что конкретно у тебя, но если встречается ситуация типа
то вообще говоря результат представляется неопределенным и даже в случае однопоточного монтирования зависящим от порядка монтирования самих пулов pool1/pool2 и pool2/pool1 дадут разные результаты.
PS: все же отмотал. у тебя почти такая ситуация -- двойное монирование home. убери нахрен с первого пула и проверь.
... Hет, ребята, пулемета я вам не дам --- GoldED+/BSD 1.1.5-b20110223-b20110223 * Origin: (2:5030/500)