Final Year Project:
Using Linux Filesystems Under Windows
Chris Bryden
BEng. Electronics and Software Engineering
School of Computer Science
University of Birmingham
78
Note that the leftmost octal digit can only take the value of 0 or 1, since
the total number of bits is 16. The type of file is one of:
01 - FIFO file.
02 - Character device.
03 - Directory
06 - Block Device
10 - Regular File
12 - Symbolic Link
14 - Socket
·
=i_uid - The user id of the owner of the file.
·
=i_size - The file size in bytes.
·
=i_atime - The time the file was last accessed.
·
=i_ctime - The time the inode information for the file was last changed.
·
=i_mtime - The time the files content was last modified.
·
=i_dtime - The time the file was deleted.
·
=i_gid - The group id of the file
·
=i_links_count - The number of links pointing to the file.
·
=i_flags - This takes one or more of the folllowing values:
EXT2_SECRM_FL 0x0001 - Secure deletion. If this flag is set, when the file is
deleted random data is written in its place.
EXT2_UNRM_FL 0x0002 - Undelete. If this flag is set and the file is deleted,
the system must store enough information for the file to be recovered
(provided the space taken by the file has not been overwritten).
EXT2_COMPR_FL 0x0004 Compress file. The content of the file is
compressed. The filesystem code must use compression/decompression
algorithms when accessing the file.
EXT2_SYNC_FL 0x0005 - Synchronous Updates - The inode and indirect
blocks are to be written to synchronously only.
Not all of the above features are implemented in the current version of
ext2fs.
·
=i_reserved1 - Not used.
·
=i_block[ EXT2_N_BLOCK ] - Pointers to blocks allocated to the file represented
by this inode.
The inode contains EXT2_N_BLOCKS, this is currently 15. Of these block
addresses, the first EXT2_NDIR_BLOCKS (currently 12) are direct pointers to
data blocks. The following entry points to a block of pointers to data
blocks (indirect blocks). The entry after points to a block of pointers to
blocks of pointers to data blocks (double indirect blocks) and the final
entry points to a block of pointers to blocks of pointers to blocks of
pointers to data blocks (triple indirect blocks).