Якщо mount(2) потрібно було створити новий каталог, який буде точкою монтування, ви не змогли нічого змонтувати під файловою системою лише для читання. Це було б глупо, тому ми можемо це виключити.
Якщо при монтажі необов'язково створено новий каталог, який буде точкою кріплення , це було б дивно. Це не так, як mount / unmount трапляються постійно, тому введення додаткової логіки в ядро для виконання цих двох кроків за допомогою одного системного виклику не буде важливим прискоренням. Просто залиште його на просторі користувача, щоб здійснити mkdir(2)системний дзвінок, якщо він хоче. У відповіді Дмитра вказується, що mount(2)робити обидві речі це зробило б це не атомним. І ви хочете отримати додатковий аргумент mount(2)з прапорами режиму, як " open(2)take", " O_CREAT," O_EXCLі т.д.
Або, можливо, ви запитували про те, щоб mount(8)(традиційна програма, яка робить mount(2)системні дзвінки) робити це? Це було б можливо, але там вже ідеально добре mkdir(1)для роботи, і дизайн Unix - це все про хороші невеликі інструменти, які можна комбінувати. Якщо ви хочете, щоб інструмент робив і те, і інше, легко написати сценарій оболонки, щоб створити цей інструмент з двох простих інструментів. (Або, як зауважив Муру, це udisksctlвже робиться, тому вам не доведеться писати це.) Також, звичайний Linux mount(8)від util-linux підтримує mount -o x-mount.mkdir[=mode]його x-синтаксис для параметрів для простору користувачів, а не для передачі параметрів у файлову систему.
Тепер цікавіше питання: чому взагалі повинен бути каталог у батьківській файловій системі?
Як і вказує відповідь pjc50 (жодного відношення, хоча у нього є мої ініціали!), Якщо точки монтажу відображатись у списках каталогів, тоді знадобиться додаткова перевірка на кожен readdir().
Наявність точок монтажу як каталогів у каталозі, що містить їх (на батьківському FS) - приємний трюк. readdir()зовсім не потрібно помічати, що це точка кріплення. Це відбувається лише в тому випадку, якщо точка монтажу використовується як компонент шляху. Дозвіл доріжки, звичайно, повинен перевіряти таблицю кріплення для кожного компонента каталогу шляху.
udisksctl. Навіщо використовуватиmount?