212 |
static error_t |
static error_t |
213 |
read_disknode (struct node *np) |
read_disknode (struct node *np) |
214 |
{ |
{ |
|
static int fsid, fsidset; |
|
215 |
struct stat *st = &np->dn_stat; |
struct stat *st = &np->dn_stat; |
216 |
struct dinode *di = dino (np->dn->number); |
struct dinode *di = dino (np->dn->number); |
217 |
error_t err; |
error_t err; |
220 |
if (err) |
if (err) |
221 |
return err; |
return err; |
222 |
|
|
|
if (! fsidset) |
|
|
{ |
|
|
fsid = getpid (); |
|
|
fsidset = 1; |
|
|
} |
|
|
|
|
223 |
st->st_fstype = FSTYPE_UFS; |
st->st_fstype = FSTYPE_UFS; |
224 |
st->st_fsid = fsid; |
st->st_fsid = getpid (); /* This call is very cheap. */ |
225 |
st->st_ino = np->dn->number; |
st->st_ino = np->dn->number; |
226 |
st->st_gen = read_disk_entry (di->di_gen); |
st->st_gen = read_disk_entry (di->di_gen); |
227 |
st->st_rdev = read_disk_entry(di->di_rdev); |
st->st_rdev = read_disk_entry(di->di_rdev); |