mirror of
https://git.openafs.org/openafs.git
synced 2025-01-23 01:11:13 +00:00
08db75c196
FIXES 1493 large file support in the fileserver, again
73 lines
1.9 KiB
C
73 lines
1.9 KiB
C
/*
|
|
* Copyright 2000, International Business Machines Corporation and others.
|
|
* All Rights Reserved.
|
|
*
|
|
* This software has been released under the terms of the IBM Public
|
|
* License. For details, see the LICENSE file in the top-level source
|
|
* directory or online at http://www.openafs.org/dl/license10.html
|
|
*/
|
|
|
|
/*
|
|
System: VICE-TWO
|
|
Module: viceinode.h
|
|
Institution: The Information Technology Center, Carnegie-Mellon University
|
|
|
|
*/
|
|
|
|
#ifndef _VICEINODE_H_
|
|
#define _VICEINODE_H_
|
|
|
|
/* The four inode parameters for most inodes (files, directories,
|
|
symbolic links) */
|
|
struct InodeParams {
|
|
VolId volumeId;
|
|
VnodeId vnodeNumber;
|
|
Unique vnodeUniquifier;
|
|
FileVersion inodeDataVersion;
|
|
};
|
|
|
|
/* The four inode parameters for special inodes, i.e. the descriptive
|
|
inodes for a volume */
|
|
struct SpecialInodeParams {
|
|
VolId volumeId;
|
|
VnodeId vnodeNumber; /* this must be INODESPECIAL */
|
|
#ifdef AFS_3DISPARES
|
|
VolId parentId;
|
|
int type;
|
|
#else
|
|
int type;
|
|
VolId parentId;
|
|
#endif
|
|
};
|
|
|
|
/* Structure of individual records output by fsck.
|
|
When VICEMAGIC inodes are created, they are given four parameters;
|
|
these correspond to the params.fsck array of this record.
|
|
*/
|
|
struct ViceInodeInfo {
|
|
Inode inodeNumber;
|
|
afs_fsize_t byteCount;
|
|
int linkCount;
|
|
union {
|
|
bit32 param[4];
|
|
struct InodeParams vnode;
|
|
struct SpecialInodeParams special;
|
|
} u;
|
|
};
|
|
|
|
#ifdef AFS_3DISPARES
|
|
#define INODESPECIAL 0x1fffffff
|
|
#else
|
|
#define INODESPECIAL 0xffffffff
|
|
#endif
|
|
/* Special inode types. Be careful of the ordering. Must start at 1.
|
|
See vutil.h */
|
|
#define VI_VOLINFO 1 /* The basic volume information file */
|
|
#define VI_SMALLINDEX 2 /* The index of small vnodes */
|
|
#define VI_LARGEINDEX 3 /* The index of large vnodes */
|
|
#define VI_ACL 4 /* The volume's access control list */
|
|
#define VI_MOUNTTABLE 5 /* The volume's mount table */
|
|
#define VI_LINKTABLE 6 /* The volume's link counts */
|
|
|
|
#endif /* _VICEINODE_H_ */
|