|
Coda Distributed File System
|
#include <stdlib.h>#include <stdio.h>#include "coda_string.h"#include <unistd.h>#include <errno.h>#include <signal.h>#include <sys/types.h>#include <sys/file.h>#include <sys/time.h>#include <sys/stat.h>#include <sys/utsname.h>#include <sys/wait.h>#include <dirent.h>#include <fcntl.h>#include <venusioctl.h>#include <sys/mount.h>#include <sys/fsuid.h>#include <sys/uio.h>#include <ds_list.h>#include <ds_hash.h>#include "vcrcommon.h"#include <coda.h>#include "potemkin.h"
Macros | |
| #define | _SCALAR_T_ |
| #define | INADDR_LOOPBACK 0x7f000001 |
| #define | O_BINARY 0 |
| #define | O_DIRECTORY 0200000 |
| #define | VC_OUTSIZE(name) sizeof(struct name) |
| #define | VC_INSIZE(name) sizeof(struct name) |
| #define | VC_OUT_NO_DATA sizeof(struct coda_out_hdr) |
| #define | VC_IN_NO_DATA sizeof(struct coda_in_hdr) |
Functions | |
| void | zombify () |
| long | fid_hash (void *a) |
| long | fid_comp (void *a1, void *a2) |
| fid_ent_t * | fid_create (char *name, fid_ent_t *parent) |
| char * | fid_fullname (fid_ent_t *fep) |
| int | fid_assign_type (fid_ent_t *fep, struct stat *sbuf) |
| void | fid_print (FILE *ostr, fid_ent_t *fep) |
| void | dump_fids (int sig) |
| void | fid_init () |
| void | usage () |
| void | ParseArgs (int argc, char *argv[]) |
| int | MsgRead (char *m) |
| int | MsgWrite (char *buf, int size) |
| void | Setup () |
| int | child_exists (char *path, char *name) |
| void | fill_vattr (struct stat *sbuf, fid_ent_t *fep, struct coda_vattr *vbuf) |
| void | DoRoot (union inputArgs *in, union outputArgs *out, int *reply) |
| void | DoOpen (union inputArgs *in, union outputArgs *out, int *reply) |
| void | DoOpenByPath (union inputArgs *in, union outputArgs *out, int *reply) |
| void | DoOpenByFD (union inputArgs *in, union outputArgs *out, int *reply) |
| void | DoClose (union inputArgs *in, union outputArgs *out, int *reply) |
| void | DoAccess (union inputArgs *in, union outputArgs *out, int *reply) |
| void | DoLookup (union inputArgs *in, union outputArgs *out, int *reply) |
| void | DoGetattr (union inputArgs *in, union outputArgs *out, int *reply) |
| void | DoReaddir (union inputArgs *in, union outputArgs *out, int *reply) |
| void | DoRdwr (union inputArgs *in, union outputArgs *out, int *reply) |
| void | DoCreate (union inputArgs *in, union outputArgs *out, int *reply) |
| void | DoRemove (union inputArgs *in, union outputArgs *out, int *reply) |
| void | DoSetattr (union inputArgs *in, union outputArgs *out, int *reply) |
| void | DoRename (union inputArgs *in, union outputArgs *out, int *reply) |
| void | DoMkdir (union inputArgs *in, union outputArgs *out, int *reply) |
| void | DoRmdir (union inputArgs *in, union outputArgs *out, int *reply) |
| void | DoReadlink (union inputArgs *in, union outputArgs *out, int *reply) |
| void | DoIoctl (union inputArgs *in, union outputArgs *out, int *reply) |
| void | DoLink (union inputArgs *in, union outputArgs *out, int *reply) |
| void | DoSymlink (union inputArgs *in, union outputArgs *out, int *reply) |
| void | DoFsync (union inputArgs *in, union outputArgs *out, int *reply) |
| void | DoVget (union inputArgs *in, union outputArgs *out, int *reply) |
| void | DoStatFS (union inputArgs *in, union outputArgs *out, int *reply) |
| void | DoStore (union inputArgs *in, union outputArgs *out, int *reply) |
| void | DoRelease (union inputArgs *in, union outputArgs *out, int *reply) |
| int | Dispatch (union inputArgs *in, union outputArgs *out, int *reply) |
| void | Service () |
| int | main (int argc, char *argv[]) |
Variables | |
| char * | KernDevice = "/dev/cfs0" |
| char * | RootDir = "\temp" |
| int | FidTabSize = 255 |
| char * | MountPt = "/coda" |
| int | Interval = 30 |
| int | verbose = 0 |
| ds_hash_t * | FidTab |
| unsigned long | Uniq = 2 |
| unsigned long | Volno = 1 |
| int | KernFD = -1 |
| struct CodaFid * | RootFid = NULL |
| fid_ent_t * | RootFep = NULL |
| #define _SCALAR_T_ |
| #define INADDR_LOOPBACK 0x7f000001 |
| #define O_BINARY 0 |
| #define O_DIRECTORY 0200000 |
| #define VC_IN_NO_DATA sizeof(struct coda_in_hdr) |
| #define VC_OUT_NO_DATA sizeof(struct coda_out_hdr) |
| int child_exists | ( | char * | path, |
| char * | name | ||
| ) |
| int Dispatch | ( | union inputArgs * | in, |
| union outputArgs * | out, | ||
| int * | reply | ||
| ) |
| void DoAccess | ( | union inputArgs * | in, |
| union outputArgs * | out, | ||
| int * | reply | ||
| ) |
| void DoClose | ( | union inputArgs * | in, |
| union outputArgs * | out, | ||
| int * | reply | ||
| ) |
| void DoCreate | ( | union inputArgs * | in, |
| union outputArgs * | out, | ||
| int * | reply | ||
| ) |
| void DoFsync | ( | union inputArgs * | in, |
| union outputArgs * | out, | ||
| int * | reply | ||
| ) |
| void DoGetattr | ( | union inputArgs * | in, |
| union outputArgs * | out, | ||
| int * | reply | ||
| ) |
| void DoIoctl | ( | union inputArgs * | in, |
| union outputArgs * | out, | ||
| int * | reply | ||
| ) |
| void DoLink | ( | union inputArgs * | in, |
| union outputArgs * | out, | ||
| int * | reply | ||
| ) |
| void DoLookup | ( | union inputArgs * | in, |
| union outputArgs * | out, | ||
| int * | reply | ||
| ) |
| void DoMkdir | ( | union inputArgs * | in, |
| union outputArgs * | out, | ||
| int * | reply | ||
| ) |
| void DoOpen | ( | union inputArgs * | in, |
| union outputArgs * | out, | ||
| int * | reply | ||
| ) |
| void DoOpenByFD | ( | union inputArgs * | in, |
| union outputArgs * | out, | ||
| int * | reply | ||
| ) |
| void DoOpenByPath | ( | union inputArgs * | in, |
| union outputArgs * | out, | ||
| int * | reply | ||
| ) |
| void DoRdwr | ( | union inputArgs * | in, |
| union outputArgs * | out, | ||
| int * | reply | ||
| ) |
| void DoReaddir | ( | union inputArgs * | in, |
| union outputArgs * | out, | ||
| int * | reply | ||
| ) |
| void DoReadlink | ( | union inputArgs * | in, |
| union outputArgs * | out, | ||
| int * | reply | ||
| ) |
| void DoRelease | ( | union inputArgs * | in, |
| union outputArgs * | out, | ||
| int * | reply | ||
| ) |
| void DoRemove | ( | union inputArgs * | in, |
| union outputArgs * | out, | ||
| int * | reply | ||
| ) |
| void DoRename | ( | union inputArgs * | in, |
| union outputArgs * | out, | ||
| int * | reply | ||
| ) |
| void DoRmdir | ( | union inputArgs * | in, |
| union outputArgs * | out, | ||
| int * | reply | ||
| ) |
| void DoRoot | ( | union inputArgs * | in, |
| union outputArgs * | out, | ||
| int * | reply | ||
| ) |
| void DoSetattr | ( | union inputArgs * | in, |
| union outputArgs * | out, | ||
| int * | reply | ||
| ) |
| void DoStatFS | ( | union inputArgs * | in, |
| union outputArgs * | out, | ||
| int * | reply | ||
| ) |
| void DoStore | ( | union inputArgs * | in, |
| union outputArgs * | out, | ||
| int * | reply | ||
| ) |
| void DoSymlink | ( | union inputArgs * | in, |
| union outputArgs * | out, | ||
| int * | reply | ||
| ) |
| void DoVget | ( | union inputArgs * | in, |
| union outputArgs * | out, | ||
| int * | reply | ||
| ) |
| void dump_fids | ( | int | sig | ) |
| int fid_assign_type | ( | fid_ent_t * | fep, |
| struct stat * | sbuf | ||
| ) |
| long fid_comp | ( | void * | a1, |
| void * | a2 | ||
| ) |
| char * fid_fullname | ( | fid_ent_t * | fep | ) |
| long fid_hash | ( | void * | a | ) |
| void fid_init | ( | ) |
| void fid_print | ( | FILE * | ostr, |
| fid_ent_t * | fep | ||
| ) |
| void fill_vattr | ( | struct stat * | sbuf, |
| fid_ent_t * | fep, | ||
| struct coda_vattr * | vbuf | ||
| ) |
| int main | ( | int | argc, |
| char * | argv[] | ||
| ) |
| int MsgRead | ( | char * | m | ) |
| int MsgWrite | ( | char * | buf, |
| int | size | ||
| ) |
| void ParseArgs | ( | int | argc, |
| char * | argv[] | ||
| ) |
| void Service | ( | ) |
| void Setup | ( | ) |
| void usage | ( | void | ) |
| void zombify | ( | ) |
| ds_hash_t* FidTab |
| int FidTabSize = 255 |
| int Interval = 30 |
| char* KernDevice = "/dev/cfs0" |
| int KernFD = -1 |
| char* MountPt = "/coda" |
| char* RootDir = "\temp" |
| unsigned long Uniq = 2 |
| int verbose = 0 |
| unsigned long Volno = 1 |