Coda Distributed File System
|
#include <recov_vollog.h>
#include <vice.h>
#include <dllist.h>
#include <partition.h>
#include "voldefs.h"
Go to the source code of this file.
Classes | |
struct | versionStamp |
struct | VolumeHeader |
struct | IndexFileHeader |
struct | VolumeDiskData |
struct | vnodeIndex |
struct | VolLock |
struct | Volume |
struct | volHeader |
Macros | |
#define | VolumeWriteable(vp) (V_type(vp) == readwriteVolume || V_type(vp) == nonReplicatedVolume) |
#define | FSTAG 84597 /* Unique tag for fileserver lwp rocks */ |
#define | RVMRES 4 |
#define | VOLUMEHEADERMAGIC 0x88a1bb3c |
#define | VOLUMEINFOMAGIC 0x78a1b2c5 |
#define | MOUNTMAGIC 0x9a8b7c6d |
#define | ACLMAGIC 0x88877712 |
#define | VOLUMEHEADERVERSION 1 |
#define | VOLUMEINFOVERSION 1 |
#define | SMALLINDEXVERSION 1 |
#define | LARGEINDEXVERSION 1 |
#define | MOUNTVERSION 1 |
#define | ACLVERSION 1 |
#define | MAXVOLS_PER_PARTITION 1000 /* Max number of volumes per partition */ |
#define | DESTROY_ME 0xD3 |
#define | DONT_SALVAGE 0xE5 |
#define | VMSGSIZE 128 |
#define | VNREINTEGRATORS 8 /* List size increment */ |
#define | V_partition(vp) ((vp)->partition) |
#define | V_device(vp) (V_partition(vp)->device) |
#define | V_inode(vp) ((vp)->inode) |
#define | V_vnodeIndex(vp) ((vp)->vnIndex) |
#define | V_nextVnodeUnique(vp) ((vp)->nextVnodeUnique) |
#define | V_volumeindex(vp) ((vp)->vol_index) |
#define | V_lock(vp) ((vp)->lock) |
#define | V_writer(vp) ((vp)->writer) |
#define | V_VolLock(vp) (((vp)->VolLock)) |
#define | V_stamp(vp) ((vp)->header->diskstuff.stamp) |
#define | V_partname(vp) ((vp)->header->diskstuff.partition) |
#define | V_id(vp) ((vp)->header->diskstuff.id) |
#define | V_name(vp) ((vp)->header->diskstuff.name) |
#define | V_inUse(vp) ((vp)->header->diskstuff.inUse) |
#define | V_inService(vp) ((vp)->header->diskstuff.inService) |
#define | V_blessed(vp) ((vp)->header->diskstuff.blessed) |
#define | V_needsSalvaged(vp) ((vp)->header->diskstuff.needsSalvaged) |
#define | V_uniquifier(vp) ((vp)->header->diskstuff.uniquifier) |
#define | V_type(vp) ((vp)->header->diskstuff.type) |
#define | V_parentId(vp) ((vp)->header->diskstuff.parentId) |
#define | V_groupId(vp) ((vp)->header->diskstuff.groupId) |
#define | V_cloneId(vp) ((vp)->header->diskstuff.cloneId) |
#define | V_backupId(vp) ((vp)->header->diskstuff.backupId) |
#define | V_restoredFromId(vp) ((vp)->header->diskstuff.restoredFromId) |
#define | V_needsCallback(vp) ((vp)->header->diskstuff.needsCallback) |
#define | V_destroyMe(vp) ((vp)->header->diskstuff.destroyMe) |
#define | V_versionvector(vp) ((vp)->header->diskstuff.versionvector) |
#define | V_dontSalvage(vp) ((vp)->header->diskstuff.dontSalvage) |
#define | V_maxquota(vp) ((vp)->header->diskstuff.maxquota) |
#define | V_minquota(vp) ((vp)->header->diskstuff.minquota) |
#define | V_maxfiles(vp) ((vp)->header->diskstuff.maxfiles) |
#define | V_accountNumber(vp) ((vp)->header->diskstuff.accountNumber) |
#define | V_owner(vp) ((vp)->header->diskstuff.owner) |
#define | V_filecount(vp) ((vp)->header->diskstuff.filecount) |
#define | V_linkcount(vp) ((vp)->header->diskstuff.linkcount) |
#define | V_diskused(vp) ((vp)->header->diskstuff.diskused) |
#define | V_dayUse(vp) ((vp)->header->diskstuff.dayUse) |
#define | V_weekUse(vp) ((vp)->header->diskstuff.weekUse) |
#define | V_dayUseDate(vp) ((vp)->header->diskstuff.dayUseDate) |
#define | V_creationDate(vp) ((vp)->header->diskstuff.creationDate) |
#define | V_accessDate(vp) ((vp)->header->diskstuff.accessDate) |
#define | V_updateDate(vp) ((vp)->header->diskstuff.updateDate) |
#define | V_expirationDate(vp) ((vp)->header->diskstuff.expirationDate) |
#define | V_backupDate(vp) ((vp)->header->diskstuff.backupDate) |
#define | V_copyDate(vp) ((vp)->header->diskstuff.copyDate) |
#define | V_offlineMessage(vp) ((vp)->header->diskstuff.offlineMessage) |
#define | V_motd(vp) ((vp)->header->diskstuff.motd) |
#define | V_disk(vp) ((vp)->header->diskstuff) |
#define | V_RVMResOn(vp) ((vp)->header->diskstuff.ResOn & RVMRES) |
#define | V_VolLog(vp) ((vp)->header->diskstuff.log) |
#define | nBlocks(bytes) ((bytes) == 0 ? 1 : ((bytes) + 1023) / 1024) |
#define | V_READONLY 1 |
#define | V_CLONE 2 |
#define | V_UPDATE 3 |
#define | V_DUMP 4 |
#define | V_SECRETLY 5 |
Typedefs | |
typedef bit32 | FileOffset |
typedef struct VolumeDiskData | VolumeDiskData |
typedef struct Volume | Volume |
Enumerations | |
enum | ProgramType { fileServer , volumeUtility , salvager , fsUtility } |
Variables | |
char * | ThisHost |
uint8_t | ThisServerId |
bit32 | HostAddress [] |
int | VInit |
int | HInit |
const char * | VSalvageMessage |
int | VolDebugLevel |
int | AllowResolution |
#define ACLMAGIC 0x88877712 |
#define ACLVERSION 1 |
#define DESTROY_ME 0xD3 |
#define DONT_SALVAGE 0xE5 |
#define LARGEINDEXVERSION 1 |
#define MAXVOLS_PER_PARTITION 1000 /* Max number of volumes per partition */ |
#define MOUNTMAGIC 0x9a8b7c6d |
#define MOUNTVERSION 1 |
#define RVMRES 4 |
#define SMALLINDEXVERSION 1 |
#define V_accessDate | ( | vp | ) | ((vp)->header->diskstuff.accessDate) |
#define V_accountNumber | ( | vp | ) | ((vp)->header->diskstuff.accountNumber) |
#define V_backupDate | ( | vp | ) | ((vp)->header->diskstuff.backupDate) |
#define V_backupId | ( | vp | ) | ((vp)->header->diskstuff.backupId) |
#define V_blessed | ( | vp | ) | ((vp)->header->diskstuff.blessed) |
#define V_CLONE 2 |
#define V_cloneId | ( | vp | ) | ((vp)->header->diskstuff.cloneId) |
#define V_copyDate | ( | vp | ) | ((vp)->header->diskstuff.copyDate) |
#define V_creationDate | ( | vp | ) | ((vp)->header->diskstuff.creationDate) |
#define V_dayUse | ( | vp | ) | ((vp)->header->diskstuff.dayUse) |
#define V_dayUseDate | ( | vp | ) | ((vp)->header->diskstuff.dayUseDate) |
#define V_destroyMe | ( | vp | ) | ((vp)->header->diskstuff.destroyMe) |
#define V_device | ( | vp | ) | (V_partition(vp)->device) |
#define V_disk | ( | vp | ) | ((vp)->header->diskstuff) |
#define V_diskused | ( | vp | ) | ((vp)->header->diskstuff.diskused) |
#define V_dontSalvage | ( | vp | ) | ((vp)->header->diskstuff.dontSalvage) |
#define V_DUMP 4 |
#define V_expirationDate | ( | vp | ) | ((vp)->header->diskstuff.expirationDate) |
#define V_filecount | ( | vp | ) | ((vp)->header->diskstuff.filecount) |
#define V_groupId | ( | vp | ) | ((vp)->header->diskstuff.groupId) |
#define V_id | ( | vp | ) | ((vp)->header->diskstuff.id) |
#define V_inode | ( | vp | ) | ((vp)->inode) |
#define V_inService | ( | vp | ) | ((vp)->header->diskstuff.inService) |
#define V_inUse | ( | vp | ) | ((vp)->header->diskstuff.inUse) |
#define V_linkcount | ( | vp | ) | ((vp)->header->diskstuff.linkcount) |
#define V_lock | ( | vp | ) | ((vp)->lock) |
#define V_maxfiles | ( | vp | ) | ((vp)->header->diskstuff.maxfiles) |
#define V_maxquota | ( | vp | ) | ((vp)->header->diskstuff.maxquota) |
#define V_minquota | ( | vp | ) | ((vp)->header->diskstuff.minquota) |
#define V_motd | ( | vp | ) | ((vp)->header->diskstuff.motd) |
#define V_name | ( | vp | ) | ((vp)->header->diskstuff.name) |
#define V_needsCallback | ( | vp | ) | ((vp)->header->diskstuff.needsCallback) |
#define V_needsSalvaged | ( | vp | ) | ((vp)->header->diskstuff.needsSalvaged) |
#define V_nextVnodeUnique | ( | vp | ) | ((vp)->nextVnodeUnique) |
#define V_offlineMessage | ( | vp | ) | ((vp)->header->diskstuff.offlineMessage) |
#define V_owner | ( | vp | ) | ((vp)->header->diskstuff.owner) |
#define V_parentId | ( | vp | ) | ((vp)->header->diskstuff.parentId) |
#define V_partition | ( | vp | ) | ((vp)->partition) |
#define V_partname | ( | vp | ) | ((vp)->header->diskstuff.partition) |
#define V_READONLY 1 |
#define V_restoredFromId | ( | vp | ) | ((vp)->header->diskstuff.restoredFromId) |
#define V_SECRETLY 5 |
#define V_stamp | ( | vp | ) | ((vp)->header->diskstuff.stamp) |
#define V_type | ( | vp | ) | ((vp)->header->diskstuff.type) |
#define V_uniquifier | ( | vp | ) | ((vp)->header->diskstuff.uniquifier) |
#define V_UPDATE 3 |
#define V_updateDate | ( | vp | ) | ((vp)->header->diskstuff.updateDate) |
#define V_versionvector | ( | vp | ) | ((vp)->header->diskstuff.versionvector) |
#define V_vnodeIndex | ( | vp | ) | ((vp)->vnIndex) |
#define V_VolLog | ( | vp | ) | ((vp)->header->diskstuff.log) |
#define V_volumeindex | ( | vp | ) | ((vp)->vol_index) |
#define V_weekUse | ( | vp | ) | ((vp)->header->diskstuff.weekUse) |
#define V_writer | ( | vp | ) | ((vp)->writer) |
#define VMSGSIZE 128 |
#define VNREINTEGRATORS 8 /* List size increment */ |
#define VOLUMEHEADERMAGIC 0x88a1bb3c |
#define VOLUMEHEADERVERSION 1 |
#define VOLUMEINFOMAGIC 0x78a1b2c5 |
#define VOLUMEINFOVERSION 1 |
#define VolumeWriteable | ( | vp | ) | (V_type(vp) == readwriteVolume || V_type(vp) == nonReplicatedVolume) |
typedef bit32 FileOffset |
typedef struct VolumeDiskData VolumeDiskData |
enum ProgramType |
void DeleteVolumeFromHashTable | ( | Volume * | vp | ) |
void FreeVolume | ( | Volume * | vp | ) |
int GetVolObj | ( | VolumeId | Vid, |
Volume ** | volptr, | ||
int | LockLevel, | ||
int | Enque, | ||
unsigned | LockerAddress | ||
) |
void InitLRU | ( | int | howmany | ) |
void PrintVolumeDiskData | ( | FILE * | outfile, |
VolumeDiskData * | vdd | ||
) |
void PrintVolumesInHashTable | ( | ) |
void PutVolObj | ( | Volume ** | volptr, |
int | LockLevel, | ||
int | Dequeue | ||
) |
void SetVolDebugLevel | ( | int | level | ) |
int VAllocBitmapEntry | ( | Error * | ec, |
Volume * | vp, | ||
struct vnodeIndex * | index, | ||
int | stride, | ||
int | ix, | ||
int | count | ||
) |
int VAllocBitmapEntry | ( | Error * | ec, |
Volume * | vp, | ||
struct vnodeIndex * | index, | ||
VnodeId | vnode | ||
) |
int VConnectFS | ( | ) |
void VDisconnectFS | ( | ) |
void VForceOffline | ( | Volume * | vp | ) |
void VFreeBitMapEntry | ( | Error * | ec, |
struct vnodeIndex * | index, | ||
int | bitNumber | ||
) |
void VGetVolumeInfo | ( | Error * | ec, |
char * | key, | ||
VolumeInfo * | info | ||
) |
const char * VGetVolumeLocation | ( | VolumeId | vid | ) |
void VInitServerList | ( | const char * | host | ) |
void VInitVolumePackage | ( | int | nLargeVnodes, |
int | nSmallVnodes, | ||
int | DoSalvage | ||
) |
int VInitVolUtil | ( | ProgramType | pt | ) |
void VListVolumes | ( | char ** | buf, |
unsigned int * | buflen | ||
) |
void VOffline | ( | Volume * | vp, |
const char * | message | ||
) |
char * VolumeExternalName | ( | VolumeId | volumeId | ) |
int VolumeNumber | ( | char * | name | ) |
void VPurgeVolume | ( | Volume * | vp | ) |
void VPutVolume | ( | Volume * | vp | ) |
void VSetDiskUsage | ( | ) |
void VShutdown | ( | ) |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |