2016-07-30 6 views
0

Я хочу установить 100 МБ tmpfs в программу C в Linux. Как передать параметры монтирования Pass (например, -o size = 100M, mode = 0755) в mount syscall?Как передать параметры в системный вызов mount?

Это интерфейс монтирования C:

#include <sys/mount.h> 

int mount(const char *source, const char *target, 
      const char *filesystemtype, unsigned long mountflags, 
      const void *data); 

ответ

0

Чтение mount(2) человек-страницы, он кажется, что файловая система независимых варианты приведены в mountflags, как сочетание различных флагов, а также другие специфические файловой системы опции в data как запятая -сепаратированная строка точно так же, как они используются в mount(8).

Так что в вашем случае просто передать эти параметры в виде строки:

const char *data = "size=100M,mode=0755"; 
... 
mount(source, target, filesystemtype, mountflags, data); 
+0

спасибо за ответ. Я отправил параметры файловой системы через данные, но я не могу найти свои tmpfs. Могу ли я использовать этот раздел вне моей программы. – SAP

+0

Посмотрите на этот адрес: http://stackoverflow.com/questions/32814782/mount-system-call-in-linux-cannot-display-the-mountpoint-of-file-system-by-df-co – SAP