* [RFC] ext3 documentation (lack of) @ 2004-08-18 0:59 Diego Calleja 2004-08-18 6:01 ` Ryan Cumming 0 siblings, 1 reply; 8+ messages in thread From: Diego Calleja @ 2004-08-18 0:59 UTC (permalink / raw) To: linux-kernel Lots of people think that ext3 is very slow. While I'm not claiming that ext3 is the fatest fs in the world, I told some people to look at Documentation/filesystem/ext3.txt and try to tweak it before doing some benchmarks. To my surprise, several ext3 mount options were not documented (not even in the source) except in some sites spread across the internet, so it's not a surprise that lots of people ignores some mount options when doing benchmarks, like the commit interval. This documents commit (or it tries, sorry for my english), groups the journal-related options in the same place of the document and adds other mount options without documenting them (like the ones related to acl, xattr, resizing, reservations, barriers). Hopefully people will explain those better than me. --- stable/Documentation/filesystems/ext3.txt-documentsync 2004-08-18 01:55:48.000000000 +0200 +++ stable/Documentation/filesystems/ext3.txt 2004-08-18 02:54:00.000000000 +0200 @@ -22,6 +22,52 @@ the inode which will represent the ext3 file system's journal file. +noload Don't load the journal on mounting. + +data=journal All data are committed into the journal prior + to being written into the main file system. + +data=ordered (*) All data are forced directly out to the main file + system prior to its metadata being committed to + the journal. + +data=writeback Data ordering is not preserved, data may be + written into the main file system after its + metadata has been committed to the journal. + +commit=nrsec (*) Ext3 can be told to write all its data and metadata + every 'nrsec' seconds. The default value is 5 seconds. + This means that if you lose your power, you will lose, + as much, the latest 5 seconds of work. This default + value (or any low value) will hurt performance, but + it's good for data-safety. Setting it to 0 disables it. + Disabling it or setting it to very large values will + improve performance, + +barrier=?? (*)?? This enables/disables the "journal barrier" + +orlov (*) This enables the new Orlov block allocator. It's enabled + by default. + +oldalloc This disables the Orlov block allocator and enables the + old block allocator. Orlov should have better performance, + we'd like to get some feedback if it's the contrary for + you. + +user_xattr= + +nouser_xattr= + +acl= + +noacl= + +reservation= + +noreservation= + +resize= + bsddf (*) Make 'df' act like BSD. minixdf Make 'df' act like Minix. @@ -30,8 +76,6 @@ debug Extra debugging information is sent to syslog. -noload Don't load the journal on mounting. - errors=remount-ro(*) Remount the filesystem read-only on an error. errors=continue Keep going on a filesystem error. errors=panic Panic and halt the machine if an error occurs. @@ -48,17 +92,6 @@ sb=n Use alternate superblock at this location. -data=journal All data are committed into the journal prior - to being written into the main file system. - -data=ordered (*) All data are forced directly out to the main file - system prior to its metadata being committed to - the journal. - -data=writeback Data ordering is not preserved, data may be - written into the main file system after its - metadata has been committed to the journal. - quota Quota options are currently silently ignored. noquota (see fs/ext3/super.c, line 594) grpquota ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [RFC] ext3 documentation (lack of) 2004-08-18 0:59 [RFC] ext3 documentation (lack of) Diego Calleja @ 2004-08-18 6:01 ` Ryan Cumming 2004-08-18 11:38 ` Diego Calleja 0 siblings, 1 reply; 8+ messages in thread From: Ryan Cumming @ 2004-08-18 6:01 UTC (permalink / raw) To: linux-kernel [-- Attachment #1: Type: text/plain, Size: 1060 bytes --] On Tuesday 17 August 2004 17:59, you wrote: > +commit=nrsec (*) Ext3 can be told to write all its data and metadata > + every 'nrsec' seconds. The default value is 5 seconds. > + This means that if you lose your power, you will lose, > + as much, the latest 5 seconds of work. This default > + value (or any low value) will hurt performance, but > + it's good for data-safety. Setting it to 0 disables it. > + Disabling it or setting it to very large values will > + improve performance, Setting commit to zero doesn't seem to disable it, judging from my local 2.6.8.1-mm1 source. super.c has: case Opt_commit: if (match_int(&args[0], &option)) return 0; if (option < 0) return 0; if (option == 0) option = JBD_DEFAULT_MAX_COMMIT_AGE; sbi->s_commit_interval = HZ * option; break; Where JBD_DEFAULT_COMMIT_AGE is defined to 5 in include/linux/jbd.h. So it seems that setting it to zero will just set it to the default commit interval of 5 seconds. Am I missing something? -Ryan [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [RFC] ext3 documentation (lack of) 2004-08-18 6:01 ` Ryan Cumming @ 2004-08-18 11:38 ` Diego Calleja 2004-08-18 12:24 ` Janusz Dziemidowicz 0 siblings, 1 reply; 8+ messages in thread From: Diego Calleja @ 2004-08-18 11:38 UTC (permalink / raw) To: Ryan Cumming; +Cc: linux-kernel El Tue, 17 Aug 2004 23:01:06 -0700 Ryan Cumming <ryan@spitfire.gotdns.org> escribió: > Setting commit to zero doesn't seem to disable it, judging from my local > 2.6.8.1-mm1 source. Ugh, sure, I just assumed it'd disable it. Anyway, here's a updated version. (It'd be nice if people could provide a description for the rest so we can recollect and submit them) Diego Calleja --- stable/Documentation/filesystems/ext3.txt-documentsync 2004-08-18 01:55:48.000000000 +0200 +++ stable/Documentation/filesystems/ext3.txt 2004-08-18 13:37:37.000000000 +0200 @@ -22,6 +22,54 @@ the inode which will represent the ext3 file system's journal file. +noload Don't load the journal on mounting. + +data=journal All data are committed into the journal prior + to being written into the main file system. + +data=ordered (*) All data are forced directly out to the main file + system prior to its metadata being committed to + the journal. + +data=writeback Data ordering is not preserved, data may be + written into the main file system after its + metadata has been committed to the journal. + +commit=nrsec (*) Ext3 can be told to sync all its data and metadata + every 'nrsec' seconds. The default value is 5 seconds. + This means that if you lose your power, you will lose, + as much, the latest 5 seconds of work (your filesystem + will not be damaged though, thanks to journaling). This + default value (or any low value) will hurt performance, + but it's good for data-safety. Setting it to 0 will + have the same effect than leaving the default 5 sec. + Setting it to very large values will improve + performance. + +barrier=?? (*)?? This enables/disables the "journal barrier" + +orlov (*) This enables the new Orlov block allocator. It's enabled + by default. + +oldalloc This disables the Orlov block allocator and enables the + old block allocator. Orlov should have better performance, + we'd like to get some feedback if it's the contrary for + you. + +user_xattr= + +nouser_xattr= + +acl= + +noacl= + +reservation= + +noreservation= + +resize= + bsddf (*) Make 'df' act like BSD. minixdf Make 'df' act like Minix. @@ -30,8 +78,6 @@ debug Extra debugging information is sent to syslog. -noload Don't load the journal on mounting. - errors=remount-ro(*) Remount the filesystem read-only on an error. errors=continue Keep going on a filesystem error. errors=panic Panic and halt the machine if an error occurs. @@ -48,17 +94,6 @@ sb=n Use alternate superblock at this location. -data=journal All data are committed into the journal prior - to being written into the main file system. - -data=ordered (*) All data are forced directly out to the main file - system prior to its metadata being committed to - the journal. - -data=writeback Data ordering is not preserved, data may be - written into the main file system after its - metadata has been committed to the journal. - quota Quota options are currently silently ignored. noquota (see fs/ext3/super.c, line 594) grpquota ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [RFC] ext3 documentation (lack of) 2004-08-18 11:38 ` Diego Calleja @ 2004-08-18 12:24 ` Janusz Dziemidowicz 2004-08-18 12:59 ` Helge Hafting 2004-08-18 16:42 ` Diego Calleja 0 siblings, 2 replies; 8+ messages in thread From: Janusz Dziemidowicz @ 2004-08-18 12:24 UTC (permalink / raw) To: Diego Calleja; +Cc: linux-kernel On Wed, 18 Aug 2004, Diego Calleja wrote: > (It'd be nice if people could provide a description for the rest so we can > recollect and submit them) AFAIK user_xattr - turns on POSIX Extended attributes nouser_xattr - obvious acl - turns on ACL (Access Control Lists) noacl - obvious However these features are only present in 2.6.x, they are explained in Help during kernel configuration. I'm not sure if acl requires user_xattr to be turned on. I remember that I spent some time looking for a way to enable these on ext2/ext3 :) -- Janusz Dziemidowicz rraptorr@kursor.pl ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [RFC] ext3 documentation (lack of) 2004-08-18 12:24 ` Janusz Dziemidowicz @ 2004-08-18 12:59 ` Helge Hafting 2004-08-18 17:17 ` Andreas Dilger 2004-08-18 16:42 ` Diego Calleja 1 sibling, 1 reply; 8+ messages in thread From: Helge Hafting @ 2004-08-18 12:59 UTC (permalink / raw) To: Janusz Dziemidowicz; +Cc: Diego Calleja, linux-kernel Janusz Dziemidowicz wrote: > AFAIK > user_xattr - turns on POSIX Extended attributes > nouser_xattr - obvious > acl - turns on ACL (Access Control Lists) > noacl - obvious > > However these features are only present in 2.6.x, they are explained > in Help during kernel configuration. I'm not sure if acl requires > user_xattr to be turned on. I remember that I spent some time looking > for a way to enable these on ext2/ext3 :) ACL's does not require use of the user_xattr mount option - I have tested that acl's work on ext3 with only the "acl" option. I guess user_xattr is turned on automatically as needed - you can use the option if you want posix extended attributes without acls. Helge Hafting ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [RFC] ext3 documentation (lack of) 2004-08-18 12:59 ` Helge Hafting @ 2004-08-18 17:17 ` Andreas Dilger 0 siblings, 0 replies; 8+ messages in thread From: Andreas Dilger @ 2004-08-18 17:17 UTC (permalink / raw) To: Helge Hafting; +Cc: Janusz Dziemidowicz, Diego Calleja, linux-kernel [-- Attachment #1: Type: text/plain, Size: 766 bytes --] On Aug 18, 2004 14:59 +0200, Helge Hafting wrote: > ACL's does not require use of the user_xattr mount option - I have tested > that acl's work on ext3 with only the "acl" option. I guess user_xattr is > turned on automatically as needed - you can use the option if you want > posix extended attributes without acls. Actually, user_xattr is entirely unrelated to acls. The user_xattr option is used to enable arbitrary EAs that can be stored by the owner of the file with setfattr and read with getfattr (along with the syscalls for same). The acl support uses "in kernel" EAs that the user cannot modify. Cheers, Andreas -- Andreas Dilger http://sourceforge.net/projects/ext2resize/ http://members.shaw.ca/adilger/ http://members.shaw.ca/golinux/ [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [RFC] ext3 documentation (lack of) 2004-08-18 12:24 ` Janusz Dziemidowicz 2004-08-18 12:59 ` Helge Hafting @ 2004-08-18 16:42 ` Diego Calleja 2004-08-19 9:57 ` Janusz Dziemidowicz 1 sibling, 1 reply; 8+ messages in thread From: Diego Calleja @ 2004-08-18 16:42 UTC (permalink / raw) To: Janusz Dziemidowicz; +Cc: linux-kernel El Wed, 18 Aug 2004 14:24:43 +0200 (CEST) Janusz Dziemidowicz <rraptorr@kursor.pl> escribió: > AFAIK > user_xattr - turns on POSIX Extended attributes > nouser_xattr - obvious > acl - turns on ACL (Access Control Lists) > noacl - obvious Thanks. I've recollected those, explained it a bit (except the barrier bits, I don't really mean what barriers are), and updated ext2 documentation with some of them, and deleted a small comentary about ext3 not being available. unchanged: --- stable/Documentation/filesystems/ext2.txt-document 2004-08-18 18:17:28.000000000 +0200 +++ stable/Documentation/filesystems/ext2.txt 2004-08-18 18:15:45.000000000 +0200 @@ -17,6 +17,33 @@ bsddf (*) Makes `df' act like BSD. minixdf Makes `df' act like Minix. +barrier=1 This enables/disables barriers. barrier=0 disables it, + barrier=1 enables it. + +orlov (*) This enables the new Orlov block allocator. It's + enabled by default. + +oldalloc This disables the Orlov block allocator and + enables the old block allocator. Orlov should + have better performance, we'd like to get some + feedback if it's the contrary for you. + +user_xattr (*) Enables POSIX Extended Attributes. It's enabled by + default, however you need to confifure its support + (CONFIG_EXT2_FS_XATTR). This is neccesary if you want + to use POSIX Acces Control Lists support. You can visit + http://acl.bestbits.at to know more about POSIX Extended + attributes. + +nouser_xattr Disables POSIX Extended Attributes. + +acl (*) Enables POSIX Access Control Lists support. This is + enabled by default, however you need to configure + its support (CONFIG_EXT2_FS_POSIX_ACL). If you want + to know more about ACLs visit http://acl.bestbits.at + +noacl This option disables POSIX Access Control List support. + check=none, nocheck (*) Don't do extra checking of bitmaps on mount (check=normal and check=strict options removed) @@ -336,9 +363,8 @@ the time of the crash, then there is no guarantee of consistency for the blocks in that transaction so they are discarded (which means any filesystem changes they represent are also lost). - -The ext3 code is currently (Apr 2001) available for 2.2 kernels only, -and not yet available for 2.4 kernels. +Check Documentation/filesystems/ext3.txt if you want to read more about +ext3 and journaling. References ========== @@ -349,8 +375,6 @@ Journaling (ext3) ftp://ftp.uk.linux.org/pub/linux/sct/fs/jfs/ Hashed Directories http://kernelnewbies.org/~phillips/htree/ Filesystem Resizing http://ext2resize.sourceforge.net/ -Extended Attributes & -Access Control Lists http://acl.bestbits.at/ Compression (*) http://www.netspace.net.au/~reiter/e2compr/ Implementations for: only in patch2: unchanged: --- stable/Documentation/filesystems/ext3.txt-document 2004-08-18 01:55:48.000000000 +0200 +++ stable/Documentation/filesystems/ext3.txt 2004-08-18 18:15:15.000000000 +0200 @@ -22,6 +22,63 @@ the inode which will represent the ext3 file system's journal file. +noload Don't load the journal on mounting. + +data=journal All data are committed into the journal prior + to being written into the main file system. + +data=ordered (*) All data are forced directly out to the main file + system prior to its metadata being committed to + the journal. + +data=writeback Data ordering is not preserved, data may be + written into the main file system after its + metadata has been committed to the journal. + +commit=nrsec (*) Ext3 can be told to sync all its data and metadata + every 'nrsec' seconds. The default value is 5 seconds. + This means that if you lose your power, you will lose, + as much, the latest 5 seconds of work (your filesystem + will not be damaged though, thanks to journaling). This + default value (or any low value) will hurt performance, + but it's good for data-safety. Setting it to 0 will + have the same effect than leaving the default 5 sec. + Setting it to very large values will improve + performance. + +barrier=1 This enables/disables barriers. barrier=0 disables it, + barrier=1 enables it. + +orlov (*) This enables the new Orlov block allocator. It's enabled + by default. + +oldalloc This disables the Orlov block allocator and enables the + old block allocator. Orlov should have better performance, + we'd like to get some feedback if it's the contrary for + you. + +user_xattr (*) Enables POSIX Extended Attributes. It's enabled by + default, however you need to confifure its support + (CONFIG_EXT3_FS_XATTR). This is neccesary if you want + to use POSIX Acces Control Lists support. You can visit + http://acl.bestbits.at to know more about POSIX Extended + attributes. + +nouser_xattr Disables POSIX Extended Attributes. + +acl (*) Enables POSIX Access Control Lists support. This is + enabled by default, however you need to configure + its support (CONFIG_EXT3_FS_POSIX_ACL). If you want + to know more about ACLs visit http://acl.bestbits.at + +noacl This option disables POSIX Access Control List support. + +reservation + +noreservation + +resize= + bsddf (*) Make 'df' act like BSD. minixdf Make 'df' act like Minix. @@ -30,8 +87,6 @@ debug Extra debugging information is sent to syslog. -noload Don't load the journal on mounting. - errors=remount-ro(*) Remount the filesystem read-only on an error. errors=continue Keep going on a filesystem error. errors=panic Panic and halt the machine if an error occurs. @@ -48,17 +103,6 @@ sb=n Use alternate superblock at this location. -data=journal All data are committed into the journal prior - to being written into the main file system. - -data=ordered (*) All data are forced directly out to the main file - system prior to its metadata being committed to - the journal. - -data=writeback Data ordering is not preserved, data may be - written into the main file system after its - metadata has been committed to the journal. - quota Quota options are currently silently ignored. noquota (see fs/ext3/super.c, line 594) grpquota @@ -114,7 +158,7 @@ ------------- Ext2 partitions can be easily convert to ext3, with `tune2fs -j <dev>`. - Ext3 is fully compatible with Ext2. Ext3 partitions can easily be +Ext3 is fully compatible with Ext2. Ext3 partitions can easily be mounted as Ext2. External Tools ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [RFC] ext3 documentation (lack of) 2004-08-18 16:42 ` Diego Calleja @ 2004-08-19 9:57 ` Janusz Dziemidowicz 0 siblings, 0 replies; 8+ messages in thread From: Janusz Dziemidowicz @ 2004-08-19 9:57 UTC (permalink / raw) To: Diego Calleja; +Cc: linux-kernel On Wed, 18 Aug 2004, Diego Calleja wrote: > Thanks. I've recollected those, explained it a bit (except the barrier bits, > I don't really mean what barriers are), and updated ext2 documentation with > some of them, and deleted a small comentary about ext3 not being available. > +user_xattr (*) Enables POSIX Extended Attributes. It's enabled by > + default, however you need to confifure its support > + (CONFIG_EXT2_FS_XATTR). This is neccesary if you want > + to use POSIX Acces Control Lists support. You can visit > + http://acl.bestbits.at to know more about POSIX Extended > + attributes. > + > +nouser_xattr Disables POSIX Extended Attributes. > + > +acl (*) Enables POSIX Access Control Lists support. This is > + enabled by default, however you need to configure > + its support (CONFIG_EXT2_FS_POSIX_ACL). If you want > + to know more about ACLs visit http://acl.bestbits.at > + > +noacl This option disables POSIX Access Control List support. Hmmm, after a quick look on source code one more clarification. Since 2.4.20 one can set default mount options in ext2/ext3 superblock using tune2fs. If user_xattr or acl is there, then they are enabled by default while mounting such filesystem. However default mount options field in superblock is by default empty, so user_xattr and acl are not enabled by default for most users. Please correct me if I'm wrong. Another thing is that a quick grep for reservation and resize options shows nothing in latest kernel. Are you sure that these options exist? For sure reiserfs has resize option. -- Janusz Dziemidowicz rraptorr@kursor.pl ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2004-08-19 9:58 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2004-08-18 0:59 [RFC] ext3 documentation (lack of) Diego Calleja 2004-08-18 6:01 ` Ryan Cumming 2004-08-18 11:38 ` Diego Calleja 2004-08-18 12:24 ` Janusz Dziemidowicz 2004-08-18 12:59 ` Helge Hafting 2004-08-18 17:17 ` Andreas Dilger 2004-08-18 16:42 ` Diego Calleja 2004-08-19 9:57 ` Janusz Dziemidowicz
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox