[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

программистам: отличить друг от друга файловые системы



имеем несколько (в пределе два) существующих путей

/path1/to
/path2/to

нужно дать положительный ответ на вопрос: расположены ли оба пути на
одной файловой системе или же на разных?
задачу надо решить без парсинга всяких mtab и /proc/filesystems.
решение задачи нужно в рамках проекта написанного на C потому с
парсингом завязываться не хочется. но нормального решения не нашел,
потому спрашиваю, может кто сталкивался?


первое что пришло в голову это функции statvfs(2) и statfs(2)
но я написал на них тест: на вход передаем путь, программа печатает
все содержимое возвращаемой структуры. очень надеялся я на поле "file
system id", однако на моих хостах где-то в 90% случаев fsid возвращает
равным нулю даже в некоторых случаях для корневой файловой системы.

есть ли еще способы различить файловые системы?
-- 
... mpd is off

. ''`.                               Dmitry E. Oboukhov
: :’  :   email: unera@debian.org jabber://UNera@uvw.ru
`. `~’              GPGKey: 1024D / F8E26537 2006-11-21
  `- 1B23 D4F8 8EC0 D902 0555  E438 AB8C 00CF F8E2 6537

Attachment: signature.asc
Description: Digital signature


Reply to: