Prüfen, ob ein Verzeichnis Mount-Punkt ist

Datum: 2006-08-14
Quelle: suse-programming-e

Worum ging es?

Innerhalb eines C-Programms soll geprüft werden, ob ein bestimmtes Verzeichnis der Mountpunkt eines Dateisystems ist oder nicht.

Code
#include <stdio.h>
#include <sys/statvfs.h>
int main(int argc, char **argv) {
  char *p = NULL;
  struct statvfs st;
  if (argc == 2) p = argv[1];
  else p = ".";
  statvfs(p, &st);
  printf("%ld\n", st.f_fsid);
  exit(0);
}
Beschreibung

Das Beispiel zeigt, wie man prüfen kann, in welchem Dateisystem sich ein Verzeichnis befindet. Wenn das übergebene Verzeichnis einen Mountpunkt für ein Dateisystem darstellt, dann ist seine f_fsid eine andere als die seines übergeordneten Verzeichnis.