afs_int32 refCount; /* Interlocked */
int ucgen; /* ucellp's generation number */
afs_uint32 flags; /* locked by mx */
- int cryptlevel; /* encrytion status */
+ int cryptlevel; /* encryption status */
} cm_conn_t;
#define CM_CONN_FLAG_FORCE_NEW 1
#define CM_CONN_FLAG_REPLICATION 2
+#define CM_CONN_FLAG_NEW 4
/*
* structure used for tracking RPC progress
int tokenError;
int idleError;
int vnovolError;
+ int volbusyCount;
+ int vioCount;
afs_uint32 flags;
clientchar_t * tidPathp;
clientchar_t * relPathp;
#endif
#include "rx.h"
+/*
+ * connp->serverp can be accessed without holding a lock because that
+ * never changes once the connection is created.
+ */
+#define SERVERHAS64BIT(connp) (!((connp)->serverp->flags & CM_SERVERFLAG_NO64BIT))
+#define SET_SERVERHASNO64BIT(connp) (cm_SetServerNo64Bit((connp)->serverp, TRUE))
+
+#define SERVERHASINLINEBULK(connp) (!((connp)->serverp->flags & CM_SERVERFLAG_NOINLINEBULK))
+#define SET_SERVERHASNOINLINEBULK(connp) (cm_SetServerNoInlineBulk((connp)->serverp, TRUE))
+
extern void cm_InitConn(void);
extern void cm_InitReq(cm_req_t *reqp);
extern int cm_Analyze(cm_conn_t *connp, struct cm_user *up, struct cm_req *reqp,
struct cm_fid *fidp, struct cm_cell *cellp,
afs_uint32 storeOp,
+ struct AFSFetchStatus *statusp,
struct AFSVolSync *volInfop,
- cm_serverRef_t * serversp,
+ cm_serverRef_t ** vlServerspp,
struct cm_callbackRequest *cbrp, long code);
extern long cm_ConnByMServers(struct cm_serverRef *, afs_uint32, struct cm_user *,