OpenAFS
OpenAFS distributed network file system
/cygdrive/c/src/openafs/openafs.git/repo/src/ubik/phys.c File Reference

These routines are called via the proc ptr in the ubik_dbase structure. More...

#include <afsconfig.h>
#include <afs/param.h>
#include <roken.h>
#include <lwp.h>
#include <lock.h>
#include <afs/afsutil.h>
#include "ubik.h"

Data Structures

struct  fdcache

Defines

#define UBIK_INTERNALS   1
#define MAXFDCACHE   4

Functions

int uphys_stat (struct ubik_dbase *adbase, afs_int32 afid, struct ubik_stat *astat)
int uphys_read (struct ubik_dbase *adbase, afs_int32 afile, void *abuffer, afs_int32 apos, afs_int32 alength)
int uphys_write (struct ubik_dbase *adbase, afs_int32 afile, void *abuffer, afs_int32 apos, afs_int32 alength)
int uphys_truncate (struct ubik_dbase *adbase, afs_int32 afile, afs_int32 asize)
int uphys_getnfiles (struct ubik_dbase *adbase)
 Get number of dbase files.
int uphys_getlabel (struct ubik_dbase *adbase, afs_int32 afile, struct ubik_version *aversion)
 Get database label, with aversion in host order.
int uphys_setlabel (struct ubik_dbase *adbase, afs_int32 afile, struct ubik_version *aversion)
 Label database, with aversion in host order.
int uphys_sync (struct ubik_dbase *adbase, afs_int32 afile)
void uphys_invalidate (struct ubik_dbase *adbase, afs_int32 afid)

Detailed Description

These routines are called via the proc ptr in the ubik_dbase structure.

They provide access to the physical disk, by converting the file numbers being processed ( >= 0 for user data space, < 0 for ubik system files, such as the log) to actual pathnames to open, read, write, truncate, sync, etc.


Function Documentation

int uphys_getnfiles ( struct ubik_dbase adbase)

Get number of dbase files.

Todo:
Really should scan dir for data.
 All Data Structures Files Functions Variables