version 1.53, 2005/12/13 22:21:02 |
version 1.54, 2005/12/17 13:56:02 |
|
|
ufs_filestat(struct vnode *vp, struct filestat *fsp) |
ufs_filestat(struct vnode *vp, struct filestat *fsp) |
{ |
{ |
struct inode inode; |
struct inode inode; |
|
struct ufs1_dinode di1; |
|
|
if (!KVM_READ(VTOI(vp), &inode, sizeof (inode))) { |
if (!KVM_READ(VTOI(vp), &inode, sizeof (inode))) { |
dprintf("can't read inode at %p for pid %ld", |
dprintf("can't read inode at %p for pid %ld", |
VTOI(vp), (long)Pid); |
VTOI(vp), (long)Pid); |
return 0; |
return 0; |
} |
} |
|
|
|
if (!KVM_READ(inode.i_din1, &di1, sizeof(struct ufs1_dinode))) { |
|
dprintf("can't read dinode at %p for pid %ld", |
|
inode.i_din1, (long)Pid); |
|
return (0); |
|
} |
|
|
|
inode.i_din1 = &di1; |
|
|
fsp->fsid = inode.i_dev & 0xffff; |
fsp->fsid = inode.i_dev & 0xffff; |
fsp->fileid = (long)inode.i_number; |
fsp->fileid = (long)inode.i_number; |
fsp->mode = inode.i_ffs_mode; |
fsp->mode = inode.i_ffs_mode; |
|
|
ext2fs_filestat(struct vnode *vp, struct filestat *fsp) |
ext2fs_filestat(struct vnode *vp, struct filestat *fsp) |
{ |
{ |
struct inode inode; |
struct inode inode; |
|
struct ext2fs_dinode e2di; |
|
|
if (!KVM_READ(VTOI(vp), &inode, sizeof (inode))) { |
if (!KVM_READ(VTOI(vp), &inode, sizeof (inode))) { |
dprintf("can't read inode at %p for pid %ld", |
dprintf("can't read inode at %p for pid %ld", |
VTOI(vp), (long)Pid); |
VTOI(vp), (long)Pid); |
return 0; |
return 0; |
} |
} |
|
|
|
if (!KVM_READ(inode.i_e2din, &e2di, sizeof(struct ext2fs_dinode))) { |
|
dprintf("can't read dinode at %p for pid %ld", |
|
inode.i_e2din, (long)Pid); |
|
return (0); |
|
} |
|
|
|
inode.i_e2din = &e2di; |
|
|
fsp->fsid = inode.i_dev & 0xffff; |
fsp->fsid = inode.i_dev & 0xffff; |
fsp->fileid = (long)inode.i_number; |
fsp->fileid = (long)inode.i_number; |
fsp->mode = inode.i_e2fs_mode; |
fsp->mode = inode.i_e2fs_mode; |