cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

vxfs_olt.h (3067B)


      1/* SPDX-License-Identifier: GPL-2.0-only */
      2/*
      3 * Copyright (c) 2000-2001 Christoph Hellwig.
      4 */
      5#ifndef _VXFS_OLT_H_
      6#define _VXFS_OLT_H_
      7
      8/*
      9 * Veritas filesystem driver - Object Location Table data structures.
     10 *
     11 * This file contains definitions for the Object Location Table used
     12 * by the Veritas Filesystem version 2 and newer.
     13 */
     14
     15
     16/*
     17 * OLT magic number (vxfs_olt->olt_magic).
     18 */
     19#define VXFS_OLT_MAGIC		0xa504FCF5
     20
     21/*
     22 * VxFS OLT entry types.
     23 */
     24enum {
     25	VXFS_OLT_FREE	= 1,
     26	VXFS_OLT_FSHEAD	= 2,
     27	VXFS_OLT_CUT	= 3,
     28	VXFS_OLT_ILIST	= 4,
     29	VXFS_OLT_DEV	= 5,
     30	VXFS_OLT_SB	= 6
     31};
     32
     33/*
     34 * VxFS OLT header.
     35 *
     36 * The Object Location Table header is placed at the beginning of each
     37 * OLT extent.  It is used to fing certain filesystem-wide metadata, e.g.
     38 * the initial inode list, the fileset header or the device configuration.
     39 */
     40struct vxfs_olt {
     41	__fs32		olt_magic;	/* magic number			*/
     42	__fs32		olt_size;	/* size of this entry		*/
     43	__fs32		olt_checksum;	/* checksum of extent		*/
     44	__u32		__unused1;	/* ???				*/
     45	__fs32		olt_mtime;	/* time of last mod. (sec)	*/
     46	__fs32		olt_mutime;	/* time of last mod. (usec)	*/
     47	__fs32		olt_totfree;	/* free space in OLT extent	*/
     48	__fs32		olt_extents[2];	/* addr of this extent, replica	*/
     49	__fs32		olt_esize;	/* size of this extent		*/
     50	__fs32		olt_next[2];    /* addr of next extent, replica	*/
     51	__fs32		olt_nsize;	/* size of next extent		*/
     52	__u32		__unused2;	/* align to 8 byte boundary	*/
     53};
     54
     55/*
     56 * VxFS common OLT entry (on disk).
     57 */
     58struct vxfs_oltcommon {
     59	__fs32		olt_type;	/* type of this record		*/
     60	__fs32		olt_size;	/* size of this record		*/
     61};
     62
     63/*
     64 * VxFS free OLT entry (on disk).
     65 */
     66struct vxfs_oltfree {
     67	__fs32		olt_type;	/* type of this record		*/
     68	__fs32		olt_fsize;	/* size of this free record	*/
     69};
     70
     71/*
     72 * VxFS initial-inode list (on disk).
     73 */
     74struct vxfs_oltilist {
     75	__fs32	olt_type;	/* type of this record		*/
     76	__fs32	olt_size;	/* size of this record		*/
     77	__fs32		olt_iext[2];	/* initial inode list, replica	*/
     78};
     79
     80/*
     81 * Current Usage Table 
     82 */
     83struct vxfs_oltcut {
     84	__fs32		olt_type;	/* type of this record		*/
     85	__fs32		olt_size;	/* size of this record		*/
     86	__fs32		olt_cutino;	/* inode of current usage table	*/
     87	__u8		__pad;		/* unused, 8 byte align		*/
     88};
     89
     90/*
     91 * Inodes containing Superblock, Intent log and OLTs 
     92 */
     93struct vxfs_oltsb {
     94	__fs32		olt_type;	/* type of this record		*/
     95	__fs32		olt_size;	/* size of this record		*/
     96	__fs32		olt_sbino;	/* inode of superblock file	*/
     97	__u32		__unused1;	/* ???				*/
     98	__fs32		olt_logino[2];	/* inode of log file,replica	*/
     99	__fs32		olt_oltino[2];	/* inode of OLT, replica	*/
    100};
    101
    102/*
    103 * Inode containing device configuration + it's replica 
    104 */
    105struct vxfs_oltdev {
    106	__fs32		olt_type;	/* type of this record		*/
    107	__fs32		olt_size;	/* size of this record		*/
    108	__fs32		olt_devino[2];	/* inode of device config files	*/
    109};
    110
    111/*
    112 * Fileset header 
    113 */
    114struct vxfs_oltfshead {
    115	__fs32		olt_type;	/* type number			*/
    116	__fs32		olt_size;	/* size of this record		*/
    117	__fs32		olt_fsino[2];   /* inodes of fileset header	*/
    118};
    119
    120#endif /* _VXFS_OLT_H_ */