Bug 9423

Summary: new ext4 ioctls, tunables etc undocumented
Product: File System Reporter: Eric Sandeen (sandeen)
Component: ext4Assignee: Mingming Cao (cmm)
Status: RESOLVED CODE_FIX    
Severity: normal CC: tytso
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.24-rc1 Subsystem:
Regression: No Bisected commit-id:

Description Eric Sandeen 2007-11-20 13:23:08 UTC
The various mount options, tunables, proc files, etc in ext4 are largely undocumented.
Comment 1 Mingming Cao 2008-08-22 12:42:41 UTC
Could you re-evaluate this bug? There are some documentation update in latest kernel 2.6.26, please check Documentation/filesystems/ext4.txt and Documentation/filesystems/proc.txt to see if there is  something we should add.  I think we are okay now...

Thanks.
Comment 2 Eric Sandeen 2008-08-22 21:13:33 UTC
Well, let's see.

For the proc files, technically they are documented in proc.txt (though I'd probably rather move them to filesystems/ext4.txt?)

But, they could use some work; for example these are not very clear:

order2_req:
Multiblock allocator use  2^N search using buddies only for requests greater
than or equal to order2_req. The request size is specfied in file system
blocks. A value of 2 indicate only if the requests are greater than or equal
to 4 blocks.

stream_req:
Files smaller than stream_req are served by the stream allocator, whose
purpose is to pack requests as close each to other as possible to
produce smooth I/O traffic. Avalue of 16 indicate that file smaller than 16
filesystem block size will use group based preallocation.

I can see if I can do some editing either for clarity or grammar/spelling ...

from fs/ext4/super.c, we're now up to 57 mount options:

abort           delalloc              journal_dev=%u  nogrpid        resize
acl             errors=continue       journal=%u      noload         resuid=%u
barrier=%u      errors=panic          journal=update  nomballoc      sb=%u
bh              errors=remount-ro     jqfmt=vfsold    noquota        stripe=%u
bsddf           extents               jqfmt=vfsv0     noreservation  sysvgroups
bsdgroups       grpid                 mballoc         nouid32        user_xattr
check=none      grpjquota=            minixdf         nouser_xattr   usrjquota=
commit=%u       grpjquota=%s          noacl           oldalloc       usrjquota=%s
data=journal    grpquota              nobh            orlov          usrquota
data=ordered    i_version             nocheck         quota
data=writeback  journal_async_commit  nodelalloc      reservation
debug           journal_checksum      noextents       resgid=%u

... most of these actually are documented, but not these:

nouid32 not found
abort not found
usrjquota not found
usrjquota not found
grpjquota not found
grpjquota not found
jqfmt not found
jqfmt not found
i_version not found
resize not found

for ioctls, I suppose EXT4_IOC_MIGRATE is the only new one, but I'm not certain if any of them are documented anywhere?

-Eric
Comment 3 Theodore Tso 2011-02-28 01:26:26 UTC
Patch added to ext4 patch queue to fix/update documentation.