diff options
Diffstat (limited to 'include/linux/efs_fs_i.h')
-rw-r--r-- | include/linux/efs_fs_i.h | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/include/linux/efs_fs_i.h b/include/linux/efs_fs_i.h index 60e21fc6f..de55021ad 100644 --- a/include/linux/efs_fs_i.h +++ b/include/linux/efs_fs_i.h @@ -15,18 +15,23 @@ typedef uint32_t efs_ino_t; #define EFS_DIRECTEXTENTS 12 /* - * layout of an extent, in memory and on disk. 8 bytes exactly + * layout of an extent, in memory and on disk. 8 bytes exactly. */ typedef union extent_u { + unsigned char raw[8]; struct extent_s { unsigned int ex_magic:8; /* magic # (zero) */ unsigned int ex_bn:24; /* basic block */ unsigned int ex_length:8; /* numblocks in this extent */ unsigned int ex_offset:24; /* logical offset into file */ } cooked; - unsigned char raw[8]; } efs_extent; +typedef struct edevs { + short odev; + unsigned int ndev; +} efs_devs; + /* * extent based filesystem inode as it appears on disk. The efs inode * is exactly 128 bytes long. @@ -45,8 +50,8 @@ struct efs_dinode { u_char di_version; /* version of inode */ u_char di_spare; /* spare - used by AFS */ union di_addr { - efs_extent di_extents[EFS_DIRECTEXTENTS]; - dev_t di_dev; /* device for IFCHR/IFBLK */ + efs_extent di_extents[EFS_DIRECTEXTENTS]; + efs_devs di_dev; /* device for IFCHR/IFBLK */ } di_u; }; |