REQ_FSTATFS now operates on the root inode (the inode parameter has been

removed)
This commit is contained in:
Philip Homburg 2007-08-17 11:20:59 +00:00
parent 9c3f85d14f
commit ab3062c8c0
4 changed files with 5 additions and 10 deletions

View file

@ -75,9 +75,8 @@ PUBLIC int fs_fstatfs()
struct inode *rip; struct inode *rip;
int r; int r;
if ((rip = find_inode(fs_dev, fs_m_in.REQ_FD_INODE_NR)) if ((rip = find_inode(fs_dev, ROOT_INODE)) == NIL_INODE) {
== NIL_INODE) { printf("mfs:fstatfs: couldn't find inode %d\n", ROOT_INODE);
printf("FSfstatfs: couldn't find inode %d\n", fs_m_in.REQ_FD_INODE_NR);
return EINVAL; return EINVAL;
} }

View file

@ -151,8 +151,7 @@ _PROTOTYPE( int req_chown, (endpoint_t fs_e, ino_t inode_nr,
_PROTOTYPE( int req_create, (int fs_e, ino_t inode_nr, int omode, _PROTOTYPE( int req_create, (int fs_e, ino_t inode_nr, int omode,
int uid, int gid, char *path, node_details_t *res) ); int uid, int gid, char *path, node_details_t *res) );
_PROTOTYPE( int req_flush, (endpoint_t fs_e, Dev_t dev) ); _PROTOTYPE( int req_flush, (endpoint_t fs_e, Dev_t dev) );
_PROTOTYPE( int req_fstatfs, (int fs_e, ino_t inode_nr, int who_e, _PROTOTYPE( int req_fstatfs, (int fs_e, int who_e, char *buf) );
char *buf) );
_PROTOTYPE( int req_ftrunc, (endpoint_t fs_e, ino_t inode_nr, _PROTOTYPE( int req_ftrunc, (endpoint_t fs_e, ino_t inode_nr,
off_t start, off_t end) ); off_t start, off_t end) );
_PROTOTYPE( int req_getdents, (endpoint_t fs_e, ino_t inode_nr, _PROTOTYPE( int req_getdents, (endpoint_t fs_e, ino_t inode_nr,

View file

@ -212,9 +212,8 @@ dev_t dev;
/*===========================================================================* /*===========================================================================*
* req_fstatfs * * req_fstatfs *
*===========================================================================*/ *===========================================================================*/
PUBLIC int req_fstatfs(fs_e, inode_nr, who_e, buf) PUBLIC int req_fstatfs(fs_e, who_e, buf)
int fs_e; int fs_e;
ino_t inode_nr;
int who_e; int who_e;
char *buf; char *buf;
{ {
@ -229,7 +228,6 @@ char *buf;
/* Fill in request message */ /* Fill in request message */
m.m_type = REQ_FSTATFS; m.m_type = REQ_FSTATFS;
m.REQ_INODE_NR = inode_nr;
m.REQ_GRANT = gid; m.REQ_GRANT = gid;
/* Send/rec request */ /* Send/rec request */

View file

@ -230,8 +230,7 @@ PUBLIC int do_fstatfs()
if ( (rfilp = get_filp(m_in.fd)) == NIL_FILP) return(err_code); if ( (rfilp = get_filp(m_in.fd)) == NIL_FILP) return(err_code);
/* Issue request */ /* Issue request */
return req_fstatfs(rfilp->filp_vno->v_fs_e, rfilp->filp_vno->v_inode_nr, return req_fstatfs(rfilp->filp_vno->v_fs_e, who_e, m_in.buffer);
who_e, m_in.buffer);
} }