Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
upcall.c File Reference
#include <linux/signal.h>
#include <linux/sched.h>
#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/mm.h>
#include <linux/time.h>
#include <linux/fs.h>
#include <linux/file.h>
#include <linux/stat.h>
#include <linux/errno.h>
#include <linux/string.h>
#include <linux/slab.h>
#include <linux/mutex.h>
#include <asm/uaccess.h>
#include <linux/vmalloc.h>
#include <linux/vfs.h>
#include <linux/coda.h>
#include <linux/coda_psdev.h>
#include "coda_linux.h"
#include "coda_cache.h"
#include "coda_int.h"

Go to the source code of this file.

Macros

#define UPARG(op)
 
#define INSIZE(tag)   sizeof(struct coda_ ## tag ## _in)
 
#define OUTSIZE(tag)   sizeof(struct coda_ ## tag ## _out)
 
#define SIZE(tag)   max_t(unsigned int, INSIZE(tag), OUTSIZE(tag))
 
#define CODA_INTERRUPTIBLE(r)
 

Functions

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 *sb, struct CodaFid *fid, struct coda_vattr *vattr)
 
int venus_lookup (struct super_block *sb, struct CodaFid *fid, const char *name, int length, int *type, struct CodaFid *resfid)
 
int venus_close (struct super_block *sb, struct CodaFid *fid, int flags, vuid_t uid)
 
int venus_open (struct super_block *sb, struct CodaFid *fid, int flags, struct file **fh)
 
int venus_mkdir (struct super_block *sb, struct CodaFid *dirfid, const char *name, int length, struct CodaFid *newfid, struct coda_vattr *attrs)
 
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)
 
int venus_create (struct super_block *sb, struct CodaFid *dirfid, const char *name, int length, int excl, int mode, 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 CodaFid *dirfid, const char *name, int length)
 
int venus_readlink (struct super_block *sb, struct CodaFid *fid, char *buffer, int *length)
 
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_fsync (struct super_block *sb, struct CodaFid *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 venus_statfs (struct dentry *dentry, struct kstatfs *sfs)
 
int coda_downcall (struct venus_comm *vcp, int opcode, union outputArgs *out)
 

Macro Definition Documentation

#define CODA_INTERRUPTIBLE (   r)
Value:
(!coda_hard && \
(((r)->uc_opcode != CODA_CLOSE && \
(r)->uc_opcode != CODA_STORE && \
(r)->uc_opcode != CODA_RELEASE) || \
(r)->uc_flags & CODA_REQ_READ))

Definition at line 602 of file upcall.c.

#define INSIZE (   tag)    sizeof(struct coda_ ## tag ## _in)

Definition at line 68 of file upcall.c.

#define OUTSIZE (   tag)    sizeof(struct coda_ ## tag ## _out)

Definition at line 69 of file upcall.c.

#define SIZE (   tag)    max_t(unsigned int, INSIZE(tag), OUTSIZE(tag))

Definition at line 70 of file upcall.c.

#define UPARG (   op)
Value:
do {\
inp = (union inputArgs *)alloc_upcall(op, insize); \
if (IS_ERR(inp)) { return PTR_ERR(inp); }\
outp = (union outputArgs *)(inp); \
outsize = insize; \
} while (0)

Definition at line 60 of file upcall.c.

Function Documentation

int coda_downcall ( struct venus_comm vcp,
int  opcode,
union outputArgs out 
)

Definition at line 807 of file upcall.c.

int venus_access ( struct super_block sb,
struct CodaFid fid,
int  mask 
)

Definition at line 456 of file upcall.c.

int venus_close ( struct super_block sb,
struct CodaFid fid,
int  flags,
vuid_t  uid 
)

Definition at line 159 of file upcall.c.

int venus_create ( struct super_block sb,
struct CodaFid dirfid,
const char name,
int  length,
int  excl,
int  mode,
struct CodaFid newfid,
struct coda_vattr attrs 
)

Definition at line 268 of file upcall.c.

int venus_fsync ( struct super_block sb,
struct CodaFid fid 
)

Definition at line 439 of file upcall.c.

int venus_getattr ( struct super_block sb,
struct CodaFid fid,
struct coda_vattr attr 
)

Definition at line 91 of file upcall.c.

int venus_link ( struct super_block sb,
struct CodaFid fid,
struct CodaFid dirfid,
const char name,
int  len 
)

Definition at line 378 of file upcall.c.

int venus_lookup ( struct super_block sb,
struct CodaFid fid,
const char name,
int  length,
int type,
struct CodaFid resfid 
)

Definition at line 129 of file upcall.c.

int venus_mkdir ( struct super_block sb,
struct CodaFid dirfid,
const char name,
int  length,
struct CodaFid newfid,
struct coda_vattr attrs 
)

Definition at line 200 of file upcall.c.

int venus_open ( struct super_block sb,
struct CodaFid fid,
int  flags,
struct file **  fh 
)

Definition at line 179 of file upcall.c.

int venus_pioctl ( struct super_block sb,
struct CodaFid fid,
unsigned int  cmd,
struct PioctlData data 
)

Definition at line 475 of file upcall.c.

int venus_readlink ( struct super_block sb,
struct CodaFid fid,
char buffer,
int length 
)

Definition at line 346 of file upcall.c.

int venus_remove ( struct super_block sb,
struct CodaFid dirfid,
const char name,
int  length 
)

Definition at line 324 of file upcall.c.

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 
)

Definition at line 231 of file upcall.c.

int venus_rmdir ( struct super_block sb,
struct CodaFid dirfid,
const char name,
int  length 
)

Definition at line 301 of file upcall.c.

int venus_rootfid ( struct super_block sb,
struct CodaFid fidp 
)

Definition at line 74 of file upcall.c.

int venus_setattr ( struct super_block sb,
struct CodaFid fid,
struct coda_vattr vattr 
)

Definition at line 110 of file upcall.c.

int venus_statfs ( struct dentry dentry,
struct kstatfs sfs 
)

Definition at line 550 of file upcall.c.

int venus_symlink ( struct super_block sb,
struct CodaFid fid,
const char name,
int  len,
const char symname,
int  symlen 
)

Definition at line 404 of file upcall.c.