26#define _VENUS_PROC_H_ 1
129 struct timeval u_tv1;
130 struct timeval u_tv2;
143 memset((
void *)
this, 0, (
int)
sizeof(
struct uarea));
168 static char rtry_sync;
170 void do_ioctl(
VenusFid *fid,
unsigned char nr,
188 virtual void main(
void);
309#define NAME_NO_DOTS 1
310#define NAME_NO_CONFLICT 2
311#define NAME_NO_EXPANSION 4
354 ((ft) == (int)File ? C_VREG : \
355 (ft) == (int)Directory ? C_VDIR : \
356 (ft) == (int)SymbolicLink ? C_VLNK : \
371#define MAKE_CNODE(vp, fid, type) \
373 KernelToVenusFid(&(vp).c_fid, &fid); \
374 (vp).c_type = type; \
378#define MAKE_CNODE2(vp, fid, type) \
381 (vp).c_type = type; \
386#define C_FLAGS_INCON 0x2
392#define VA_IGNORE_FSID ((long)-1)
393#define VA_IGNORE_ID ((unsigned long)-1)
394#define VA_IGNORE_NLINK ((short)-1)
395#define VA_IGNORE_BLOCKSIZE ((long)-1)
396#define VA_IGNORE_RDEV ((cdev_t) - 1)
397#define VA_IGNORE_STORAGE ((uint64_t)-1)
398#define VA_IGNORE_MODE ((u_short) - 1)
399#define VA_IGNORE_UID ((uid_t) - 1)
400#define VA_IGNORE_GID ((gid_t) - 1)
401#define VA_IGNORE_SIZE ((uint64_t)-1)
402#define VA_IGNORE_TIME1 ((time_t)-1)
403#define VA_IGNORE_FLAGS ((u_long) - 1)
Definition: fso_cachefile.h:344
Definition: venusvol.h:620
vproc_iterator(vproctype=(vproctype) -1)
Definition: vproc.cc:847
vproc * operator()()
Definition: vproc.cc:853
void read_finish(struct venus_cnode *node, uint64_t pos, int64_t count) EXCLUDES_TRANSACTION
Definition: vproc_vfscalls.cc:1686
friend void VprocInit()
Definition: vproc.cc:79
friend void Rtry_Signal()
Definition: vproc.cc:102
void getattr(struct venus_cnode *, struct coda_vattr *) EXCLUDES_TRANSACTION
Definition: vproc_vfscalls.cc:307
char * name
Definition: vproc.h:177
unsigned idle
Definition: vproc.h:197
friend int VprocInterrupted()
Definition: vproc.cc:345
void vget(struct venus_cnode *, VenusFid *, int what=RC_STATUS) EXCLUDES_TRANSACTION
Definition: vproc_vfscalls.cc:113
void setattr(struct venus_cnode *, struct coda_vattr *) EXCLUDES_TRANSACTION
Definition: vproc_vfscalls.cc:380
rvm_perthread_t rvm_data
Definition: vproc.h:180
virtual void main(void)
Definition: vproc.cc:442
virtual ~vproc()
Definition: vproc.cc:463
void GetStamp(char *)
Definition: vproc.cc:481
PROCESS lwpid
Definition: vproc.h:176
void statfs(struct coda_statfs *)
Definition: vproc_vfscalls.cc:96
void write_finish(struct venus_cnode *node, uint64_t pos, int64_t count) EXCLUDES_TRANSACTION
Definition: vproc_vfscalls.cc:1710
unsigned interrupted
Definition: vproc.h:198
void Begin_VFS(Volid *, int, int=-1) EXCLUDES_TRANSACTION
Definition: vproc.cc:593
friend void VprocPreamble(void *)
Definition: vproc.cc:122
const char * expansion(const char *path)
Definition: vproc_pathname.cc:389
void fsync(struct venus_cnode *) EXCLUDES_TRANSACTION
Definition: vproc_vfscalls.cc:1585
int seq
Definition: vproc.h:195
void start_thread(void) EXCLUDES_TRANSACTION
Definition: vproc.cc:408
int vpid
Definition: vproc.h:179
void verifyname(char *name, int flags)
Definition: vproc_pathname.cc:405
friend void Rtry_Wait()
Definition: vproc.cc:93
void lookup(struct venus_cnode *, const char *, struct venus_cnode *, int) EXCLUDES_TRANSACTION
Definition: vproc_vfscalls.cc:597
struct Lock init_lock
Definition: vproc.h:181
void End_VFS(int *=0) EXCLUDES_TRANSACTION
Definition: vproc.cc:669
void GetPath(VenusFid *, char *, int *, int=1) EXCLUDES_TRANSACTION
Definition: vproc_pathname.cc:288
void link(struct venus_cnode *, struct venus_cnode *, char *) EXCLUDES_TRANSACTION
Definition: vproc_vfscalls.cc:874
void print()
Definition: vproc.cc:823
void write(struct venus_cnode *node, uint64_t pos, int64_t count) EXCLUDES_TRANSACTION
Definition: vproc_vfscalls.cc:1653
friend vproc * FindVproc(int)
Definition: vproc.cc:107
friend void PrintVprocs(int)
Definition: vproc.cc:362
void readlink(struct venus_cnode *, struct coda_string *) EXCLUDES_TRANSACTION
Definition: vproc_vfscalls.cc:1513
friend int VprocIdle()
Definition: vproc.cc:340
vproctype type
Definition: vproc.h:192
PROCBODY func
Definition: vproc.h:178
struct uarea u
Definition: vproc.h:196
void symlink(struct venus_cnode *, char *, struct coda_vattr *, char *) EXCLUDES_TRANSACTION
Definition: vproc_vfscalls.cc:1442
vproc(const char *, PROCBODY, vproctype, int=VPROC_DEFAULT_STACK_SIZE, int=LWP_NORMAL_PRIORITY)
Definition: vproc.cc:375
int lwpri
Definition: vproc.h:194
struct vcbevent * ve
Definition: vproc.h:199
void rename(struct venus_cnode *, char *, struct venus_cnode *, char *) EXCLUDES_TRANSACTION
Definition: vproc_vfscalls.cc:1002
void create(struct venus_cnode *, char *, struct coda_vattr *, int, int, struct venus_cnode *) EXCLUDES_TRANSACTION
Definition: vproc_vfscalls.cc:683
void select(struct venus_cnode *, int)
int stacksize
Definition: vproc.h:193
void root(struct venus_cnode *)
Definition: vproc_vfscalls.cc:88
void mkdir(struct venus_cnode *, char *, struct coda_vattr *, struct venus_cnode *) EXCLUDES_TRANSACTION
Definition: vproc_vfscalls.cc:1277
friend void PrintWorkers(int)
Definition: worker.cc:1013
friend void PrintMariners(int)
Definition: mariner.cc:305
void remove(struct venus_cnode *, char *) EXCLUDES_TRANSACTION
Definition: vproc_vfscalls.cc:810
void read(struct venus_cnode *node, uint64_t pos, int64_t count) EXCLUDES_TRANSACTION
Definition: vproc_vfscalls.cc:1628
void open(struct venus_cnode *, int) EXCLUDES_TRANSACTION
Definition: vproc_vfscalls.cc:171
void access(struct venus_cnode *, int) EXCLUDES_TRANSACTION
Definition: vproc_vfscalls.cc:532
int namev(char *, int, struct venus_cnode *) EXCLUDES_TRANSACTION
Definition: vproc_pathname.cc:80
int operator=(vproc &)
Definition: vproc.cc:457
friend vproc * VprocSelf()
Definition: vproc.cc:161
void ioctl(struct venus_cnode *, unsigned char nr, struct ViceIoctl *, int) EXCLUDES_TRANSACTION
Definition: vproc_vfscalls.cc:293
void close(struct venus_cnode *, int) EXCLUDES_TRANSACTION
Definition: vproc_vfscalls.cc:247
void mmap(struct venus_cnode *node, uint64_t pos, int64_t count) EXCLUDES_TRANSACTION
Definition: vproc_vfscalls.cc:1743
void rmdir(struct venus_cnode *, char *) EXCLUDES_TRANSACTION
Definition: vproc_vfscalls.cc:1350
#define EXCLUDES_TRANSACTION
Definition: coda_tsa.h:108
#define LWP_NORMAL_PRIORITY
Definition: lwp.h:86
void path(char *pathname, char *direc, char *file)
Definition: path.c:53
void(* type)()
Definition: rp2main.c:424
@ init
Definition: rvm_private.h:470
memset(PeerInfo, 0, sizeof(RPC2_PeerInfo))
Definition: venusfid.h:24
Definition: venusfid.h:31
char * cs_buf
Definition: vproc.h:73
int cs_len
Definition: vproc.h:71
int cs_maxlen
Definition: vproc.h:72
Definition: lwp.private_pt.h:33
int u_pid
Definition: vproc.h:137
namectxt * u_nc
Definition: vproc.h:124
uid_t u_uid
Definition: vproc.h:120
int u_wdblkcnt
Definition: vproc.h:135
int u_rescnt
Definition: vproc.h:133
void Init()
Definition: vproc.h:141
int u_vfsop
Definition: vproc.h:127
VenusFid u_cdir
Definition: vproc.h:122
int u_volmode
Definition: vproc.h:126
int u_retrycnt
Definition: vproc.h:134
int u_pgid
Definition: vproc.h:138
char * u_resblk
Definition: vproc.h:132
volent * u_vol
Definition: vproc.h:125
int u_priority
Definition: vproc.h:121
int u_flags
Definition: vproc.h:123
int u_error
Definition: vproc.h:119
CacheFile * c_cf
Definition: vproc.h:367
int c_type
Definition: vproc.h:368
VenusFid c_fid
Definition: vproc.h:366
u_short c_flags
Definition: vproc.h:365
#define RC_STATUS
Definition: venus.private.h:67
Volid * MakeVolid(VenusFid *fid)
Definition: venusfid.h:51
void VprocInit()
Definition: vproc.cc:79
long FidToNodeid(VenusFid *)
Definition: vproc.cc:898
void Rtry_Signal()
Definition: vproc.cc:102
int VprocInterrupted()
Definition: vproc.cc:345
void VprocYield() EXCLUDES_TRANSACTION
Definition: vproc.cc:244
void VprocMwait(int, const void **) EXCLUDES_TRANSACTION
Definition: vproc.cc:191
void VprocSignal(const void *, int=0)
Definition: vproc.cc:208
vproc * FindVproc(int)
Definition: vproc.cc:107
void VPROC_printvattr(struct coda_vattr *vap)
Definition: vproc.cc:882
int VprocSelect(int, fd_set *, fd_set *, fd_set *, struct timeval *) EXCLUDES_TRANSACTION
Definition: vproc.cc:265
int VprocIdle()
Definition: vproc.cc:340
void VprocWait(const void *) EXCLUDES_TRANSACTION
Definition: vproc.cc:175
void VprocSleep(struct timeval *) EXCLUDES_TRANSACTION
Definition: vproc.cc:230
vproctype
Definition: vproc.h:95
@ VPT_Reintegrator
Definition: vproc.h:101
@ VPT_Main
Definition: vproc.h:96
@ VPT_UserDaemon
Definition: vproc.h:107
@ VPT_Daemon
Definition: vproc.h:112
@ VPT_ProbeDaemon
Definition: vproc.h:104
@ VPT_AdviceDaemon
Definition: vproc.h:110
@ VPT_VolDaemon
Definition: vproc.h:106
@ VPT_VmonDaemon
Definition: vproc.h:109
@ VPT_RecovDaemon
Definition: vproc.h:108
@ VPT_VSGDaemon
Definition: vproc.h:105
@ VPT_CallBack
Definition: vproc.h:99
@ VPT_LRDaemon
Definition: vproc.h:111
@ VPT_Resolver
Definition: vproc.h:102
@ VPT_HDBDaemon
Definition: vproc.h:100
@ VPT_Mariner
Definition: vproc.h:98
@ VPT_FSODaemon
Definition: vproc.h:103
@ VPT_Worker
Definition: vproc.h:97
void(* PROCBODY)(void)
Definition: vproc.h:149
const int VPROC_DEFAULT_STACK_SIZE
Definition: vproc.h:88
const int RETRY_LIMIT
Definition: vproc.h:89
void va_init(struct coda_vattr *)
Definition: vproc.cc:865
void PrintVprocs()
Definition: vproc.cc:350
vproc * VprocSelf()
Definition: vproc.cc:161
void VprocSetRetry(int=-1, struct timeval *=0)
Definition: vproc.cc:292
void Rtry_Wait() EXCLUDES_TRANSACTION
Definition: vproc.cc:93