hmm, on Wed, Dec 08, 2010 at 12:47:06PM +0100, Peter J. Philipp said that
>      -O filesystem-format
>                  Select the filesystem-format.
> 
>                        0    `GOOD_OLD_REV'; this option is primarily used to
>                             build root file systems that can be understood by
>                             old or dumb firmwares for bootstrap.  (default)
>                        1    `DYNAMIC_REV'; various extended (and sometimes
>                             incompatible) features are enabled (though not all
>                             features are supported on OpenBSD).  Currently
>                             only the following features are supported:
> ...<some cut>...
>                                   LARGEFILE    Enable files larger than 2G
>                                                bytes.

you left out the interesting bit :]

                        if (fs->e2fs.e2fs_rev <= E2FS_REV0) {
                                /* Linux automagically upgrades to REV1 here! */
                                return (EFBIG);
                        }

there was a funny chicken-egg problem with this.
the e2fsprogs' mkfs.ext2 does not set 'large_file'
by default either, but as the linux kernel "automagically
upgrades to REV1" whenever a process tries to write a bigger
file for the first time, it is not really a problem.

but naturally, people with linux background trying to use
ext2fs on different systems get to know about this flag after
lot of hair pulling.

i have asked Theodore in the past to enable this feature
by default, but looks like it never happened.

i think it could save a lot of time and sanity if the
openbsd kernel emitted a dmesg when someone tries
to write a bigger file..

Index: ext2fs_inode.c
===================================================================
RCS file: /cvs/src/sys/ufs/ext2fs/ext2fs_inode.c,v
retrieving revision 1.43
diff -u -r1.43 ext2fs_inode.c
--- ext2fs_inode.c      23 Nov 2008 23:52:35 -0000      1.43
+++ ext2fs_inode.c      10 Dec 2010 16:09:33 -0000
@@ -83,6 +83,8 @@

                         if (fs->e2fs.e2fs_rev <= E2FS_REV0) {
                                 /* Linux automagically upgrades to REV1 here! 
*/
+                               log(LOG_NOTICE,
+                                   "ext2fs revision does not support large 
files\n");
                                 return (EFBIG);
                         }
                         if (!(fs->e2fs.e2fs_features_rocompat

-f
-- 
life is lived forwards, but understood backwards.

Reply via email to