fs/afs/afs_vl.h

Source file repositories/reference/linux-study-clean/fs/afs/afs_vl.h

File Facts

System
Linux kernel
Corpus path
fs/afs/afs_vl.h
Extension
.h
Size
5159 bytes
Lines
139
Domain
Core OS
Bucket
VFS And Filesystem Core
Inferred role
Core OS: implementation source
Status
source implementation candidate

Why This File Exists

Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.

Dependency Surface

Detected Declarations

Annotated Snippet

struct afs_vldbentry {
	char		name[65];		/* name of volume (with NUL char) */
	afs_voltype_t	type;			/* volume type */
	unsigned	num_servers;		/* num servers that hold instances of this vol */
	unsigned	clone_id;		/* cloning ID */

	unsigned	flags;
#define AFS_VLF_RWEXISTS	0x1000		/* R/W volume exists */
#define AFS_VLF_ROEXISTS	0x2000		/* R/O volume exists */
#define AFS_VLF_BACKEXISTS	0x4000		/* backup volume exists */

	afs_volid_t	volume_ids[3];		/* volume IDs */

	struct {
		struct in_addr	addr;		/* server address */
		unsigned	partition;	/* partition ID on this server */
		unsigned	flags;		/* server specific flags */
#define AFS_VLSF_NEWREPSITE	0x0001	/* Ignore all 'non-new' servers */
#define AFS_VLSF_ROVOL		0x0002	/* this server holds a R/O instance of the volume */
#define AFS_VLSF_RWVOL		0x0004	/* this server holds a R/W instance of the volume */
#define AFS_VLSF_BACKVOL	0x0008	/* this server holds a backup instance of the volume */
#define AFS_VLSF_UUID		0x0010	/* This server is referred to by its UUID */
#define AFS_VLSF_DONTUSE	0x0020	/* This server ref should be ignored */
	} servers[8];
};

#define AFS_VLDB_MAXNAMELEN 65


struct afs_ListAddrByAttributes__xdr {
	__be32			Mask;
#define AFS_VLADDR_IPADDR	0x1	/* Match by ->ipaddr */
#define AFS_VLADDR_INDEX	0x2	/* Match by ->index */
#define AFS_VLADDR_UUID		0x4	/* Match by ->uuid */
	__be32			ipaddr;
	__be32			index;
	__be32			spare;
	struct afs_uuid__xdr	uuid;
};

struct afs_uvldbentry__xdr {
	__be32			name[AFS_VLDB_MAXNAMELEN];
	__be32			nServers;
	struct afs_uuid__xdr	serverNumber[AFS_NMAXNSERVERS];
	__be32			serverUnique[AFS_NMAXNSERVERS];
	__be32			serverPartition[AFS_NMAXNSERVERS];
	__be32			serverFlags[AFS_NMAXNSERVERS];
	__be32			volumeId[AFS_MAXTYPES];
	__be32			cloneId;
	__be32			flags;
	__be32			spares1;
	__be32			spares2;
	__be32			spares3;
	__be32			spares4;
	__be32			spares5;
	__be32			spares6;
	__be32			spares7;
	__be32			spares8;
	__be32			spares9;
};

#endif /* AFS_VL_H */

Annotation

Implementation Notes