filesystem

Bill Cunningham billcun at suddenlink.net
Tue Aug 26 01:14:58 UTC 2014


----- Original Message ----- 
From: "Bodo Thiesen" <bothie at gmx.de>
To: <ext3-users at redhat.com>
Sent: Monday, August 25, 2014 8:15 PM
Subject: Re: filesystem
> Hello Bill.
[snip]

> You're trying to understand what exactly? From the user point of view,
> dir_index just makes directory accesses on very big directories faster.
> When creating a new file, or searching a file to be opened, without
> dir_index the file system driver has to read each any every directory
> cluster and investigate it's content to figure out, whether an object with
> the given name already exists. With dir_index, there is an additional form
> of sorted tree in the directory, which speeds up this lookup process. Now,
> when you remove that feature and then e2fsck, all those indexes will be
> removed. If you later readd the feature and e2fsck, those indexes get
> recreated.

    I see. Htree kept bieng mentioned. I am guessing that means "hash tree". 
I guess I would like to see all these filesystems, if possible, completely 
backwards reversibile. If you have ext2, simply add a journaling inode. It 
can be removed too.

    Now with ext4, removing "extents" might present much more of a 
difficulty.

>>From the developer point of view, one approach is to read and understand
> the kernel sources for ext2/3/4 or just start writing your own file system
> checker. If you get that right, you've understood the file system ;)
>
> Not much more advice, anyone can give you in a general way.
>
> Features that separate ext2 / ext3 / ext4? Clear answer: There is no ext3
> and ext4. It's all ext2, but there are three independent code bases in the
> Linux kernel, called ext2, ext3 and ext4 - but they all implement ext2.
>
> The fs driver called ext3 needs the feature has_journal, ext2 can't mount
> feature needs_recovery. Despite from this, they are pretty much identical.
>
> The fs driver called ext4 supports some new features, the prominent
> (i.e. documented) ones are: extent (don't store cluster pointers but
> instead cluster ranges - saving space for large files), flex_bg
> (drop the constraint, that group meta data shall be stored in it's own
> group, thus allowing to virtually create bigger groups. Probably you can
> mke2fs one file system with flex_bg, then remove the feature flag and
> perfecly mount and use it with ext2 / ext3, however, e2fsck may get cracy
> on that setup - but I don't see, why the file system drivers should get a
> problem with that - anyways, I didn't test it), uninit_bg (speeds up
> mke2fs by skipping the "overwrite all bitmaps and inode tables with
> zeros" step).
>
> Regards, Bodo

    Yes all those features. I would like to know what they mean. There are 
mount options, ext4 features, ext3 features and some are directly related to 
the journaling inode. I seem to remember something called 
revoke_incompatible or something like that. I've also seen ext3 with no 
features.

    Is there any docs or help for learning ext development?
One can not remove extents can thy. If I am correct they may cross multiple 
files. I have alot to learn. I'm glad this list is open to users. I guess 
anyway.

Cheers,

Bill




More information about the Ext3-users mailing list