mirror of
				https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
				synced 2025-10-31 09:36:25 +00:00 
			
		
		
		
	 1da177e4c3
			
		
	
	
		1da177e4c3
		
	
	
	
	
		
			
			Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip!
		
			
				
	
	
		
			69 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * efs_fs_i.h
 | |
|  *
 | |
|  * Copyright (c) 1999 Al Smith
 | |
|  *
 | |
|  * Portions derived from IRIX header files (c) 1988 Silicon Graphics
 | |
|  */
 | |
| 
 | |
| #ifndef	__EFS_FS_I_H__
 | |
| #define	__EFS_FS_I_H__
 | |
| 
 | |
| typedef	int32_t		efs_block_t;
 | |
| typedef uint32_t	efs_ino_t;
 | |
| 
 | |
| #define	EFS_DIRECTEXTENTS	12
 | |
| 
 | |
| /*
 | |
|  * 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;
 | |
| } efs_extent;
 | |
| 
 | |
| typedef struct edevs {
 | |
| 	__be16		odev;
 | |
| 	__be32		ndev;
 | |
| } efs_devs;
 | |
| 
 | |
| /*
 | |
|  * extent based filesystem inode as it appears on disk.  The efs inode
 | |
|  * is exactly 128 bytes long.
 | |
|  */
 | |
| struct	efs_dinode {
 | |
| 	__be16		di_mode;	/* mode and type of file */
 | |
| 	__be16		di_nlink;	/* number of links to file */
 | |
| 	__be16		di_uid;		/* owner's user id */
 | |
| 	__be16		di_gid;		/* owner's group id */
 | |
| 	__be32		di_size;	/* number of bytes in file */
 | |
| 	__be32		di_atime;	/* time last accessed */
 | |
| 	__be32		di_mtime;	/* time last modified */
 | |
| 	__be32		di_ctime;	/* time created */
 | |
| 	__be32		di_gen;		/* generation number */
 | |
| 	__be16		di_numextents;	/* # of extents */
 | |
| 	u_char		di_version;	/* version of inode */
 | |
| 	u_char		di_spare;	/* spare - used by AFS */
 | |
| 	union di_addr {
 | |
| 		efs_extent	di_extents[EFS_DIRECTEXTENTS];
 | |
| 		efs_devs	di_dev;	/* device for IFCHR/IFBLK */
 | |
| 	} di_u;
 | |
| };
 | |
| 
 | |
| /* efs inode storage in memory */
 | |
| struct efs_inode_info {
 | |
| 	int		numextents;
 | |
| 	int		lastextent;
 | |
| 
 | |
| 	efs_extent	extents[EFS_DIRECTEXTENTS];
 | |
| 	struct inode	vfs_inode;
 | |
| };
 | |
| 
 | |
| #endif	/* __EFS_FS_I_H__ */
 | |
| 
 |