Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions
nfs4callback.c File Reference
#include <linux/sunrpc/clnt.h>
#include <linux/sunrpc/svc_xprt.h>
#include <linux/slab.h>
#include "nfsd.h"
#include "state.h"

Go to the source code of this file.

Data Structures

struct  nfs4_cb_compound_hdr
 

Macros

#define NFSDDBG_FACILITY   NFSDDBG_PROC
 
#define NFSPROC4_CB_NULL   0
 
#define NFSPROC4_CB_COMPOUND   1
 
#define NFS4_MAXTAGLEN   20
 
#define NFS4_enc_cb_null_sz   0
 
#define NFS4_dec_cb_null_sz   0
 
#define cb_compound_enc_hdr_sz   4
 
#define cb_compound_dec_hdr_sz   (3 + (NFS4_MAXTAGLEN >> 2))
 
#define sessionid_sz   (NFS4_MAX_SESSIONID_LEN >> 2)
 
#define cb_sequence_enc_sz
 
#define cb_sequence_dec_sz   (op_dec_sz + sessionid_sz + 4)
 
#define op_enc_sz   1
 
#define op_dec_sz   2
 
#define enc_nfs4_fh_sz   (1 + (NFS4_FHSIZE >> 2))
 
#define enc_stateid_sz   (NFS4_STATEID_SIZE >> 2)
 
#define NFS4_enc_cb_recall_sz
 
#define NFS4_dec_cb_recall_sz
 
#define PROC(proc, call, argtype, restype)
 
#define NFS4_CALLBACK   0x40000000
 

Enumerations

enum  { NFSPROC4_CLNT_CB_NULL = 0, NFSPROC4_CLNT_CB_RECALL, NFSPROC4_CLNT_CB_SEQUENCE }
 
enum  nfs_cb_opnum4 {
  OP_CB_GETATTR = 3, OP_CB_RECALL = 4, OP_CB_LAYOUTRECALL = 5, OP_CB_NOTIFY = 6,
  OP_CB_PUSH_DELEG = 7, OP_CB_RECALL_ANY = 8, OP_CB_RECALLABLE_OBJ_AVAIL = 9, OP_CB_RECALL_SLOT = 10,
  OP_CB_SEQUENCE = 11, OP_CB_WANTS_CANCELLED = 12, OP_CB_NOTIFY_LOCK = 13, OP_CB_NOTIFY_DEVICEID = 14,
  OP_CB_ILLEGAL = 10044
}
 

Functions

int set_callback_cred (void)
 
void nfsd4_probe_callback (struct nfs4_client *clp)
 
void nfsd4_probe_callback_sync (struct nfs4_client *clp)
 
void nfsd4_change_callback (struct nfs4_client *clp, struct nfs4_cb_conn *conn)
 
int nfsd4_create_callback_queue (void)
 
void nfsd4_destroy_callback_queue (void)
 
void nfsd4_shutdown_callback (struct nfs4_client *clp)
 
void nfsd4_do_callback_rpc (struct work_struct *w)
 
void nfsd4_cb_recall (struct nfs4_delegation *dp)
 

Macro Definition Documentation

#define cb_compound_dec_hdr_sz   (3 + (NFS4_MAXTAGLEN >> 2))

Definition at line 60 of file nfs4callback.c.

#define cb_compound_enc_hdr_sz   4

Definition at line 59 of file nfs4callback.c.

#define cb_sequence_dec_sz   (op_dec_sz + sessionid_sz + 4)

Definition at line 64 of file nfs4callback.c.

#define cb_sequence_enc_sz
Value:
(sessionid_sz + 4 + \
1 /* no referring calls list yet */)

Definition at line 62 of file nfs4callback.c.

#define enc_nfs4_fh_sz   (1 + (NFS4_FHSIZE >> 2))

Definition at line 68 of file nfs4callback.c.

#define enc_stateid_sz   (NFS4_STATEID_SIZE >> 2)

Definition at line 69 of file nfs4callback.c.

#define NFS4_CALLBACK   0x40000000

Definition at line 618 of file nfs4callback.c.

#define NFS4_dec_cb_null_sz   0

Definition at line 58 of file nfs4callback.c.

#define NFS4_dec_cb_recall_sz
Value:
cb_sequence_dec_sz + \
op_dec_sz)

Definition at line 75 of file nfs4callback.c.

#define NFS4_enc_cb_null_sz   0

Definition at line 57 of file nfs4callback.c.

#define NFS4_enc_cb_recall_sz
Value:
cb_sequence_enc_sz + \
enc_nfs4_fh_sz)

Definition at line 70 of file nfs4callback.c.

#define NFS4_MAXTAGLEN   20

Definition at line 55 of file nfs4callback.c.

#define NFSDDBG_FACILITY   NFSDDBG_PROC

Definition at line 40 of file nfs4callback.c.

#define NFSPROC4_CB_COMPOUND   1

Definition at line 45 of file nfs4callback.c.

#define NFSPROC4_CB_NULL   0

Definition at line 44 of file nfs4callback.c.

#define op_dec_sz   2

Definition at line 67 of file nfs4callback.c.

#define op_enc_sz   1

Definition at line 66 of file nfs4callback.c.

#define PROC (   proc,
  call,
  argtype,
  restype 
)
Value:
[NFSPROC4_CLNT_##proc] = { \
.p_proc = NFSPROC4_CB_##call, \
.p_encode = (kxdreproc_t)nfs4_xdr_enc_##argtype, \
.p_decode = (kxdrdproc_t)nfs4_xdr_dec_##restype, \
.p_arglen = NFS4_enc_##argtype##_sz, \
.p_replen = NFS4_dec_##restype##_sz, \
.p_statidx = NFSPROC4_CB_##call, \
.p_name = #proc, \
}

Definition at line 579 of file nfs4callback.c.

#define sessionid_sz   (NFS4_MAX_SESSIONID_LEN >> 2)

Definition at line 61 of file nfs4callback.c.

Enumeration Type Documentation

anonymous enum
Enumerator:
NFSPROC4_CLNT_CB_NULL 
NFSPROC4_CLNT_CB_RECALL 
NFSPROC4_CLNT_CB_SEQUENCE 

Definition at line 49 of file nfs4callback.c.

Enumerator:
OP_CB_GETATTR 
OP_CB_RECALL 
OP_CB_LAYOUTRECALL 
OP_CB_NOTIFY 
OP_CB_PUSH_DELEG 
OP_CB_RECALL_ANY 
OP_CB_RECALLABLE_OBJ_AVAIL 
OP_CB_RECALL_SLOT 
OP_CB_SEQUENCE 
OP_CB_WANTS_CANCELLED 
OP_CB_NOTIFY_LOCK 
OP_CB_NOTIFY_DEVICEID 
OP_CB_ILLEGAL 

Definition at line 122 of file nfs4callback.c.

Function Documentation

void nfsd4_cb_recall ( struct nfs4_delegation dp)

Definition at line 1017 of file nfs4callback.c.

void nfsd4_change_callback ( struct nfs4_client clp,
struct nfs4_cb_conn conn 
)

Definition at line 770 of file nfs4callback.c.

int nfsd4_create_callback_queue ( void  )

Definition at line 903 of file nfs4callback.c.

void nfsd4_destroy_callback_queue ( void  )

Definition at line 911 of file nfs4callback.c.

void nfsd4_do_callback_rpc ( struct work_struct w)

Definition at line 998 of file nfs4callback.c.

void nfsd4_probe_callback ( struct nfs4_client clp)

Definition at line 757 of file nfs4callback.c.

void nfsd4_probe_callback_sync ( struct nfs4_client clp)

Definition at line 764 of file nfs4callback.c.

void nfsd4_shutdown_callback ( struct nfs4_client clp)

Definition at line 917 of file nfs4callback.c.

int set_callback_cred ( void  )

Definition at line 719 of file nfs4callback.c.

Variable Documentation

int errno

Definition at line 198 of file nfs4callback.c.

Definition at line 197 of file nfs4callback.c.