Как программно определить, находится ли файл в сетевой файловой системе (NFS или SMB) в Linux и / или macOS? - PullRequest
0 голосов
/ 24 апреля 2020

Я пишу утилиту для тестирования ввода / вывода, и как часть этого я хотел бы иметь возможность определить, находится ли конкретный файл в локальной файловой системе или сетевой файловой системе, такой как NFS или SMB. Существуют ли какие-либо вызовы ОС или другие методы, которые предоставят эту информацию? Я искал, но пока ничего не нашел.

1 Ответ

0 голосов
/ 28 апреля 2020

Так что да, statfs () (и, возможно, stavfs ()), кажется, путь к go. Оказывается, в macOS statfs () гораздо полезнее, чем statfs () или statvfs () в Linux. К счастью, macOS для меня важнее. Поле f_type (обе платформы) и поля f_fstypename, f_mntonname и f_mntfromname (только для macOS) - это то, что вам нужно.

...