aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/crypto/nx
ModeNameSize
-rw-r--r--Kconfig1757logstatsplainblame
-rw-r--r--Makefile567logstatsplainblame
-rw-r--r--nx-842-powernv.c28038logstatsplainblame
-rw-r--r--nx-842-pseries.c33266logstatsplainblame
-rw-r--r--nx-842.c15190logstatsplainblame
-rw-r--r--nx-842.h6033logstatsplainblame
-rw-r--r--nx-aes-cbc.c4214logstatsplainblame
-rw-r--r--nx-aes-ccm.c15645logstatsplainblame
-rw-r--r--nx-aes-ctr.c4620logstatsplainblame
-rw-r--r--nx-aes-ecb.c4115logstatsplainblame
-rw-r--r--nx-aes-gcm.c14349logstatsplainblame
-rw-r--r--nx-aes-xcbc.c10280logstatsplainblame
-rw-r--r--nx-sha256.c8325logstatsplainblame
-rw-r--r--nx-sha512.c8412logstatsplainblame
-rw-r--r--nx.c24155logstatsplainblame
-rw-r--r--nx.h5420logstatsplainblame
-rw-r--r--nx_csbcpb.h4217logstatsplainblame
-rw-r--r--nx_debugfs.c2901logstatsplainblame
270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355
/*
 * linux/fs/nfs/nfs4_fs.h
 *
 * Copyright (C) 2005 Trond Myklebust
 *
 * NFSv4-specific filesystem definitions and declarations
 */

#ifndef __LINUX_FS_NFS_NFS4_FS_H
#define __LINUX_FS_NFS_NFS4_FS_H

#ifdef CONFIG_NFS_V4

struct idmap;

enum nfs4_client_state {
	NFS4CLNT_MANAGER_RUNNING  = 0,
	NFS4CLNT_CHECK_LEASE,
	NFS4CLNT_LEASE_EXPIRED,
	NFS4CLNT_RECLAIM_REBOOT,
	NFS4CLNT_RECLAIM_NOGRACE,
	NFS4CLNT_DELEGRETURN,
	NFS4CLNT_LAYOUTRECALL,
	NFS4CLNT_SESSION_RESET,
	NFS4CLNT_RECALL_SLOT,
	NFS4CLNT_LEASE_CONFIRM,
	NFS4CLNT_SERVER_SCOPE_MISMATCH,
};

enum nfs4_session_state {
	NFS4_SESSION_INITING,
	NFS4_SESSION_DRAINING,
};

#define NFS4_RENEW_TIMEOUT		0x01
#define NFS4_RENEW_DELEGATION_CB	0x02

struct nfs4_minor_version_ops {
	u32	minor_version;

	int	(*call_sync)(struct rpc_clnt *clnt,
			struct nfs_server *server,
			struct rpc_message *msg,
			struct nfs4_sequence_args *args,
			struct nfs4_sequence_res *res,
			int cache_reply);
	int	(*validate_stateid)(struct nfs_delegation *,
			const nfs4_stateid *);
	int	(*find_root_sec)(struct nfs_server *, struct nfs_fh *,
			struct nfs_fsinfo *);
	const struct nfs4_state_recovery_ops *reboot_recovery_ops;
	const struct nfs4_state_recovery_ops *nograce_recovery_ops;
	const struct nfs4_state_maintenance_ops *state_renewal_ops;
};

struct nfs_unique_id {
	struct rb_node rb_node;
	__u64 id;
};

#define NFS_SEQID_CONFIRMED 1
struct nfs_seqid_counter {
	int owner_id;
	int flags;
	u32 counter;
	spinlock_t lock;		/* Protects the list */
	struct list_head list;		/* Defines sequence of RPC calls */
	struct rpc_wait_queue	wait;	/* RPC call delay queue */
};

struct nfs_seqid {
	struct nfs_seqid_counter *sequence;
	struct list_head list;
};

static inline void nfs_confirm_seqid(struct nfs_seqid_counter *seqid, int status)
{
	if (seqid_mutating_err(-status))
		seqid->flags |= NFS_SEQID_CONFIRMED;
}

/*
 * NFS4 state_owners and lock_owners are simply labels for ordered
 * sequences of RPC calls. Their sole purpose is to provide once-only
 * semantics by allowing the server to identify replayed requests.
 */