Provided by:
manpages-ja-dev_0.5.0.0.20060115-1_all 
f_fsid意
Solaris, Irix, POSIX にはシステムコール statvfs(2) があり、 struct
statvfs を返す (<sys/statvfs.h> で定義されている)。 この構造体には、
unsigned long f_fsid が含まれている。 Linux, SunOS, HPUX, 4.4BSD
にはシステムコール statfs() があり、 struct statfs を返す (<sys/vfs.h>
で定義されている)。 この構造体には fsid_t f_fsid, が含まれており、
fsid_t は struct { int val[2]; } と定義されている。 FreeBSD
でも同じであるが、インクルードファイル <sys/mount.h> を使う。
f_fsid はあるランダムな値を持ち、 (f_fsid,ino) という 1
組の値でファイルを一意に決定でい襪茲Δ砲垢襦
というのが基本的な考え方である。 いくつかの OS では、デバイス番号
(の変種) を使ったり、
デバイス番号とファイル・システムタイプを組み合わせて使ったりしている。
OS の中には f_fsid
フィールドの取得をスーパーユーザに限定しているものもある
(非特権ユーザが取得すると 0 となる)。 NFS でエクスポートされる場合、
このフィールドがファイル・システムのファイルハンドルで使われており、
この値を提供するとセゥ絅螢謄上の問題がある。
いくつかの OS では、 fsid を sysfs() システムコールの第 2 引-
数として使用でい襦
意
このライブラリコールをサポートするため、 カーネルにはシステムコール
statfs(), fstatfs(), statfs64(), fstatfs64() がある。
<sys/vfs.h> しか持たないシステムもあり、 <sys/statfs.h>
も持っているシステムもある。 前者は後者をインクルードするので、
前者をインクルードするのが良いと考えられる。
LSB ではライブラリコール statfs(), fstatfs() を非推奨として、代わりに
statvfs(), statvfs() を使うように指示している。
目
path_resolution(2), stat(2), statvfs(2)