Final Year Project:
Using Linux Filesystems Under Windows
Chris Bryden
BEng. Electronics and Software Engineering
School of Computer Science
University of Birmingham
9
subdirectory itself. The inode can then be read from disk and subsequent file
operations performed.
3.3 The Structure of the Second Extended File System
This section intends to provide a reference to the second extended
filesystem, its layout on disk and how this fits together to produce a working
filesystem. The section starts by outlining the different data structures stored on
disk and then shows how these are used to manipulate files. The focus of the
analysis will be on the aspects of the filesystem that are involved in read only
access, as it is these areas that are currently implemented in this project.
The second extended filesystem implements the standard unix file types:
regular files, directories, device special files and symbolic links. It can handle
extremely big partitions, up to 4 Terrabytes with recent work done on the VFS
layer. The long filename support in ext2fs currently limits the filename length to
255 characters, but this could be extended to 1012 if necessary. In addition to
these standard features, ext2fs implements many advanced features such as :
·
=File attributes allow the kernel behaviour, when acting on a set of files, to be
modified by the user. Attributes can be set on a file or directory. In the case of
directory attributes, all files within that directory inherit the attributes.
·
=The logical block size used throughout the filesystem can be modified when
the filesystem is created, sizes are typically 1024, 2048 or 4096 bytes.
·
=Ext2fs keeps track of the filesystem state, a special flag (in the superblock) is
used by the kernel code to indicate the status of the filesystem. When an ext2
filesystem is mounted in read/write mode its state is set to not clean, only if
the filesystem is unmounted correctly is the flag set back to clean. This
allows the kernel to determine whether a filesystem is likely to contain errors
when attempting to mount it so checks can be performed.