06 May 19, Jurij Ivliev writes to Slawa Olhovchenkov:
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>>> на монтирование. SO>> мне лень отматывать и смотреть что конкретно у тебя, но если SO>> встречается ситуация типа pool1/a => X/a pool1/a/b/c => X/a/b/c SO>> pool2/a pool2/a/b => X/a/b JI> то по логике, заложенной в mountpoint_cmp(), получается такой порядок: JI> pool1/a => X/a JI> pool2/a JI> pool2/a/b => X/a/b JI> pool1/a/b/c => X/a/b/c JI> (предполагается, что для pool2/a установлен mountpoint=X/a и canmount=off). JI> То есть при однопотоке всё смонтируется как ожидается (если я правильно JI> понял ожидания).
SO>> то вообще говоря результат представляется неопределенным и даже в SO>> случае однопоточного монтирования зависящим от порядка монтирования SO>> самих пулов pool1/pool2 и pool2/pool1 дадут разные результаты. JI> Вот тут не понял. Что такое "монтирования самих пулов"? JI> Hасколько я понимаю открытие пулов и монтирование датасетов - JI> последовательные действия. То есть сначала подключаются все известные пулы, JI> а затем с них скопом монтируется всё, что должно смонтироваться.
у меня почему-то другое мнение. и как бы zpool import сразу приводит к монтированию всего что там есть, если дополнительных флагов не заданно.
... Поздpавляем! Вы пpошли Windows! Hачать новую игpу? --- GoldED+/BSD 1.1.5-b20110223-b20110223 * Origin: (2:5030/500)