Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

glue.H File Reference

#include "VestaSource.H"

Go to the source code of this file.

Functions

nfsstat do_getattr (nfs_fh *fh, fattr *attr, AccessControl::Identity cred)
nfsstat do_setattr (sattrargs *argp, fattr *attr, AccessControl::Identity cred)
nfsstat do_lookup (diropargs *dopa, diropokres *dp, AccessControl::Identity cred)
nfsstat do_readlink (nfs_fh *fh, nfspath np, AccessControl::Identity cred)
int fh_fd (nfs_fh *fh, nfsstat *status, int omode, VestaSource **vsout, int *oflout, AccessControl::Identity cred)
nfsstat xlate_errno (int errno_val)
nfsstat any_fattr (fattr *attr, VestaSource *vs, int fd)
void fd_inactive (void *vsin, int fd, int ofl)
nfsstat do_create (createargs *argp, diropokres *dp, AccessControl::Identity cred)
nfsstat do_remove (diropargs *argp, AccessControl::Identity cred)
nfsstat do_rename (renameargs *argp, AccessControl::Identity cred)
nfsstat do_hardlink (linkargs *argp, AccessControl::Identity cred)
nfsstat do_symlink (symlinkargs *argp, AccessControl::Identity cred)
nfsstat do_mkdir (createargs *argp, diropokres *dp, AccessControl::Identity cred)
nfsstat do_readdir (readdirargs *argp, result_types *resp, AccessControl::Identity cred)
nfsstat do_statfs (nfs_fh *argp, result_types *resp, AccessControl::Identity cred)


Function Documentation

nfsstat any_fattr fattr *  attr,
VestaSource vs,
int  fd
 

Definition at line 292 of file glue.C.

References VestaSource::ac, FdCache::any, VestaSource::appendableDirectory, attrModTime(), FdCache::close(), VestaSource::device, VestaSource::evaluatorDirectory, VestaSource::evaluatorROEDirectory, file_fattr(), FileShortIdRootLongId, VestaAttribs::getAttrib(), VestaAttribs::getAttribConst(), LongId::getParent(), VestaSource::ghost, AccessControl::group, ToUnixIdClosure::id, VestaSource::immutableDirectory, VestaSource::immutableFile, LongId::isAncestorOf(), VestaSource::longid, VestaSource::master, AccessControl::mode, VestaSource::mutableDirectory, VestaSource::mutableFile, AccessControl::owner, VestaSource::pseudoInode, RECORD_TIME_POINT, RootLongId, ToUnixIdClosure::setid, VestaSource::shortId(), shortIdSymlink, shortIdSymlinkLength, ShortIdBlock::shortIdToName(), VestaSource::size(), VestaSource::stub, VestaSource::timestamp(), FdCache::tryopen(), VestaSource::type, AccessControl::vforeignGroup, AccessControl::vforeignUser, VestaSource::volatileDirectory, VestaSource::volatileROEDirectory, VR_BLOCKSIZE, VR_BLOCKUNIT, VR_FSID, VR_RDEV, ToUnixIdClosure::vs, and xlate_errno().

Referenced by apply_sattr(), do_getattr(), do_lookup(), nfsd_nfsproc_read_2(), and nfsd_nfsproc_write_2().

nfsstat do_create createargs *  argp,
diropokres *  dp,
AccessControl::Identity  cred
 

Definition at line 1568 of file glue.C.

References VestaSource::appendableDirectory, apply_sattr(), FdCache::close(), VestaSource::dontReplace, VestaSource::evaluatorDirectory, VestaSource::evaluatorROEDirectory, SourceOrDerived::fdcreate(), VestaSource::immutableDirectory, VestaSource::insertMutableFile(), VestaSource::longid, VestaSource::lookup(), VestaSource::makeMutable(), VestaSource::mutableDirectory, VRErrorCode::notFound, NullLongId, VRErrorCode::ok, RECORD_TIME_POINT, FdCache::rw, RWLOCK_LOCKED_REASON, VestaSource::type, VestaSource::volatileDirectory, VestaSource::volatileROEDirectory, LongId::writeLock, xlate_errno(), and xlate_vserr().

Referenced by nfsd_nfsproc_create_2().

nfsstat do_getattr nfs_fh *  fh,
fattr *  attr,
AccessControl::Identity  cred
 

Definition at line 648 of file glue.C.

References any_fattr(), VestaSource::immutableFile, VestaSource::lookup(), VestaSource::mutableFile, NullLongId, LongId::readLock, RECORD_TIME_POINT, RWLOCK_LOCKED_REASON, and VestaSource::type.

Referenced by nfsd_nfsproc_getattr_2().

nfsstat do_hardlink linkargs *  argp,
AccessControl::Identity  cred
 

Definition at line 2032 of file glue.C.

References LongId::checkLock, do_cow(), VestaSource::dontReplace, VestaSource::evaluatorDirectory, VestaSource::evaluatorROEDirectory, FileShortIdRootLongId, VestaSource::fptag, LongId::getParent(), VestaSource::immutableDirectory, VestaSource::immutableFile, VestaSource::insertFile(), VestaSource::insertMutableFile(), LongId::isAncestorOf(), VestaSource::longid, VestaSource::lookup(), VestaSource::makeMutable(), VestaSource::mutableDirectory, VestaSource::mutableFile, MutableRootLongId, NullLongId, VRErrorCode::ok, ReadersWritersLock::release(), ReadersWritersLock::releaseWrite(), RWLOCK_LOCKED_REASON, VestaSource::shortId(), VestaSource::type, VestaSource::volatileDirectory, VestaSource::volatileROEDirectory, VolatileRootLongId, LongId::writeLock, and xlate_vserr().

Referenced by nfsd_nfsproc_link_2().

nfsstat do_lookup diropargs *  dopa,
diropokres *  dp,
AccessControl::Identity  cred
 

Definition at line 1181 of file glue.C.

References any_fattr(), VestaSource::appendableDirectory, VestaSource::evaluatorDirectory, VestaSource::evaluatorROEDirectory, LongId::getParent(), VestaSource::immutableDirectory, VestaSource::immutableFile, VestaSource::longid, VestaSource::lookup(), LongId::lookup(), VestaSource::mutableDirectory, VestaSource::mutableFile, NullLongId, VRErrorCode::ok, LongId::readLock, RECORD_TIME_POINT, RWLOCK_LOCKED_REASON, TIMING_RECORD_LONGID, VestaSource::type, LongId::value, VestaSource::volatileDirectory, VestaSource::volatileROEDirectory, and xlate_vserr().

nfsstat do_mkdir createargs *  argp,
diropokres *  dp,
AccessControl::Identity  cred
 

Definition at line 2261 of file glue.C.

References VestaSource::appendableDirectory, apply_sattr(), Text::cchars(), VestaLog::commit(), VestaSource::dontReplace, Text::Empty(), VestaSource::evaluatorDirectory, VestaSource::evaluatorROEDirectory, VestaSource::immutableDirectory, VestaSource::insertAppendableDirectory(), VestaSource::insertMutableDirectory(), VestaSource::longid, VestaSource::lookup(), VestaSource::makeMutable(), VestaSource::master, VestaSource::mutableDirectory, myMasterHint, VRErrorCode::notFound, NullLongId, VRErrorCode::ok, RECORD_TIME_POINT, ReadersWritersLock::releaseWrite(), RWLOCK_LOCKED_REASON, VestaSource::setAttrib(), VestaLog::start(), VestaSource::type, VestaSource::volatileDirectory, VestaSource::volatileROEDirectory, VRLog, LongId::writeLock, and xlate_vserr().

Referenced by nfsd_nfsproc_mkdir_2().

nfsstat do_readdir readdirargs *  argp,
result_types resp,
AccessControl::Identity  cred
 

Definition at line 1451 of file glue.C.

References VestaSource::appendableDirectory, readdirClosure::cookie_incr, readdirClosure::count, readdirClosure::e, VestaSource::evaluatorDirectory, VestaSource::evaluatorROEDirectory, readdirClosure::first, readdirClosure::full, LongId::getParent(), VestaSource::immutableDirectory, VestaSource::list(), VestaSource::longid, VestaSource::mutableDirectory, NullLongId, NullShortId, VestaSource::pseudoInode, result_types::r_readdirres, LongId::readLock, RECORD_TIME_POINT, readdirClosure::res_size, RWLOCK_LOCKED_REASON, TIMING_RECORD_LONGID, VestaSource::type, VestaSource::volatileDirectory, VestaSource::volatileROEDirectory, VolatileRootLongId, readdirClosure::vs, and xlate_vserr().

Referenced by nfsd_nfsproc_readdir_2().

nfsstat do_readlink nfs_fh *  fh,
nfspath  np,
AccessControl::Identity  cred
 

Definition at line 2400 of file glue.C.

References Text::cchars(), FileShortIdRootLongId, VestaAttribs::getAttribConst(), LongId::getParent(), VestaSource::ghost, LongId::isAncestorOf(), FindLastClosure::last, VestaSource::list(), VestaSource::longid, NullLongId, LongId::readLock, ReadersWritersLock::releaseRead(), RWLOCK_LOCKED_REASON, VestaSource::shortId(), shortIdSymlink, shortIdSymlinkLength, SourceOrDerived::shortIdToName(), VestaSource::stub, and VestaSource::type.

Referenced by nfsd_nfsproc_readlink_2().

nfsstat do_remove diropargs *  argp,
AccessControl::Identity  cred
 

Definition at line 1720 of file glue.C.

References VestaSource::ac, VestaSource::appendableDirectory, FP::ByteCnt, AccessControl::check(), AccessControl::del, dirEmptyCallback(), VestaSource::evaluatorDirectory, VestaSource::evaluatorROEDirectory, VestaSource::fptag, VestaSource::ghost, VestaSource::immutableDirectory, VestaSource::insertGhost(), VestaSource::list(), VestaSource::lookup(), VestaSource::lookupIndex(), VestaSource::makeMutable(), VestaSource::master, VestaSource::mutableDirectory, namelistCallback(), VRErrorCode::notFound, NullLongId, VRErrorCode::ok, VestaSource::reallyDelete(), ReadersWritersLock::releaseWrite(), VestaSource::replaceDiff, RWLOCK_LOCKED_REASON, VestaSource::setAttrib(), Basics::OBufStream::str(), VestaSource::stub, FP::Tag::ToBytes(), VestaSource::type, VestaSource::typeTagChar(), NamelistClosure::val, VestaSource::volatileDirectory, VestaSource::volatileROEDirectory, LongId::writeLock, and xlate_vserr().

Referenced by nfsd_nfsproc_remove_2(), and nfsd_nfsproc_rmdir_2().

nfsstat do_rename renameargs *  argp,
AccessControl::Identity  cred
 

Definition at line 1900 of file glue.C.

References VestaSource::ac, ReadersWritersLock::acquireRead(), VestaSource::appendableDirectory, AccessControl::check(), LongId::checkLock, AccessControl::del, VestaSource::evaluatorDirectory, VestaSource::evaluatorROEDirectory, VestaSource::immutableDirectory, LongId::isAncestorOf(), VestaSource::lookup(), VestaSource::makeMutable(), VestaSource::mutableDirectory, NullLongId, VRErrorCode::ok, ReadersWritersLock::releaseRead(), ReadersWritersLock::releaseWrite(), VestaSource::renameTo(), VestaSource::replaceDiff, RWLOCK_LOCKED_REASON, VestaSource::type, VestaSource::volatileDirectory, VestaSource::volatileROEDirectory, VolatileRootLock, VolatileRootLongId, LongId::writeLock, LongId::writeLockV, and xlate_vserr().

Referenced by nfsd_nfsproc_rename_2().

nfsstat do_setattr sattrargs *  argp,
fattr *  attr,
AccessControl::Identity  cred
 

Definition at line 1090 of file glue.C.

References apply_sattr(), VestaSource::copyToMutable(), do_cow(), VestaAttribs::hasAttribs(), VestaSource::immutableFile, LongId::isAncestorOf(), VestaSource::longid, VestaSource::lookup(), MutableRootLongId, NullLongId, VRErrorCode::ok, RECORD_TIME_POINT, ReadersWritersLock::releaseWrite(), RWLOCK_LOCKED_REASON, VestaSource::type, VolatileRootLongId, LongId::writeLock, and xlate_vserr().

Referenced by nfsd_nfsproc_setattr_2().

nfsstat do_statfs nfs_fh *  argp,
result_types resp,
AccessControl::Identity  cred
 

Definition at line 2478 of file glue.C.

References Text::cchars(), ok(), result_types::r_statfsres, and xlate_errno().

Referenced by nfsd_nfsproc_statfs_2().

nfsstat do_symlink symlinkargs *  argp,
AccessControl::Identity  cred
 

Definition at line 2173 of file glue.C.

References allowSymlink, VestaSource::appendableDirectory, VestaSource::dontReplace, VestaSource::ghost, VestaSource::insertStub(), VestaSource::lookup(), VestaSource::master, VRErrorCode::notFound, NullLongId, VRErrorCode::ok, RECORD_TIME_POINT, RWLOCK_LOCKED_REASON, VestaSource::stub, VestaSource::type, LongId::writeLock, and xlate_vserr().

Referenced by nfsd_nfsproc_symlink_2().

void fd_inactive void *  vsin,
int  fd,
int  ofl
 

Definition at line 1398 of file glue.C.

References FdCache::close(), DEVICE_FAKE_FD, and VestaSource::shortId().

Referenced by nfsd_nfsproc_read_2(), and nfsd_nfsproc_write_2().

int fh_fd nfs_fh *  fh,
nfsstat *  status,
int  omode,
VestaSource **  vsout,
int *  oflout,
AccessControl::Identity  cred
 

Definition at line 1274 of file glue.C.

References VestaSource::ac, FdCache::any, AccessControl::check(), VestaSource::device, DEVICE_FAKE_FD, do_cow(), error, VestaSource::immutableFile, LongId::isAncestorOf(), VestaSource::longid, VestaSource::mutableFile, MutableRootLongId, FdCache::open(), AccessControl::ownership, AccessControl::read, LongId::readLock, RECORD_TIME_POINT, FdCache::rw, RWLOCK_LOCKED_REASON, VestaSource::shortId(), VestaSource::type, VolatileRootLongId, AccessControl::write, and xlate_errno().

Referenced by nfsd_nfsproc_read_2(), and nfsd_nfsproc_write_2().

nfsstat xlate_errno int  errno_val  ) 
 

Definition at line 123 of file glue.C.

References Text::cchars(), DBG_ALWAYS, Repos::dprintf(), Basics::errno_Text(), error, and nfs_errtbl.

Referenced by any_fattr(), apply_sattr(), do_cow(), do_create(), do_statfs(), fh_fd(), nfsd_nfsproc_read_2(), and nfsd_nfsproc_write_2().


Generated on Mon May 8 00:49:03 2006 for Vesta by  doxygen 1.4.2