При передаче MS_BIND
в mount()
среди флагов передача NULL
в качестве третьего аргумента не является неправильной, а передача "none"
не является ни лучше, ни хуже. Оба полагаются на тот факт, что этот аргумент игнорируется при монтировании bind (и это задокументировано в руководстве ).
Valgrind прав в том, что NULL
является указателем, который не указывает на данные, и что при представлении в качестве аргумента "none"
затухает до указателя, который указывает на данные. Недостаточно разглядеть, что здесь это не имеет значения. Если молчание Valgrind об этой проблеме является вашей главной задачей, тогда передача "none"
является хорошим способом сделать это.
Сам, я, вероятно, просто использовал бы NULL
, поскольку это лучше передает другим (включая меня в будущем), что я передаю то, что не ожидаю использовать. По той же причине, если бы я использовал здесь строку для смягчения раздражительного Вальгринда, я бы, вероятно, выбрал еще одну, например "not used because MS_BIND"
.
С другой стороны, когда данные монтирования хранятся в файле (, т.е. /etc/fstab
), вы должны поместить что-то в поле, а там , "нет"
делает большую работу по передаче информации, которая важна на этом уровне, для потребителей этих данных.