Coda Distributed File System
Macros | Functions | Variables
potemkin.c File Reference
#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"
Include dependency graph for potemkin.c:

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_tfid_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_tFidTab
 
unsigned long Uniq = 2
 
unsigned long Volno = 1
 
int KernFD = -1
 
struct CodaFidRootFid = NULL
 
fid_ent_tRootFep = NULL
 

Macro Definition Documentation

◆ _SCALAR_T_

#define _SCALAR_T_

◆ INADDR_LOOPBACK

#define INADDR_LOOPBACK   0x7f000001

◆ O_BINARY

#define O_BINARY   0

◆ O_DIRECTORY

#define O_DIRECTORY   0200000

◆ VC_IN_NO_DATA

#define VC_IN_NO_DATA   sizeof(struct coda_in_hdr)

◆ VC_INSIZE

#define VC_INSIZE (   name)    sizeof(struct name)

◆ VC_OUT_NO_DATA

#define VC_OUT_NO_DATA   sizeof(struct coda_out_hdr)

◆ VC_OUTSIZE

#define VC_OUTSIZE (   name)    sizeof(struct name)

Function Documentation

◆ child_exists()

int child_exists ( char *  path,
char *  name 
)

◆ Dispatch()

int Dispatch ( union inputArgs in,
union outputArgs out,
int *  reply 
)

◆ DoAccess()

void DoAccess ( union inputArgs in,
union outputArgs out,
int *  reply 
)

◆ DoClose()

void DoClose ( union inputArgs in,
union outputArgs out,
int *  reply 
)

◆ DoCreate()

void DoCreate ( union inputArgs in,
union outputArgs out,
int *  reply 
)

◆ DoFsync()

void DoFsync ( union inputArgs in,
union outputArgs out,
int *  reply 
)

◆ DoGetattr()

void DoGetattr ( union inputArgs in,
union outputArgs out,
int *  reply 
)

◆ DoIoctl()

void DoIoctl ( union inputArgs in,
union outputArgs out,
int *  reply 
)

◆ DoLink()

void DoLink ( union inputArgs in,
union outputArgs out,
int *  reply 
)

◆ DoLookup()

void DoLookup ( union inputArgs in,
union outputArgs out,
int *  reply 
)

◆ DoMkdir()

void DoMkdir ( union inputArgs in,
union outputArgs out,
int *  reply 
)

◆ DoOpen()

void DoOpen ( union inputArgs in,
union outputArgs out,
int *  reply 
)

◆ DoOpenByFD()

void DoOpenByFD ( union inputArgs in,
union outputArgs out,
int *  reply 
)

◆ DoOpenByPath()

void DoOpenByPath ( union inputArgs in,
union outputArgs out,
int *  reply 
)

◆ DoRdwr()

void DoRdwr ( union inputArgs in,
union outputArgs out,
int *  reply 
)

◆ DoReaddir()

void DoReaddir ( union inputArgs in,
union outputArgs out,
int *  reply 
)

◆ DoReadlink()

void DoReadlink ( union inputArgs in,
union outputArgs out,
int *  reply 
)

◆ DoRelease()

void DoRelease ( union inputArgs in,
union outputArgs out,
int *  reply 
)

◆ DoRemove()

void DoRemove ( union inputArgs in,
union outputArgs out,
int *  reply 
)

◆ DoRename()

void DoRename ( union inputArgs in,
union outputArgs out,
int *  reply 
)

◆ DoRmdir()

void DoRmdir ( union inputArgs in,
union outputArgs out,
int *  reply 
)

◆ DoRoot()

void DoRoot ( union inputArgs in,
union outputArgs out,
int *  reply 
)

◆ DoSetattr()

void DoSetattr ( union inputArgs in,
union outputArgs out,
int *  reply 
)

◆ DoStatFS()

void DoStatFS ( union inputArgs in,
union outputArgs out,
int *  reply 
)

◆ DoStore()

void DoStore ( union inputArgs in,
union outputArgs out,
int *  reply 
)

◆ DoSymlink()

void DoSymlink ( union inputArgs in,
union outputArgs out,
int *  reply 
)

◆ DoVget()

void DoVget ( union inputArgs in,
union outputArgs out,
int *  reply 
)

◆ dump_fids()

void dump_fids ( int  sig)

◆ fid_assign_type()

int fid_assign_type ( fid_ent_t fep,
struct stat *  sbuf 
)

◆ fid_comp()

long fid_comp ( void *  a1,
void *  a2 
)

◆ fid_create()

fid_ent_t * fid_create ( char *  name,
fid_ent_t parent 
)

◆ fid_fullname()

char * fid_fullname ( fid_ent_t fep)

◆ fid_hash()

long fid_hash ( void *  a)

◆ fid_init()

void fid_init ( )

◆ fid_print()

void fid_print ( FILE *  ostr,
fid_ent_t fep 
)

◆ fill_vattr()

void fill_vattr ( struct stat *  sbuf,
fid_ent_t fep,
struct coda_vattr vbuf 
)

◆ main()

int main ( int  argc,
char *  argv[] 
)

◆ MsgRead()

int MsgRead ( char *  m)

◆ MsgWrite()

int MsgWrite ( char *  buf,
int  size 
)

◆ ParseArgs()

void ParseArgs ( int  argc,
char *  argv[] 
)

◆ Service()

void Service ( )

◆ Setup()

void Setup ( )

◆ usage()

void usage ( void  )

◆ zombify()

void zombify ( )

Variable Documentation

◆ FidTab

ds_hash_t* FidTab

◆ FidTabSize

int FidTabSize = 255

◆ Interval

int Interval = 30

◆ KernDevice

char* KernDevice = "/dev/cfs0"

◆ KernFD

int KernFD = -1

◆ MountPt

char* MountPt = "/coda"

◆ RootDir

char* RootDir = "\temp"

◆ RootFep

fid_ent_t* RootFep = NULL

◆ RootFid

struct CodaFid* RootFid = NULL

◆ Uniq

unsigned long Uniq = 2

◆ verbose

int verbose = 0

◆ Volno

unsigned long Volno = 1