それとも別のボリュームがマウントされたマウントポイントなのかを
その時々で調べる必要に迫られました。
最初は"lost+found"ディレクトリがあるかどうかで判定しようと考えたのですが、
これだと完全ではないので何か方法はないのか調べてみると、
"/proc/self/mountinfo"の出力から分かることにたどり着きました。
例えば、"/opt"がマウントポイントかどうかは以下のようなコード(C言語)で判別できます。
FILE *fp; int f; char buff[128]; if((fp=fopen("/proc/self/mountinfo","r"))==NULL) return; f=1; while(fgets(buff,sizeof(buff),fp)){ if(strstr(buff,"/opt")){ f=0; break; } } if(f){ // /opt is normal directory. } else{ // /opt is mountpoint. } fclose(fp);
こういうことが必要になるケースはそうはないと思いますが、
組み込み用途では活用できるかもしれません。
0 件のコメント:
コメントを投稿