Coda Distributed File System
Functions | Variables
resolve.cc File Reference
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/param.h>
#include "coda_string.h"
#include <unistd.h>
#include <stdlib.h>
#include <errno.h>
#include <netdb.h>
#include <inodeops.h>
#include <inconsist.h>
#include <venusioctl.h>
#include <vice.h>
#include <parser.h>
#include "coda_assert.h"
#include "resolve.h"
#include "repio.h"
#include "predicate.h"
#include "cure.h"
Include dependency graph for resolve.cc:

Functions

int resdirCompareByFidName (resdir_entry **, resdir_entry **)
 
int resdirCompareByName (resdir_entry **, resdir_entry **)
 
int res_getfid (char *path, ViceFid *Fid, ViceVersionVector *VV)
 
int res_getmtptfid (char *path, ViceFid *Fid, ViceVersionVector *VV)
 
char * SkipLine (char *buf)
 
struct AclParseAcl (char *buf)
 
void FreeAcl (struct Acl *ta)
 
struct Aclres_getacl (char *path)
 
int getunixdirreps (int nreplicas, char *names[], resreplica **reps)
 
void MarkEntriesByFid (VnodeId Vnode, Unique_t Unique)
 
void MarkEntriesByGroup (resdir_entry **mark_arr, int nentries)
 
int GetConflictType (int nreplicas, resreplica *dirs, resdir_entry **deGroup, int nentries, int *conflictType, char *realm)
 
void InitListHdr (int nreplicas, resreplica *dirs, struct listhdr **opList)
 
int InsertListHdr (int nreplicas, struct repair *rep, struct listhdr **ops, int index)
 
int InRepairList (struct listhdr *opList, unsigned opcode, VnodeId vnode, Unique_t unique)
 
int IsCreatedEarlier (struct listhdr **opList, int index, VnodeId vnode, Unique_t unique)
 
void ResolveConflict (int nreplicas, resreplica *dirs, resdir_entry **deGroup, int nentries, int conflictType, listhdr **opList, VolumeId RepVolume, char *realm)
 
int NameNameResolve (int first, int last, int nreplicas, resreplica *dirs, struct listhdr **opList, struct repinfo *inf)
 
int dirresolve (int nreplicas, resreplica *dirs, int(*cbfn)(char *), struct listhdr **opList, VolumeId RepVolume, struct repinfo *inf, char *realm)
 
void resClean (int nreplicas, resreplica *dirs, struct listhdr *lh)
 
int GetParent (char *realm, ViceFid *cfid, ViceFid *dfid, char *dpath, char *childname)
 

Variables

resdir_entrydirentriesarr
 
int direntriesarrsize
 
int nextavailindex = -1
 
resdir_entry ** sortedArrByFidName
 
resdir_entry ** sortedArrByName
 
int totaldirentries = 0
 
int nConflicts
 

Function Documentation

◆ dirresolve()

int dirresolve ( int  nreplicas,
resreplica dirs,
int(*)(char *)  cbfn,
struct listhdr **  opList,
VolumeId  RepVolume,
struct repinfo inf,
char *  realm 
)

◆ FreeAcl()

void FreeAcl ( struct Acl ta)

◆ GetConflictType()

int GetConflictType ( int  nreplicas,
resreplica dirs,
resdir_entry **  deGroup,
int  nentries,
int *  conflictType,
char *  realm 
)

◆ GetParent()

int GetParent ( char *  realm,
ViceFid *  cfid,
ViceFid *  dfid,
char *  dpath,
char *  childname 
)

◆ getunixdirreps()

int getunixdirreps ( int  nreplicas,
char *  names[],
resreplica **  reps 
)

◆ InitListHdr()

void InitListHdr ( int  nreplicas,
resreplica dirs,
struct listhdr **  opList 
)

◆ InRepairList()

int InRepairList ( struct listhdr opList,
unsigned  opcode,
VnodeId  vnode,
Unique_t  unique 
)

◆ InsertListHdr()

int InsertListHdr ( int  nreplicas,
struct repair rep,
struct listhdr **  ops,
int  index 
)

◆ IsCreatedEarlier()

int IsCreatedEarlier ( struct listhdr **  opList,
int  index,
VnodeId  vnode,
Unique_t  unique 
)

◆ MarkEntriesByFid()

void MarkEntriesByFid ( VnodeId  Vnode,
Unique_t  Unique 
)

◆ MarkEntriesByGroup()

void MarkEntriesByGroup ( resdir_entry **  mark_arr,
int  nentries 
)

◆ NameNameResolve()

int NameNameResolve ( int  first,
int  last,
int  nreplicas,
resreplica dirs,
struct listhdr **  opList,
struct repinfo inf 
)

◆ ParseAcl()

struct Acl * ParseAcl ( char *  buf)

◆ res_getacl()

struct Acl * res_getacl ( char *  path)

◆ res_getfid()

int res_getfid ( char *  path,
ViceFid *  Fid,
ViceVersionVector *  VV 
)

◆ res_getmtptfid()

int res_getmtptfid ( char *  path,
ViceFid *  Fid,
ViceVersionVector *  VV 
)

◆ resClean()

void resClean ( int  nreplicas,
resreplica dirs,
struct listhdr lh 
)

◆ resdirCompareByFidName()

int resdirCompareByFidName ( resdir_entry **  a,
resdir_entry **  b 
)

◆ resdirCompareByName()

int resdirCompareByName ( resdir_entry **  a,
resdir_entry **  b 
)

◆ ResolveConflict()

void ResolveConflict ( int  nreplicas,
resreplica dirs,
resdir_entry **  deGroup,
int  nentries,
int  conflictType,
listhdr **  opList,
VolumeId  RepVolume,
char *  realm 
)

◆ SkipLine()

char * SkipLine ( char *  buf)

Variable Documentation

◆ direntriesarr

resdir_entry* direntriesarr

◆ direntriesarrsize

int direntriesarrsize

◆ nConflicts

int nConflicts

◆ nextavailindex

int nextavailindex = -1

◆ sortedArrByFidName

resdir_entry** sortedArrByFidName

◆ sortedArrByName

resdir_entry** sortedArrByName

◆ totaldirentries

int totaldirentries = 0