cleanup
This commit is contained in:
parent
06e1f0da61
commit
90fde6e97d
@ -102,24 +102,12 @@ mode_t *new_modep;
|
||||
r = fs_sendrec(fs_e, &m);
|
||||
|
||||
/* Copy back actual mode. */
|
||||
if (r == OK)
|
||||
*new_modep = m.RES_MODE;
|
||||
*new_modep = m.RES_MODE;
|
||||
|
||||
return r;
|
||||
}
|
||||
|
||||
|
||||
/* Structure for REQ_CHOWN request */
|
||||
typedef struct chown_req {
|
||||
int fs_e;
|
||||
ino_t inode_nr;
|
||||
uid_t uid;
|
||||
gid_t gid;
|
||||
uid_t newuid;
|
||||
gid_t newgid;
|
||||
} chown_req_t;
|
||||
|
||||
|
||||
/*===========================================================================*
|
||||
* req_chown *
|
||||
*===========================================================================*/
|
||||
@ -471,74 +459,6 @@ mode_t dmode;
|
||||
}
|
||||
|
||||
|
||||
/* Structure for REQ_MKNOD request */
|
||||
typedef struct mknod_req {
|
||||
int fs_e;
|
||||
ino_t inode_nr;
|
||||
uid_t uid;
|
||||
gid_t gid;
|
||||
mode_t rmode;
|
||||
dev_t dev;
|
||||
char *lastc;
|
||||
} mknod_req_t;
|
||||
|
||||
|
||||
|
||||
/*===========================================================================*
|
||||
* req_newnode *
|
||||
*===========================================================================*/
|
||||
PUBLIC int req_newnode(fs_e, uid, gid, dmode, dev, res)
|
||||
endpoint_t fs_e;
|
||||
uid_t uid;
|
||||
gid_t gid;
|
||||
mode_t dmode;
|
||||
dev_t dev;
|
||||
struct node_details *res;
|
||||
{
|
||||
int r;
|
||||
message m;
|
||||
|
||||
/* Fill in request message */
|
||||
m.m_type = REQ_NEWNODE;
|
||||
m.REQ_MODE = dmode;
|
||||
m.REQ_DEVx = dev;
|
||||
m.REQ_UID = uid;
|
||||
m.REQ_GID = gid;
|
||||
|
||||
/* Send/rec request */
|
||||
r = fs_sendrec(fs_e, &m);
|
||||
|
||||
res->fs_e = m.m_source;
|
||||
res->inode_nr = m.RES_INODE_NR;
|
||||
res->fmode = m.RES_MODE;
|
||||
res->fsize = m.RES_FILE_SIZE;
|
||||
res->dev = m.RES_DEV;
|
||||
res->uid= m.RES_UID;
|
||||
res->gid= m.RES_GID;
|
||||
|
||||
return r;
|
||||
}
|
||||
|
||||
|
||||
/*===========================================================================*
|
||||
* req_mountpoint *
|
||||
*===========================================================================*/
|
||||
PUBLIC int req_mountpoint(fs_e, inode_nr)
|
||||
endpoint_t fs_e;
|
||||
ino_t inode_nr;
|
||||
{
|
||||
int r;
|
||||
message m;
|
||||
|
||||
/* Fill in request message */
|
||||
m.m_type = REQ_MOUNTPOINT_S;
|
||||
m.REQ_INODE_NR = inode_nr;
|
||||
|
||||
/* Send/rec request */
|
||||
return fs_sendrec(fs_e, &m);
|
||||
}
|
||||
|
||||
|
||||
/*===========================================================================*
|
||||
* req_mknod *
|
||||
*===========================================================================*/
|
||||
@ -580,6 +500,93 @@ dev_t dev;
|
||||
}
|
||||
|
||||
|
||||
/*===========================================================================*
|
||||
* req_mountpoint *
|
||||
*===========================================================================*/
|
||||
PUBLIC int req_mountpoint(fs_e, inode_nr)
|
||||
endpoint_t fs_e;
|
||||
ino_t inode_nr;
|
||||
{
|
||||
int r;
|
||||
message m;
|
||||
|
||||
/* Fill in request message */
|
||||
m.m_type = REQ_MOUNTPOINT_S;
|
||||
m.REQ_INODE_NR = inode_nr;
|
||||
|
||||
/* Send/rec request */
|
||||
return fs_sendrec(fs_e, &m);
|
||||
}
|
||||
|
||||
|
||||
/*===========================================================================*
|
||||
* req_newnode *
|
||||
*===========================================================================*/
|
||||
PUBLIC int req_newnode(fs_e, uid, gid, dmode, dev, res)
|
||||
endpoint_t fs_e;
|
||||
uid_t uid;
|
||||
gid_t gid;
|
||||
mode_t dmode;
|
||||
dev_t dev;
|
||||
struct node_details *res;
|
||||
{
|
||||
int r;
|
||||
message m;
|
||||
|
||||
/* Fill in request message */
|
||||
m.m_type = REQ_NEWNODE;
|
||||
m.REQ_MODE = dmode;
|
||||
m.REQ_DEVx = dev;
|
||||
m.REQ_UID = uid;
|
||||
m.REQ_GID = gid;
|
||||
|
||||
/* Send/rec request */
|
||||
r = fs_sendrec(fs_e, &m);
|
||||
|
||||
res->fs_e = m.m_source;
|
||||
res->inode_nr = m.RES_INODE_NR;
|
||||
res->fmode = m.RES_MODE;
|
||||
res->fsize = m.RES_FILE_SIZE;
|
||||
res->dev = m.RES_DEV;
|
||||
res->uid= m.RES_UID;
|
||||
res->gid= m.RES_GID;
|
||||
|
||||
return r;
|
||||
}
|
||||
|
||||
|
||||
/*===========================================================================*
|
||||
* req_newdriver *
|
||||
*===========================================================================*/
|
||||
PUBLIC int req_newdriver(fs_e, dev, driver_e)
|
||||
endpoint_t fs_e;
|
||||
Dev_t dev;
|
||||
endpoint_t driver_e;
|
||||
{
|
||||
/* Note: this is the only request function that doesn't use the
|
||||
* fs_sendrec internal routine, since we want to avoid the dead
|
||||
* driver recovery mechanism here. This function is actually called
|
||||
* during the recovery.
|
||||
*/
|
||||
message m;
|
||||
int r;
|
||||
|
||||
/* Fill in request message */
|
||||
m.m_type = REQ_NEW_DRIVER;
|
||||
m.REQ_DEV = dev;
|
||||
m.REQ_DRIVER_E = driver_e;
|
||||
|
||||
/* Issue request */
|
||||
if ((r = sendrec(fs_e, &m)) != OK) {
|
||||
printf("VFSreq_newdriver: error sending message to %d: %d\n", fs_e, r);
|
||||
return r;
|
||||
}
|
||||
|
||||
return OK;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*===========================================================================*
|
||||
* req_putnode *
|
||||
*===========================================================================*/
|
||||
@ -676,19 +683,6 @@ struct node_details *res_nodep;
|
||||
return OK;
|
||||
}
|
||||
|
||||
/* Structure for REQ_READ and REQ_WRITE request */
|
||||
typedef struct readwrite_req {
|
||||
int rw_flag;
|
||||
endpoint_t fs_e;
|
||||
endpoint_t user_e;
|
||||
ino_t inode_nr;
|
||||
unsigned short inode_index;
|
||||
int seg;
|
||||
u64_t pos;
|
||||
unsigned int num_of_bytes;
|
||||
char *user_addr;
|
||||
} readwrite_req_t;
|
||||
|
||||
|
||||
/*===========================================================================*
|
||||
* req_readwrite *
|
||||
@ -936,16 +930,6 @@ endpoint_t fs_e;
|
||||
return fs_sendrec(fs_e, &m);
|
||||
}
|
||||
|
||||
/* Structure for REQ_UNLINK request */
|
||||
typedef struct unlink_req {
|
||||
int fs_e;
|
||||
ino_t d_inode_nr;
|
||||
uid_t uid;
|
||||
gid_t gid;
|
||||
char *lastc;
|
||||
} unlink_req_t;
|
||||
|
||||
|
||||
|
||||
/*===========================================================================*
|
||||
* req_unlink *
|
||||
@ -1018,38 +1002,6 @@ time_t modtime;
|
||||
}
|
||||
|
||||
|
||||
/*===========================================================================*
|
||||
* req_newdriver *
|
||||
*===========================================================================*/
|
||||
PUBLIC int req_newdriver(fs_e, dev, driver_e)
|
||||
endpoint_t fs_e;
|
||||
Dev_t dev;
|
||||
endpoint_t driver_e;
|
||||
{
|
||||
/* Note: this is the only request function that doesn't use the
|
||||
* fs_sendrec internal routine, since we want to avoid the dead
|
||||
* driver recovery mechanism here. This function is actually called
|
||||
* during the recovery.
|
||||
*/
|
||||
message m;
|
||||
int r;
|
||||
|
||||
/* Fill in request message */
|
||||
m.m_type = REQ_NEW_DRIVER;
|
||||
m.REQ_DEV = dev;
|
||||
m.REQ_DRIVER_E = driver_e;
|
||||
|
||||
/* Issue request */
|
||||
if ((r = sendrec(fs_e, &m)) != OK) {
|
||||
printf("VFSreq_newdriver: error sending message to %d: %d\n", fs_e, r);
|
||||
return r;
|
||||
}
|
||||
|
||||
return OK;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*===========================================================================*
|
||||
|
@ -6,7 +6,6 @@
|
||||
|
||||
#include <sys/types.h>
|
||||
|
||||
|
||||
/* Structure for response that contains inode details */
|
||||
typedef struct node_details {
|
||||
endpoint_t fs_e;
|
||||
@ -23,64 +22,6 @@ typedef struct node_details {
|
||||
dev_t dev;
|
||||
} node_details_t;
|
||||
|
||||
|
||||
/* Structure for REQ_OPEN request */
|
||||
typedef struct open_req {
|
||||
endpoint_t fs_e;
|
||||
ino_t inode_nr;
|
||||
char *lastc;
|
||||
int oflags;
|
||||
mode_t omode;
|
||||
uid_t uid;
|
||||
gid_t gid;
|
||||
} open_req_t;
|
||||
|
||||
|
||||
/* Structure for REQ_CLONE_OPCL request */
|
||||
typedef struct clone_opcl_req {
|
||||
int fs_e;
|
||||
dev_t dev;
|
||||
} clone_opcl_req_t;
|
||||
|
||||
|
||||
/* Structure for REQ_READSUPER request */
|
||||
typedef struct readsuper_req {
|
||||
endpoint_t fs_e;
|
||||
time_t boottime;
|
||||
endpoint_t driver_e;
|
||||
dev_t dev;
|
||||
char *slink_storage;
|
||||
char isroot;
|
||||
char readonly;
|
||||
} readsuper_req_t;
|
||||
|
||||
/* Structure for response of READSUPER request */
|
||||
typedef struct readsuper_res {
|
||||
endpoint_t fs_e;
|
||||
ino_t inode_nr;
|
||||
mode_t fmode;
|
||||
off_t fsize;
|
||||
int blocksize;
|
||||
off_t maxsize;
|
||||
} readsuper_res_t;
|
||||
|
||||
|
||||
/* Structure for REQ_LOOKUP request */
|
||||
typedef struct lookup_req {
|
||||
/* Fields filled in by the caller */
|
||||
char *path;
|
||||
char *lastc;
|
||||
int flags;
|
||||
/* Fields filled in by the path name traversal method */
|
||||
endpoint_t fs_e;
|
||||
ino_t start_dir;
|
||||
ino_t root_dir; /* process' root directory */
|
||||
uid_t uid;
|
||||
gid_t gid;
|
||||
unsigned char symloop;
|
||||
} lookup_req_t;
|
||||
|
||||
|
||||
/* Structure for a lookup response */
|
||||
typedef struct lookup_res {
|
||||
endpoint_t fs_e;
|
||||
|
@ -242,17 +242,11 @@ PUBLIC int do_fstatfs()
|
||||
PUBLIC int do_lstat()
|
||||
{
|
||||
/* Perform the lstat(name, buf) system call. */
|
||||
struct lookup_req lookup_req;
|
||||
struct vnode *vp;
|
||||
int r;
|
||||
|
||||
if (fetch_name(m_in.name1, m_in.name1_length, M1) != OK) return(err_code);
|
||||
|
||||
/* Fill in lookup request fields */
|
||||
lookup_req.path = user_fullpath;
|
||||
lookup_req.lastc = NULL;
|
||||
lookup_req.flags = EAT_PATH_OPAQUE;
|
||||
|
||||
/* Request lookup */
|
||||
if ((r = lookup_vp(PATH_RET_SYMLINK, 0 /*!use_realuid*/, &vp)) != OK)
|
||||
return r;
|
||||
|
Loading…
x
Reference in New Issue
Block a user