Lately I have been encaged at other activities, and haven't
   had time to check upon VFS layer happenings.

On Wed, Feb 09, 2000 at 11:31:03AM -0500, Matthew Wilcox wrote:
> Greetings.  Ted Ts'o recently hosted an ext2 puffinfest where we
> discussed the future of the VFS and ext2.  Ben LaHaise, Phil Schwan,
...
   Add  pathconf()  to the VFS.  Right now the peeks I have had at
   2.3 series do show that people do WRONG things with  O_LARGEFILE
   flag bit per what the LFS semantics are telling.r

   The filesystem must be able to pass to the VFS what capabilities
   given file/directory has -- like can filesizes exceeding 2G be
   used at all...  (EXT2, UFS, NFSv3 can, MINIX et.al. can't..)
   (And filenamesizes supported at directories, and...)

   These don't look right even at egrep tersenes:  (2.3.42)

[root@mea linux]# egrep O_LARGEFILE $cc
./fs/open.c:    flags |= O_LARGEFILE;
./fs/ext2/file.c: * the caller didn't specify O_LARGEFILE.  On 64bit systems we force
./fs/ext2/file.c:       if (inode->u.ext2_i.i_high_size && !(filp->f_flags & 
O_LARGEFILE))
./fs/udf/file.c: *  On 64 bit systems we force on O_LARGEFILE in sys_open.
./fs/udf/file.c:        if ((inode->i_size & 0xFFFFFFFF00000000UL) && !(filp->f_flags 
& O_LARGEFILE))
./arch/sparc64/kernel/sys_sparc32.c: * not force O_LARGEFILE on.
./arch/sparc64/solaris/fs.c:    if (flags & 0x2000) fl |= O_LARGEFILE;

   The limit at 32-bit systems is 2G, not 4G, and NO kernel space system
   shall (aside of sys_open64() syscall)  set that flag.  (Which I think
   the sparc64/solaris thing does.)

   The tests of file open at EXT2 and UDF (?!) should, I think, be
   conditionalized under a wrapper of:
     #if BITS_PER_LONG == 32
      ...
     #endif

   Sigh, so much to do, so little time for kernel hacking...

/Matti Aarnio <[EMAIL PROTECTED]>

Reply via email to