diff -urN --exclude-from=../dontdiff linux-2.4.20/fs/coda/cache.c linux-2.4.20-coda/fs/coda/cache.c
--- linux-2.4.20/fs/coda/cache.c 2003-01-08 12:59:05.000000000 -0500
+++ linux-2.4.20-coda/fs/coda/cache.c 2003-01-08 12:40:22.000000000 -0500
@@ -29,8 +29,8 @@
{
struct coda_inode_info *cii = ITOC(inode);
- if ( !coda_cred_ok(&cii->c_cached_cred) ) {
- coda_load_creds(&cii->c_cached_cred);
+ if ( cii->c_cached_uid != current->fsuid ) {
+ cii->c_cached_uid = current->fsuid;
cii->c_cached_perm = mask;
} else
cii->c_cached_perm |= mask;
@@ -43,8 +43,8 @@
cii->c_cached_perm = 0;
}
-/* remove all acl caches for a principal (or all principals when cred == NULL)*/
-void coda_cache_clear_all(struct super_block *sb, struct coda_cred *cred)
+/* remove all acl caches for a principal (or all principals when uid == NULL)*/
+void coda_cache_clear_all(struct super_block *sb, uid_t *uid)
{
struct coda_sb_info *sbi;
struct coda_inode_info *cii;
@@ -56,7 +56,7 @@
list_for_each(tmp, &sbi->sbi_cihead)
{
cii = list_entry(tmp, struct coda_inode_info, c_cilist);
- if (!cred || coda_cred_eq(cred, &cii->c_cached_cred))
+ if (!uid || cii->c_cached_uid == *uid)
cii->c_cached_perm = 0;
}
}
@@ -68,8 +68,8 @@
struct coda_inode_info *cii = ITOC(inode);
int hit;
- hit = ((mask & cii->c_cached_perm) == mask) &&
- coda_cred_ok(&cii->c_cached_cred);
+ hit = ((mask & cii->c_cached_perm) == mask &&
+ cii->c_cached_uid == current->fsuid);
CDEBUG(D_CACHE, "%s for ino %ld\n", hit ? "HIT" : "MISS", inode->i_ino);
return hit;
diff -urN --exclude-from=../dontdiff linux-2.4.20/fs/coda/cnode.c linux-2.4.20-coda/fs/coda/cnode.c
--- linux-2.4.20/fs/coda/cnode.c 2003-01-08 12:59:05.000000000 -0500
+++ linux-2.4.20-coda/fs/coda/cnode.c 2003-01-08 12:40:22.000000000 -0500
@@ -13,23 +13,20 @@
extern int coda_debug;
-inline int coda_fideq(ViceFid *fid1, ViceFid *fid2)
+inline int coda_fideq(struct CodaFid *fid1, struct CodaFid *fid2)
{
- if (fid1->Vnode != fid2->Vnode) return 0;
- if (fid1->Volume != fid2->Volume) return 0;
- if (fid1->Unique != fid2->Unique) return 0;
- return 1;
+ return memcmp(fid1, fid2, sizeof(struct CodaFid)) == 0;
}
-inline int coda_isnullfid(ViceFid *fid)
+static struct CodaFid NullFid;
+inline int coda_isnullfid(struct CodaFid *fid)
{
- if (fid->Vnode || fid->Volume || fid->Unique) return 0;
- return 1;
+ return coda_fideq(fid, &NullFid);
}
static int coda_inocmp(struct inode *inode, unsigned long ino, void *opaque)
{
- return (coda_fideq((ViceFid *)opaque, &(ITOC(inode)->c_fid)));
+ return (coda_fideq((struct CodaFid *)opaque, &(ITOC(inode)->c_fid)));
}
static struct inode_operations coda_symlink_inode_operations = {
@@ -62,7 +59,7 @@
init_special_inode(inode, inode->i_mode, attr->va_rdev);
}
-struct inode * coda_iget(struct super_block * sb, ViceFid * fid,
+struct inode * coda_iget(struct super_block * sb, struct CodaFid * fid,
struct coda_vattr * attr)
{
struct inode *inode;
@@ -97,7 +94,7 @@
- link the two up if this is needed
- fill in the attributes
*/
-int coda_cnode_make(struct inode **inode, ViceFid *fid, struct super_block *sb)
+int coda_cnode_make(struct inode **inode, struct CodaFid *fid, struct super_block *sb)
{
struct coda_vattr attr;
int error;
@@ -125,8 +122,8 @@
}
-void coda_replace_fid(struct inode *inode, struct ViceFid *oldfid,
- struct ViceFid *newfid)
+void coda_replace_fid(struct inode *inode, struct CodaFid *oldfid,
+ struct CodaFid *newfid)
{
struct coda_inode_info *cii;
@@ -144,7 +141,7 @@
}
/* convert a fid to an inode. */
-struct inode *coda_fid_to_inode(ViceFid *fid, struct super_block *sb)
+struct inode *coda_fid_to_inode(struct CodaFid *fid, struct super_block *sb)
{
ino_t nr;
struct inode *inode;
diff -urN --exclude-from=../dontdiff linux-2.4.20/fs/coda/coda_linux.c linux-2.4.20-coda/fs/coda/coda_linux.c
--- linux-2.4.20/fs/coda/coda_linux.c 2003-01-08 12:59:05.000000000 -0500
+++ linux-2.4.20-coda/fs/coda/coda_linux.c 2003-01-08 13:41:37.000000000 -0500
@@ -29,10 +29,10 @@
int coda_fake_statfs;
/* print a fid */
-char * coda_f2s(ViceFid *f)
+char * coda_f2s(struct CodaFid *f)
{
static char s[60];
- sprintf(s, "(%-#lx.%-#lx.%-#lx)", f->Volume, f->Vnode, f->Unique);
+ sprintf(s, "(%-#x.%-#x.%-#x)", f->opaque[1], f->opaque[2], f->opaque[3]);
return s;
}
@@ -49,30 +49,6 @@
return ( i->i_sb->s_root->d_inode == i );
}
-/* put the current process credentials in the cred */
-void coda_load_creds(struct coda_cred *cred)
-{
- cred->cr_uid = (vuid_t) current->uid;
- cred->cr_euid = (vuid_t) current->euid;
- cred->cr_suid = (vuid_t) current->suid;
- cred->cr_fsuid = (vuid_t) current->fsuid;
-
- cred->cr_groupid = (vgid_t) current->gid;
- cred->cr_egid = (vgid_t) current->egid;
- cred->cr_sgid = (vgid_t) current->sgid;
- cred->cr_fsgid = (vgid_t) current->fsgid;
-}
-
-int coda_cred_ok(struct coda_cred *cred)
-{
- return(current->fsuid == cred->cr_fsuid);
-}
-
-int coda_cred_eq(struct coda_cred *cred1, struct coda_cred *cred2)
-{
- return (cred1->cr_fsuid == cred2->cr_fsuid);
-}
-
unsigned short coda_flags_to_cflags(unsigned short flags)
{
unsigned short coda_flags = 0;
@@ -173,8 +149,8 @@
/* clean out */
vattr->va_mode = (umode_t) -1;
- vattr->va_uid = (vuid_t) -1;
- vattr->va_gid = (vgid_t) -1;
+ vattr->va_uid = (uid_t) -1;
+ vattr->va_gid = (gid_t) -1;
vattr->va_size = (off_t) -1;
vattr->va_atime.tv_sec = (time_t) -1;
vattr->va_mtime.tv_sec = (time_t) -1;
@@ -212,10 +188,10 @@
vattr->va_mode = iattr->ia_mode;
}
if ( valid & ATTR_UID ) {
- vattr->va_uid = (vuid_t) iattr->ia_uid;
+ vattr->va_uid = iattr->ia_uid;
}
if ( valid & ATTR_GID ) {
- vattr->va_gid = (vgid_t) iattr->ia_gid;
+ vattr->va_gid = iattr->ia_gid;
}
if ( valid & ATTR_SIZE ) {
vattr->va_size = iattr->ia_size;
diff -urN --exclude-from=../dontdiff linux-2.4.20/fs/coda/dir.c linux-2.4.20-coda/fs/coda/dir.c
--- linux-2.4.20/fs/coda/dir.c 2003-01-08 12:59:05.000000000 -0500
+++ linux-2.4.20-coda/fs/coda/dir.c 2003-01-08 12:40:22.000000000 -0500
@@ -94,12 +95,14 @@
static struct dentry *coda_lookup(struct inode *dir, struct dentry *entry)
{
struct inode *res_inode = NULL;
- struct ViceFid resfid = {0,0,0};
+ struct CodaFid resfid;
int dropme = 0; /* to indicate entry should not be cached */
int type = 0;
int error = 0;
const char *name = entry->d_name.name;
size_t length = entry->d_name.len;
+
+ memset(&resfid, 0, sizeof(struct CodaFid));
if ( length > CODA_MAXNAMLEN ) {
printk("name too long: lookup, %s (%*s)\n",
@@ -208,7 +211,7 @@
const char *name=de->d_name.name;
int length=de->d_name.len;
struct inode *inode;
- struct ViceFid newfid;
+ struct CodaFid newfid;
struct coda_vattr attrs;
coda_vfs_stat.create++;
@@ -246,7 +249,7 @@
const char *name=de->d_name.name;
int length=de->d_name.len;
struct inode *inode;
- struct ViceFid newfid;
+ struct CodaFid newfid;
struct coda_vattr attrs;
if ( coda_hasmknod == 0 )
@@ -289,7 +292,7 @@
const char *name = de->d_name.name;
int len = de->d_name.len;
int error;
- struct ViceFid newfid;
+ struct CodaFid newfid;
coda_vfs_stat.mkdir++;
diff -urN --exclude-from=../dontdiff linux-2.4.20/fs/coda/file.c linux-2.4.20-coda/fs/coda/file.c
--- linux-2.4.20/fs/coda/file.c 2003-01-08 12:59:05.000000000 -0500
+++ linux-2.4.20-coda/fs/coda/file.c 2003-01-09 16:58:24.000000000 -0500
@@ -139,7 +137,6 @@
cfi->cfi_magic = CODA_MAGIC;
cfi->cfi_mapcount = 0;
cfi->cfi_container = host_file;
- coda_load_creds(&cfi->cfi_cred);
host_inode = host_file->f_dentry->d_inode;
if (coda_inode->i_mapping == &coda_inode->i_data)
@@ -187,7 +184,7 @@
if (!cfi || cfi->cfi_magic != CODA_MAGIC) BUG();
err = venus_store(coda_inode->i_sb, coda_i2f(coda_inode), coda_flags,
- &cfi->cfi_cred);
+ coda_file->f_uid);
if (err == -EOPNOTSUPP) {
use_coda_close = 1;
@@ -223,7 +220,7 @@
if (use_coda_close)
err = venus_close(coda_inode->i_sb, coda_i2f(coda_inode),
- coda_flags, &cfi->cfi_cred);
+ coda_flags, coda_file->f_uid);
host_inode = cfi->cfi_container->f_dentry->d_inode;
cii = ITOC(coda_inode);
diff -urN --exclude-from=../dontdiff linux-2.4.20/fs/coda/inode.c linux-2.4.20-coda/fs/coda/inode.c
--- linux-2.4.20/fs/coda/inode.c 2003-01-08 12:59:05.000000000 -0500
+++ linux-2.4.20-coda/fs/coda/inode.c 2003-01-08 12:40:30.000000000 -0500
@@ -95,7 +95,7 @@
struct inode *root = 0;
struct coda_sb_info *sbi = NULL;
struct venus_comm *vc = NULL;
- ViceFid fid;
+ struct CodaFid fid;
int error;
int idx;
diff -urN --exclude-from=../dontdiff linux-2.4.20/fs/coda/psdev.c linux-2.4.20-coda/fs/coda/psdev.c
--- linux-2.4.20/fs/coda/psdev.c 2002-08-28 01:07:35.000000000 -0400
+++ linux-2.4.20-coda/fs/coda/psdev.c 2003-01-08 13:40:49.000000000 -0500
@@ -114,7 +114,7 @@
if (copy_from_user(&hdr, buf, 2 * sizeof(u_long)))
return -EFAULT;
- CDEBUG(D_PSDEV, "(process,opc,uniq)=(%d,%ld,%ld), nbytes %ld\n",
+ CDEBUG(D_PSDEV, "(process,opc,uniq)=(%d,%d,%d), nbytes %ld\n",
current->pid, hdr.opcode, hdr.unique, (long)nbytes);
if (DOWNCALL(hdr.opcode)) {
@@ -131,13 +131,13 @@
CDEBUG(D_PSDEV, "handling downcall\n");
if ( nbytes < sizeof(struct coda_out_hdr) ) {
- printk("coda_downcall opc %ld uniq %ld, not enough!\n",
+ printk("coda_downcall opc %d uniq %d, not enough!\n",
hdr.opcode, hdr.unique);
count = nbytes;
goto out;
}
if ( nbytes > size ) {
- printk("Coda: downcall opc %ld, uniq %ld, too much!",
+ printk("Coda: downcall opc %d, uniq %d, too much!",
hdr.opcode, hdr.unique);
nbytes = size;
}
@@ -176,17 +176,17 @@
unlock_kernel();
if (!req) {
- printk("psdev_write: msg (%ld, %ld) not found\n",
+ printk("psdev_write: msg (%d, %d) not found\n",
hdr.opcode, hdr.unique);
retval = -ESRCH;
goto out;
}
- CDEBUG(D_PSDEV,"Eureka: uniq %ld on queue!\n", hdr.unique);
+ CDEBUG(D_PSDEV,"Eureka: uniq %d on queue!\n", hdr.unique);
/* move data into response buffer. */
if (req->uc_outSize < nbytes) {
- printk("psdev_write: too much cnt: %d, cnt: %ld, opc: %ld, uniq: %ld.\n",
+ printk("psdev_write: too much cnt: %d, cnt: %ld, opc: %d, uniq: %d.\n",
req->uc_outSize, (long)nbytes, hdr.opcode, hdr.unique);
nbytes = req->uc_outSize; /* don't have more space! */
}
@@ -210,7 +210,7 @@
}
CDEBUG(D_PSDEV,
- "Found! Count %ld for (opc,uniq)=(%ld,%ld), upc_req at %p\n",
+ "Found! Count %ld for (opc,uniq)=(%d,%d), upc_req at %p\n",
(long)count, hdr.opcode, hdr.unique, &req);
wake_up(&req->uc_sleep);
diff -urN --exclude-from=../dontdiff linux-2.4.20/fs/coda/upcall.c linux-2.4.20-coda/fs/coda/upcall.c
--- linux-2.4.20/fs/coda/upcall.c 2003-01-08 12:59:05.000000000 -0500
+++ linux-2.4.20-coda/fs/coda/upcall.c 2003-01-08 13:41:06.000000000 -0500
@@ -55,7 +55,7 @@
inp->ih.opcode = opcode;
inp->ih.pid = current->pid;
inp->ih.pgid = current->pgrp;
- coda_load_creds(&(inp->ih.cred));
+ inp->ih.uid = current->uid;
return (void*)inp;
}
@@ -74,7 +74,7 @@
/* the upcalls */
-int venus_rootfid(struct super_block *sb, ViceFid *fidp)
+int venus_rootfid(struct super_block *sb, struct CodaFid *fidp)
{
union inputArgs *inp;
union outputArgs *outp;
@@ -88,16 +88,14 @@
if (error) {
printk("coda_get_rootfid: error %d\n", error);
} else {
- *fidp = (ViceFid) outp->coda_root.VFid;
- CDEBUG(D_SUPER, "VolumeId: %lx, VnodeId: %lx.\n",
- fidp->Volume, fidp->Vnode);
+ *fidp = (struct CodaFid) outp->coda_root.Fid;
}
CODA_FREE(inp, insize);
return error;
}
-int venus_getattr(struct super_block *sb, struct ViceFid *fid,
+int venus_getattr(struct super_block *sb, struct CodaFid *fid,
struct coda_vattr *attr)
{
union inputArgs *inp;
@@ -106,7 +104,7 @@
insize = SIZE(getattr);
UPARG(CODA_GETATTR);
- inp->coda_getattr.VFid = *fid;
+ inp->coda_getattr.Fid = *fid;
error = coda_upcall(coda_sbp(sb), insize, &outsize, inp);
@@ -116,7 +114,7 @@
return error;
}
-int venus_setattr(struct super_block *sb, struct ViceFid *fid,
+int venus_setattr(struct super_block *sb, struct CodaFid *fid,
struct coda_vattr *vattr)
{
union inputArgs *inp;
@@ -126,7 +124,7 @@
insize = SIZE(setattr);
UPARG(CODA_SETATTR);
- inp->coda_setattr.VFid = *fid;
+ inp->coda_setattr.Fid = *fid;
inp->coda_setattr.attr = *vattr;
error = coda_upcall(coda_sbp(sb), insize, &outsize, inp);
@@ -136,9 +134,9 @@
return error;
}
-int venus_lookup(struct super_block *sb, struct ViceFid *fid,
+int venus_lookup(struct super_block *sb, struct CodaFid *fid,
const char *name, int length, int * type,
- struct ViceFid *resfid)
+ struct CodaFid *resfid)
{
union inputArgs *inp;
union outputArgs *outp;
@@ -149,7 +147,7 @@
insize = max_t(unsigned int, offset + length +1, OUTSIZE(lookup));
UPARG(CODA_LOOKUP);
- inp->coda_lookup.VFid = *fid;
+ inp->coda_lookup.Fid = *fid;
inp->coda_lookup.name = offset;
inp->coda_lookup.flags = CLU_CASE_SENSITIVE;
/* send Venus a null terminated string */
@@ -158,15 +156,14 @@
error = coda_upcall(coda_sbp(sb), insize, &outsize, inp);
- *resfid = outp->coda_lookup.VFid;
+ *resfid = outp->coda_lookup.Fid;
*type = outp->coda_lookup.vtype;
CODA_FREE(inp, insize);
return error;
}
-int venus_store(struct super_block *sb, struct ViceFid *fid, int flags,
- struct coda_cred *cred)
+int venus_store(struct super_block *sb, struct CodaFid *fid, int flags, uid_t uid)
{
union inputArgs *inp;
union outputArgs *outp;
@@ -175,9 +172,8 @@
insize = SIZE(store);
UPARG(CODA_STORE);
- memcpy(&(inp->ih.cred), cred, sizeof(*cred));
-
- inp->coda_store.VFid = *fid;
+ inp->ih.uid = uid;
+ inp->coda_store.Fid = *fid;
inp->coda_store.flags = flags;
error = coda_upcall(coda_sbp(sb), insize, &outsize, inp);
@@ -186,7 +182,7 @@
return error;
}
-int venus_release(struct super_block *sb, struct ViceFid *fid, int flags)
+int venus_release(struct super_block *sb, struct CodaFid *fid, int flags)
{
union inputArgs *inp;
union outputArgs *outp;
@@ -195,7 +191,7 @@
insize = SIZE(release);
UPARG(CODA_RELEASE);
- inp->coda_release.VFid = *fid;
+ inp->coda_release.Fid = *fid;
inp->coda_release.flags = flags;
error = coda_upcall(coda_sbp(sb), insize, &outsize, inp);
@@ -204,8 +200,7 @@
return error;
}
-int venus_close(struct super_block *sb, struct ViceFid *fid, int flags,
- struct coda_cred *cred)
+int venus_close(struct super_block *sb, struct CodaFid *fid, int flags, uid_t uid)
{
union inputArgs *inp;
union outputArgs *outp;
@@ -214,9 +209,8 @@
insize = SIZE(release);
UPARG(CODA_CLOSE);
- memcpy(&(inp->ih.cred), cred, sizeof(*cred));
-
- inp->coda_close.VFid = *fid;
+ inp->ih.uid = uid;
+ inp->coda_close.Fid = *fid;
inp->coda_close.flags = flags;
error = coda_upcall(coda_sbp(sb), insize, &outsize, inp);
@@ -225,7 +219,7 @@
return error;
}
-int venus_open(struct super_block *sb, struct ViceFid *fid,
+int venus_open(struct super_block *sb, struct CodaFid *fid,
int flags, struct file **fh)
{
union inputArgs *inp;
@@ -235,7 +229,7 @@
insize = SIZE(open_by_fd);
UPARG(CODA_OPEN_BY_FD);
- inp->coda_open.VFid = *fid;
+ inp->coda_open.Fid = *fid;
inp->coda_open.flags = flags;
error = coda_upcall(coda_sbp(sb), insize, &outsize, inp);
@@ -246,9 +240,9 @@
return error;
}
-int venus_mkdir(struct super_block *sb, struct ViceFid *dirfid,
+int venus_mkdir(struct super_block *sb, struct CodaFid *dirfid,
const char *name, int length,
- struct ViceFid *newfid, struct coda_vattr *attrs)
+ struct CodaFid *newfid, struct coda_vattr *attrs)
{
union inputArgs *inp;
union outputArgs *outp;
@@ -259,7 +253,7 @@
insize = max_t(unsigned int, offset + length + 1, OUTSIZE(mkdir));
UPARG(CODA_MKDIR);
- inp->coda_mkdir.VFid = *dirfid;
+ inp->coda_mkdir.Fid = *dirfid;
inp->coda_mkdir.attr = *attrs;
inp->coda_mkdir.name = offset;
/* Venus must get null terminated string */
@@ -269,15 +263,15 @@
error = coda_upcall(coda_sbp(sb), insize, &outsize, inp);
*attrs = outp->coda_mkdir.attr;
- *newfid = outp->coda_mkdir.VFid;
+ *newfid = outp->coda_mkdir.Fid;
CODA_FREE(inp, insize);
return error;
}
-int venus_rename(struct super_block *sb, struct ViceFid *old_fid,
- struct ViceFid *new_fid, size_t old_length,
+int venus_rename(struct super_block *sb, struct CodaFid *old_fid,
+ struct CodaFid *new_fid, size_t old_length,
size_t new_length, const char *old_name,
const char *new_name)
{
@@ -315,9 +309,9 @@
return error;
}
-int venus_create(struct super_block *sb, struct ViceFid *dirfid,
+int venus_create(struct super_block *sb, struct CodaFid *dirfid,
const char *name, int length, int excl, int mode, int rdev,
- struct ViceFid *newfid, struct coda_vattr *attrs)
+ struct CodaFid *newfid, struct coda_vattr *attrs)
{
union inputArgs *inp;
union outputArgs *outp;
@@ -328,7 +322,7 @@
insize = max_t(unsigned int, offset + length + 1, OUTSIZE(create));
UPARG(CODA_CREATE);
- inp->coda_create.VFid = *dirfid;
+ inp->coda_create.Fid = *dirfid;
inp->coda_create.attr.va_mode = mode;
inp->coda_create.attr.va_rdev = rdev;
inp->coda_create.excl = excl;
@@ -342,13 +336,13 @@
error = coda_upcall(coda_sbp(sb), insize, &outsize, inp);
*attrs = outp->coda_create.attr;
- *newfid = outp->coda_create.VFid;
+ *newfid = outp->coda_create.Fid;
CODA_FREE(inp, insize);
return error;
}
-int venus_rmdir(struct super_block *sb, struct ViceFid *dirfid,
+int venus_rmdir(struct super_block *sb, struct CodaFid *dirfid,
const char *name, int length)
{
union inputArgs *inp;
@@ -360,7 +354,7 @@
insize = max_t(unsigned int, offset + length + 1, OUTSIZE(rmdir));
UPARG(CODA_RMDIR);
- inp->coda_rmdir.VFid = *dirfid;
+ inp->coda_rmdir.Fid = *dirfid;
inp->coda_rmdir.name = offset;
memcpy((char *)(inp) + offset, name, length);
*((char *)inp + offset + length) = '\0';
@@ -371,7 +365,7 @@
return error;
}
-int venus_remove(struct super_block *sb, struct ViceFid *dirfid,
+int venus_remove(struct super_block *sb, struct CodaFid *dirfid,
const char *name, int length)
{
union inputArgs *inp;
@@ -382,7 +376,7 @@
insize = max_t(unsigned int, offset + length + 1, OUTSIZE(remove));
UPARG(CODA_REMOVE);
- inp->coda_remove.VFid = *dirfid;
+ inp->coda_remove.Fid = *dirfid;
inp->coda_remove.name = offset;
memcpy((char *)(inp) + offset, name, length);
*((char *)inp + offset + length) = '\0';
@@ -393,7 +387,7 @@
return error;
}
-int venus_readlink(struct super_block *sb, struct ViceFid *fid,
+int venus_readlink(struct super_block *sb, struct CodaFid *fid,
char *buffer, int *length)
{
union inputArgs *inp;
@@ -406,7 +400,7 @@
INSIZE(readlink), OUTSIZE(readlink)+ *length + 1);
UPARG(CODA_READLINK);
- inp->coda_readlink.VFid = *fid;
+ inp->coda_readlink.Fid = *fid;
error = coda_upcall(coda_sbp(sb), insize, &outsize, inp);
@@ -427,8 +421,8 @@
-int venus_link(struct super_block *sb, struct ViceFid *fid,
- struct ViceFid *dirfid, const char *name, int len )
+int venus_link(struct super_block *sb, struct CodaFid *fid,
+ struct CodaFid *dirfid, const char *name, int len )
{
union inputArgs *inp;
union outputArgs *outp;
@@ -454,7 +448,7 @@
return error;
}
-int venus_symlink(struct super_block *sb, struct ViceFid *fid,
+int venus_symlink(struct super_block *sb, struct CodaFid *fid,
const char *name, int len,
const char *symname, int symlen)
{
@@ -468,7 +462,7 @@
UPARG(CODA_SYMLINK);
/* inp->coda_symlink.attr = *tva; XXXXXX */
- inp->coda_symlink.VFid = *fid;
+ inp->coda_symlink.Fid = *fid;
/* Round up to word boundary and null terminate */
inp->coda_symlink.srcname = offset;
@@ -490,7 +484,7 @@
return error;
}
-int venus_fsync(struct super_block *sb, struct ViceFid *fid)
+int venus_fsync(struct super_block *sb, struct CodaFid *fid)
{
union inputArgs *inp;
union outputArgs *outp;
@@ -499,7 +493,7 @@
insize=SIZE(fsync);
UPARG(CODA_FSYNC);
- inp->coda_fsync.VFid = *fid;
+ inp->coda_fsync.Fid = *fid;
error = coda_upcall(coda_sbp(sb), sizeof(union inputArgs),
&outsize, inp);
@@ -507,7 +501,7 @@
return error;
}
-int venus_access(struct super_block *sb, struct ViceFid *fid, int mask)
+int venus_access(struct super_block *sb, struct CodaFid *fid, int mask)
{
union inputArgs *inp;
union outputArgs *outp;
@@ -516,7 +510,7 @@
insize = SIZE(access);
UPARG(CODA_ACCESS);
- inp->coda_access.VFid = *fid;
+ inp->coda_access.Fid = *fid;
inp->coda_access.flags = mask;
error = coda_upcall(coda_sbp(sb), insize, &outsize, inp);
@@ -526,7 +520,7 @@
}
-int venus_pioctl(struct super_block *sb, struct ViceFid *fid,
+int venus_pioctl(struct super_block *sb, struct CodaFid *fid,
unsigned int cmd, struct PioctlData *data)
{
union inputArgs *inp;
@@ -543,7 +537,7 @@
goto exit;
}
- inp->coda_ioctl.VFid = *fid;
+ inp->coda_ioctl.Fid = *fid;
/* the cmd field was mutated by increasing its size field to
* reflect the path and follow args. We need to subtract that
@@ -763,7 +757,7 @@
/* here we map positive Venus errors to kernel errors */
error = -out->oh.result;
CDEBUG(D_UPCALL,
- "upcall: (u,o,r) (%ld, %ld, %ld) out at %p\n",
+ "upcall: (u,o,r) (%d, %d, %d) out at %p\n",
out->oh.unique, out->oh.opcode, out->oh.result, out);
*outSize = req->uc_outSize;
goto exit;
@@ -865,7 +859,7 @@
* The last allows Venus to replace local fids with global ones
* during reintegration.
*
- * CODA_REPLACE -- replace one ViceFid with another throughout the name cache */
+ * CODA_REPLACE -- replace one CodaFid with another throughout the name cache */
int coda_downcall(int opcode, union outputArgs * out, struct super_block *sb)
{
@@ -887,20 +881,20 @@
}
case CODA_PURGEUSER : {
- struct coda_cred *cred = &out->coda_purgeuser.cred;
+ uid_t *uid = &out->coda_purgeuser.uid;
CDEBUG(D_DOWNCALL, "CODA_PURGEUSER\n");
- if ( !cred ) {
- printk("PURGEUSER: null cred!\n");
+ if ( !uid ) {
+ printk("PURGEUSER: no user!\n");
return 0;
}
clstats(CODA_PURGEUSER);
- coda_cache_clear_all(sb, cred);
+ coda_cache_clear_all(sb, uid);
return(0);
}
case CODA_ZAPDIR : {
struct inode *inode;
- ViceFid *fid = &out->coda_zapdir.CodaFid;
+ struct CodaFid *fid = &out->coda_zapdir.Fid;
CDEBUG(D_DOWNCALL, "zapdir: fid = %s...\n", coda_f2s(fid));
clstats(CODA_ZAPDIR);
@@ -920,7 +914,7 @@
case CODA_ZAPFILE : {
struct inode *inode;
- struct ViceFid *fid = &out->coda_zapfile.CodaFid;
+ struct CodaFid *fid = &out->coda_zapfile.Fid;
clstats(CODA_ZAPFILE);
CDEBUG(D_DOWNCALL, "zapfile: fid = %s\n", coda_f2s(fid));
inode = coda_fid_to_inode(fid, sb);
@@ -936,7 +930,7 @@
case CODA_PURGEFID : {
struct inode *inode;
- ViceFid *fid = &out->coda_purgefid.CodaFid;
+ struct CodaFid *fid = &out->coda_purgefid.Fid;
CDEBUG(D_DOWNCALL, "purgefid: fid = %s\n", coda_f2s(fid));
clstats(CODA_PURGEFID);
inode = coda_fid_to_inode(fid, sb);
@@ -957,8 +951,8 @@
case CODA_REPLACE : {
struct inode *inode;
- ViceFid *oldfid = &out->coda_replace.OldFid;
- ViceFid *newfid = &out->coda_replace.NewFid;
+ struct CodaFid *oldfid = &out->coda_replace.OldFid;
+ struct CodaFid *newfid = &out->coda_replace.NewFid;
clstats(CODA_REPLACE);
CDEBUG(D_DOWNCALL, "CODA_REPLACE\n");
inode = coda_fid_to_inode(oldfid, sb);
diff -urN --exclude-from=../dontdiff linux-2.4.20/include/linux/coda.h linux-2.4.20-coda/include/linux/coda.h
--- linux-2.4.20/include/linux/coda.h 2003-01-08 12:59:05.000000000 -0500
+++ linux-2.4.20-coda/include/linux/coda.h 2003-01-08 12:55:23.000000000 -0500
@@ -112,13 +112,6 @@
#define cdev_t dev_t
#endif
-#ifdef __CYGWIN32__
-struct timespec {
- time_t tv_sec; /* seconds */
- long tv_nsec; /* nanoseconds */
-};
-#endif
-
#ifndef __BIT_TYPES_DEFINED__
#define __BIT_TYPES_DEFINED__
typedef signed char int8_t;
@@ -193,54 +186,16 @@
#endif
-#ifndef _FID_T_
-#define _FID_T_ 1
-typedef u_long VolumeId;
-typedef u_long VnodeId;
-typedef u_long Unique_t;
-typedef u_long FileVersion;
-#endif
+struct CodaFid {
+ u_int32_t opaque[4];
+};
-#ifndef _VICEFID_T_
-#define _VICEFID_T_ 1
-typedef struct ViceFid {
- VolumeId Volume;
- VnodeId Vnode;
- Unique_t Unique;
-} ViceFid;
-#endif /* VICEFID */
-
-
-#ifdef __linux__
-static __inline__ ino_t coda_f2i(struct ViceFid *fid)
+static __inline__ ino_t coda_f2i(struct CodaFid *fid)
{
- if ( ! fid )
- return 0;
- if (fid->Vnode == 0xfffffffe || fid->Vnode == 0xffffffff)
- return ((fid->Volume << 20) | (fid->Unique & 0xfffff));
- else
- return (fid->Unique + (fid->Vnode<<10) + (fid->Volume<<20));
+ if (!fid) return 0;
+ return (fid->opaque[3] ^ (fid->opaque[2]<<10) ^ (fid->opaque[1]<<20) ^
+ fid->opaque[0]);
}
-
-#else
-#define coda_f2i(fid)\
- ((fid) ? ((fid)->Unique + ((fid)->Vnode<<10) + ((fid)->Volume<<20)) : 0)
-#endif
-
-
-#ifndef _VUID_T_
-#define _VUID_T_
-typedef u_int32_t vuid_t;
-typedef u_int32_t vgid_t;
-#endif /*_VUID_T_ */
-
-#ifndef _CODACRED_T_
-#define _CODACRED_T_
-struct coda_cred {
- vuid_t cr_uid, cr_euid, cr_suid, cr_fsuid; /* Real, efftve, set, fs uid*/
- vgid_t cr_groupid, cr_egid, cr_sgid, cr_fsgid; /* same for groups */
-};
-#endif
#ifndef _VENUS_VATTR_T_
#define _VENUS_VATTR_T_
@@ -253,8 +208,8 @@
long va_type; /* vnode type (for create) */
u_short va_mode; /* files access mode and type */
short va_nlink; /* number of references to file */
- vuid_t va_uid; /* owner user id */
- vgid_t va_gid; /* owner group id */
+ uid_t va_uid; /* owner user id */
+ gid_t va_gid; /* owner group id */
long va_fileid; /* file id */
u_quad_t va_size; /* file size in bytes */
long va_blocksize; /* blocksize preferred for i/o */
@@ -328,32 +283,32 @@
#if 0
#define CODA_KERNEL_VERSION 0 /* don't care about kernel version number */
#define CODA_KERNEL_VERSION 1 /* The old venus 4.6 compatible interface */
-#endif
#define CODA_KERNEL_VERSION 2 /* venus_lookup gets an extra parameter */
+#endif
+#define CODA_KERNEL_VERSION 3 /* 128-bit file identifiers */
/*
* Venus <-> Coda RPC arguments
*/
struct coda_in_hdr {
- unsigned long opcode;
- unsigned long unique; /* Keep multiple outstanding msgs distinct */
- u_short pid; /* Common to all */
- u_short pgid; /* Common to all */
- u_short sid; /* Common to all */
- struct coda_cred cred; /* Common to all */
+ u_int32_t opcode;
+ u_int32_t unique; /* Keep multiple outstanding msgs distinct */
+ pid_t pid;
+ pid_t pgid;
+ uid_t uid;
};
/* Really important that opcode and unique are 1st two fields! */
struct coda_out_hdr {
- unsigned long opcode;
- unsigned long unique;
- unsigned long result;
+ u_int32_t opcode;
+ u_int32_t unique;
+ u_int32_t result;
};
/* coda_root: NO_IN */
struct coda_root_out {
struct coda_out_hdr oh;
- ViceFid VFid;
+ struct CodaFid Fid;
};
struct coda_root_in {
@@ -363,7 +318,7 @@
/* coda_open: */
struct coda_open_in {
struct coda_in_hdr ih;
- ViceFid VFid;
+ struct CodaFid Fid;
int flags;
};
@@ -377,7 +332,7 @@
/* coda_store: */
struct coda_store_in {
struct coda_in_hdr ih;
- ViceFid VFid;
+ struct CodaFid Fid;
int flags;
};
@@ -388,7 +343,7 @@
/* coda_release: */
struct coda_release_in {
struct coda_in_hdr ih;
- ViceFid VFid;
+ struct CodaFid Fid;
int flags;
};
@@ -399,7 +354,7 @@
/* coda_close: */
struct coda_close_in {
struct coda_in_hdr ih;
- ViceFid VFid;
+ struct CodaFid Fid;
int flags;
};
@@ -410,7 +365,7 @@
/* coda_ioctl: */
struct coda_ioctl_in {
struct coda_in_hdr ih;
- ViceFid VFid;
+ struct CodaFid Fid;
int cmd;
int len;
int rwflag;
@@ -427,7 +382,7 @@
/* coda_getattr: */
struct coda_getattr_in {
struct coda_in_hdr ih;
- ViceFid VFid;
+ struct CodaFid Fid;
};
struct coda_getattr_out {
@@ -439,7 +394,7 @@
/* coda_setattr: NO_OUT */
struct coda_setattr_in {
struct coda_in_hdr ih;
- ViceFid VFid;
+ struct CodaFid Fid;
struct coda_vattr attr;
};
@@ -450,7 +405,7 @@
/* coda_access: NO_OUT */
struct coda_access_in {
struct coda_in_hdr ih;
- ViceFid VFid;
+ struct CodaFid Fid;
int flags;
};
@@ -466,14 +421,14 @@
/* coda_lookup: */
struct coda_lookup_in {
struct coda_in_hdr ih;
- ViceFid VFid;
+ struct CodaFid Fid;
int name; /* Place holder for data. */
int flags;
};
struct coda_lookup_out {
struct coda_out_hdr oh;
- ViceFid VFid;
+ struct CodaFid Fid;
int vtype;
};
@@ -481,7 +436,7 @@
/* coda_create: */
struct coda_create_in {
struct coda_in_hdr ih;
- ViceFid VFid;
+ struct CodaFid Fid;
struct coda_vattr attr;
int excl;
int mode;
@@ -490,7 +445,7 @@
struct coda_create_out {
struct coda_out_hdr oh;
- ViceFid VFid;
+ struct CodaFid Fid;
struct coda_vattr attr;
};
@@ -498,7 +453,7 @@
/* coda_remove: NO_OUT */
struct coda_remove_in {
struct coda_in_hdr ih;
- ViceFid VFid;
+ struct CodaFid Fid;
int name; /* Place holder for data. */
};
@@ -509,8 +464,8 @@
/* coda_link: NO_OUT */
struct coda_link_in {
struct coda_in_hdr ih;
- ViceFid sourceFid; /* cnode to link *to* */
- ViceFid destFid; /* Directory in which to place link */
+ struct CodaFid sourceFid; /* cnode to link *to* */
+ struct CodaFid destFid; /* Directory in which to place link */
int tname; /* Place holder for data. */
};
@@ -522,9 +477,9 @@
/* coda_rename: NO_OUT */
struct coda_rename_in {
struct coda_in_hdr ih;
- ViceFid sourceFid;
+ struct CodaFid sourceFid;
int srcname;
- ViceFid destFid;
+ struct CodaFid destFid;
int destname;
};
@@ -535,14 +490,14 @@
/* coda_mkdir: */
struct coda_mkdir_in {
struct coda_in_hdr ih;
- ViceFid VFid;
+ struct CodaFid Fid;
struct coda_vattr attr;
int name; /* Place holder for data. */
};
struct coda_mkdir_out {
struct coda_out_hdr oh;
- ViceFid VFid;
+ struct CodaFid Fid;
struct coda_vattr attr;
};
@@ -550,7 +505,7 @@
/* coda_rmdir: NO_OUT */
struct coda_rmdir_in {
struct coda_in_hdr ih;
- ViceFid VFid;
+ struct CodaFid Fid;
int name; /* Place holder for data. */
};
@@ -561,7 +516,7 @@
/* coda_symlink: NO_OUT */
struct coda_symlink_in {
struct coda_in_hdr ih;
- ViceFid VFid; /* Directory to put symlink in */
+ struct CodaFid Fid; /* Directory to put symlink in */
int srcname;
struct coda_vattr attr;
int tname;
@@ -574,7 +529,7 @@
/* coda_readlink: */
struct coda_readlink_in {
struct coda_in_hdr ih;
- ViceFid VFid;
+ struct CodaFid Fid;
};
struct coda_readlink_out {
@@ -587,7 +542,7 @@
/* coda_fsync: NO_OUT */
struct coda_fsync_in {
struct coda_in_hdr ih;
- ViceFid VFid;
+ struct CodaFid Fid;
};
struct coda_fsync_out {
@@ -597,12 +552,12 @@
/* coda_vget: */
struct coda_vget_in {
struct coda_in_hdr ih;
- ViceFid VFid;
+ struct CodaFid Fid;
};
struct coda_vget_out {
struct coda_out_hdr oh;
- ViceFid VFid;
+ struct CodaFid Fid;
int vtype;
};
@@ -615,50 +570,49 @@
/* CODA_PURGEUSER is a venus->kernel call */
struct coda_purgeuser_out {
struct coda_out_hdr oh;
- struct coda_cred cred;
+ uid_t uid;
};
/* coda_zapfile: */
/* CODA_ZAPFILE is a venus->kernel call */
struct coda_zapfile_out {
struct coda_out_hdr oh;
- ViceFid CodaFid;
+ struct CodaFid Fid;
};
/* coda_zapdir: */
/* CODA_ZAPDIR is a venus->kernel call */
struct coda_zapdir_out {
struct coda_out_hdr oh;
- ViceFid CodaFid;
+ struct CodaFid Fid;
};
/* coda_zapnode: */
/* CODA_ZAPVNODE is a venus->kernel call */
struct coda_zapvnode_out {
struct coda_out_hdr oh;
- struct coda_cred cred;
- ViceFid VFid;
+ struct CodaFid Fid;
};
/* coda_purgefid: */
/* CODA_PURGEFID is a venus->kernel call */
struct coda_purgefid_out {
struct coda_out_hdr oh;
- ViceFid CodaFid;
+ struct CodaFid Fid;
};
/* coda_replace: */
/* CODA_REPLACE is a venus->kernel call */
struct coda_replace_out { /* coda_replace is a venus->kernel call */
struct coda_out_hdr oh;
- ViceFid NewFid;
- ViceFid OldFid;
+ struct CodaFid NewFid;
+ struct CodaFid OldFid;
};
/* coda_open_by_fd: */
struct coda_open_by_fd_in {
struct coda_in_hdr ih;
- ViceFid VFid;
+ struct CodaFid Fid;
int flags;
};
@@ -674,7 +628,7 @@
/* coda_open_by_path: */
struct coda_open_by_path_in {
struct coda_in_hdr ih;
- ViceFid VFid;
+ struct CodaFid Fid;
int flags;
};
@@ -785,10 +739,9 @@
#define CTL_INO -1
#define CTL_FILE "/coda/.CONTROL"
-
-#define IS_CTL_FID(fidp) ((fidp)->Volume == CTL_VOL &&\
- (fidp)->Vnode == CTL_VNO &&\
- (fidp)->Unique == CTL_UNI)
+#define IS_CTL_FID(fidp) ((fidp)->opaque[1] == CTL_VOL &&\
+ (fidp)->opaque[2] == CTL_VNO &&\
+ (fidp)->opaque[3] == CTL_UNI)
/* Data passed to mount */
diff -urN --exclude-from=../dontdiff linux-2.4.20/include/linux/coda_cache.h linux-2.4.20-coda/include/linux/coda_cache.h
--- linux-2.4.20/include/linux/coda_cache.h 2003-01-08 12:59:05.000000000 -0500
+++ linux-2.4.20-coda/include/linux/coda_cache.h 2003-01-08 12:40:30.000000000 -0500
@@ -13,7 +13,7 @@
/* credential cache */
void coda_cache_enter(struct inode *inode, int mask);
void coda_cache_clear_inode(struct inode *);
-void coda_cache_clear_all(struct super_block *sb, struct coda_cred *cred);
+void coda_cache_clear_all(struct super_block *sb, uid_t *uid);
int coda_cache_check(struct inode *inode, int mask);
/* for downcalls and attributes and lookups */
diff -urN --exclude-from=../dontdiff linux-2.4.20/include/linux/coda_fs_i.h linux-2.4.20-coda/include/linux/coda_fs_i.h
--- linux-2.4.20/include/linux/coda_fs_i.h 2003-01-08 12:59:05.000000000 -0500
+++ linux-2.4.20-coda/include/linux/coda_fs_i.h 2003-01-08 13:03:33.000000000 -0500
@@ -17,11 +17,11 @@
* coda fs inode data
*/
struct coda_inode_info {
- struct ViceFid c_fid; /* Coda identifier */
+ struct CodaFid c_fid; /* Coda identifier */
u_short c_flags; /* flags (see below) */
struct list_head c_cilist; /* list of all coda inodes */
int c_mapcount; /* how often is this inode mmapped */
- struct coda_cred c_cached_cred; /* credentials of cached perms */
+ uid_t c_cached_uid; /* credentials of cached perms */
unsigned int c_cached_perm; /* cached access permissions */
};
@@ -33,7 +33,6 @@
int cfi_magic; /* magic number */
int cfi_mapcount; /* how often this file is mapped */
struct file *cfi_container; /* container file for this cnode */
- struct coda_cred cfi_cred; /* credentials of opener */
};
#define CODA_FTOC(file) ((struct coda_file_info *)((file)->private_data))
@@ -44,11 +43,11 @@
#define C_DYING 0x4 /* from venus (which died) */
#define C_PURGE 0x8
-int coda_cnode_make(struct inode **, struct ViceFid *, struct super_block *);
-struct inode *coda_iget(struct super_block *sb, struct ViceFid *fid, struct coda_vattr *attr);
+int coda_cnode_make(struct inode **, struct CodaFid *, struct super_block *);
+struct inode *coda_iget(struct super_block *sb, struct CodaFid *fid, struct coda_vattr *attr);
int coda_cnode_makectl(struct inode **inode, struct super_block *sb);
-struct inode *coda_fid_to_inode(ViceFid *fid, struct super_block *sb);
-void coda_replace_fid(struct inode *, ViceFid *, ViceFid *);
+struct inode *coda_fid_to_inode(struct CodaFid *fid, struct super_block *sb);
+void coda_replace_fid(struct inode *, struct CodaFid *, struct CodaFid *);
#endif
#endif
diff -urN --exclude-from=../dontdiff linux-2.4.20/include/linux/coda_linux.h linux-2.4.20-coda/include/linux/coda_linux.h
--- linux-2.4.20/include/linux/coda_linux.h 2003-01-08 12:59:05.000000000 -0500
+++ linux-2.4.20-coda/include/linux/coda_linux.h 2003-01-08 13:07:35.000000000 -0500
@@ -42,7 +42,7 @@
int coda_permission(struct inode *inode, int mask);
int coda_revalidate_inode(struct dentry *);
int coda_notify_change(struct dentry *, struct iattr *);
-int coda_isnullfid(ViceFid *fid);
+int coda_isnullfid(struct CodaFid *fid);
/* global variables */
extern int coda_debug;
@@ -50,20 +50,17 @@
extern int coda_fake_statfs;
/* this file: heloers */
-static __inline__ struct ViceFid *coda_i2f(struct inode *);
+static __inline__ struct CodaFid *coda_i2f(struct inode *);
static __inline__ char *coda_i2s(struct inode *);
static __inline__ void coda_flag_inode(struct inode *, int flag);
-char *coda_f2s(ViceFid *f);
+char *coda_f2s(struct CodaFid *f);
int coda_isroot(struct inode *i);
int coda_iscontrol(const char *name, size_t length);
-void coda_load_creds(struct coda_cred *cred);
void coda_vattr_to_iattr(struct inode *, struct coda_vattr *);
void coda_iattr_to_vattr(struct iattr *, struct coda_vattr *);
unsigned short coda_flags_to_cflags(unsigned short);
void print_vattr( struct coda_vattr *attr );
-int coda_cred_ok(struct coda_cred *cred);
-int coda_cred_eq(struct coda_cred *cred1, struct coda_cred *cred2);
/* sysctl.h */
void coda_sysctl_init(void);
@@ -109,7 +106,7 @@
#define ITOC(inode) (&((inode)->u.coda_i))
-static __inline__ struct ViceFid *coda_i2f(struct inode *inode)
+static __inline__ struct CodaFid *coda_i2f(struct inode *inode)
{
return &(ITOC(inode)->c_fid);
}
diff -urN --exclude-from=../dontdiff linux-2.4.20/include/linux/coda_psdev.h linux-2.4.20-coda/include/linux/coda_psdev.h
--- linux-2.4.20/include/linux/coda_psdev.h 2003-01-08 12:59:05.000000000 -0500
+++ linux-2.4.20-coda/include/linux/coda_psdev.h 2003-01-08 12:40:30.000000000 -0500
@@ -32,46 +32,44 @@
/* upcalls */
-int venus_rootfid(struct super_block *sb, ViceFid *fidp);
-int venus_getattr(struct super_block *sb, struct ViceFid *fid,
+int venus_rootfid(struct super_block *sb, struct CodaFid *fidp);
+int venus_getattr(struct super_block *sb, struct CodaFid *fid,
struct coda_vattr *attr);
-int venus_setattr(struct super_block *, struct ViceFid *,
+int venus_setattr(struct super_block *, struct CodaFid *,
struct coda_vattr *);
-int venus_lookup(struct super_block *sb, struct ViceFid *fid,
+int venus_lookup(struct super_block *sb, struct CodaFid *fid,
const char *name, int length, int *type,
- struct ViceFid *resfid);
-int venus_store(struct super_block *sb, struct ViceFid *fid, int flags,
- struct coda_cred *);
-int venus_release(struct super_block *sb, struct ViceFid *fid, int flags);
-int venus_close(struct super_block *sb, struct ViceFid *fid, int flags,
- struct coda_cred *);
-int venus_open(struct super_block *sb, struct ViceFid *fid,
+ struct CodaFid *resfid);
+int venus_store(struct super_block *sb, struct CodaFid *fid, int flags, uid_t);
+int venus_release(struct super_block *sb, struct CodaFid *fid, int flags);
+int venus_close(struct super_block *sb, struct CodaFid *fid, int flags, uid_t);
+int venus_open(struct super_block *sb, struct CodaFid *fid,
int flags, struct file **f);
-int venus_mkdir(struct super_block *sb, struct ViceFid *dirfid,
+int venus_mkdir(struct super_block *sb, struct CodaFid *dirfid,
const char *name, int length,
- struct ViceFid *newfid, struct coda_vattr *attrs);
-int venus_create(struct super_block *sb, struct ViceFid *dirfid,
+ struct CodaFid *newfid, struct coda_vattr *attrs);
+int venus_create(struct super_block *sb, struct CodaFid *dirfid,
const char *name, int length, int excl, int mode, int rdev,
- struct ViceFid *newfid, struct coda_vattr *attrs) ;
-int venus_rmdir(struct super_block *sb, struct ViceFid *dirfid,
+ struct CodaFid *newfid, struct coda_vattr *attrs) ;
+int venus_rmdir(struct super_block *sb, struct CodaFid *dirfid,
const char *name, int length);
-int venus_remove(struct super_block *sb, struct ViceFid *dirfid,
+int venus_remove(struct super_block *sb, struct CodaFid *dirfid,
const char *name, int length);
-int venus_readlink(struct super_block *sb, struct ViceFid *fid,
+int venus_readlink(struct super_block *sb, struct CodaFid *fid,
char *buffer, int *length);
-int venus_rename(struct super_block *, struct ViceFid *new_fid,
- struct ViceFid *old_fid, size_t old_length,
+int venus_rename(struct super_block *, struct CodaFid *new_fid,
+ struct CodaFid *old_fid, size_t old_length,
size_t new_length, const char *old_name,
const char *new_name);
-int venus_link(struct super_block *sb, struct ViceFid *fid,
- struct ViceFid *dirfid, const char *name, int len );
-int venus_symlink(struct super_block *sb, struct ViceFid *fid,
+int venus_link(struct super_block *sb, struct CodaFid *fid,
+ struct CodaFid *dirfid, const char *name, int len );
+int venus_symlink(struct super_block *sb, struct CodaFid *fid,
const char *name, int len, const char *symname, int symlen);
-int venus_access(struct super_block *sb, struct ViceFid *fid, int mask);
-int venus_pioctl(struct super_block *sb, struct ViceFid *fid,
+int venus_access(struct super_block *sb, struct CodaFid *fid, int mask);
+int venus_pioctl(struct super_block *sb, struct CodaFid *fid,
unsigned int cmd, struct PioctlData *data);
int coda_downcall(int opcode, union outputArgs *out, struct super_block *sb);
-int venus_fsync(struct super_block *sb, struct ViceFid *fid);
+int venus_fsync(struct super_block *sb, struct CodaFid *fid);
int venus_statfs(struct super_block *sb, struct statfs *sfs);
syntax highlighted by Code2HTML, v. 0.9.1