Re: statfs() / statvfs() syscall ballsup...

From: Linus Torvalds (torvalds_at_osdl.org)
Date: 10/10/03

  • Next message: David Howells: "using void variables as linker-script symbol refs"
    Date:	Fri, 10 Oct 2003 10:51:52 -0700 (PDT)
    To: Joel Becker <Joel.Becker@oracle.com>
    
    

    On Fri, 10 Oct 2003, Joel Becker wrote:
    >
    > I know that, I agree with it, and I said as much a few emails
    > past. Linux should refuse to corrupt your data. But you've taken the
    > tack "It is unsafe today, so we should abandon it altogether, never mind
    > fixing it.", which doesn't logically follow.

    No, we've fixed it, the problem is that it ends up being a lot of extra
    complexity that isn't obvious when just initially looking at it. For
    example, just the IO scheduler ended up having serious problems with
    overlapping IO requests. That's in addition to all the issues with
    out-of-sync ordering etc that could cause direct_io reads to bypass
    regular writes and read stuff off the disk that was a potential security
    issue.

    So right now we have extra code and extra complexity (which implies not
    only potential for more bugs, but there are performance worries etc that
    can impact even users that don't need it).

    And these are fundamental problems to DIRECT_IO. Which means that likely
    at some point we will _have_ to actually implement DIRECT_IO entirely
    through the page cache to make sure that it's safe. So my bet is that
    eventually we'll make DIRECT_IO just be an awkward way to do page cache
    manipulation.

    And maybe it works out ok. And we'll clearly have to keep it working. The
    issue is whether there are better interfaces. And I think there are bound
    to be.

                    Linus

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/


  • Next message: David Howells: "using void variables as linker-script symbol refs"

    Relevant Pages

    • RE: why swap at all?
      ... But this doesn't help in this case as the image-file is up to 4,4GB in ... whole which means that it ALONE can fill up the whole cache. ... Real Programmers consider "what you see is what you get" to be just as ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • fastboot, diskstat
      ... that the total time for prefetching + actual boot was only 10% shorter, ... actually cache the pages I touched, ... Also, regarding the directory entries, are they accessed via the buffer ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • Re: statfs() / statvfs() syscall ballsup...
      ... > touching the page will obviously map in and synchronize the result. ... > populated the cache for a directory structure really quickly using it. ... uptodate, so perhaps calling sys_readaheadon a range always causes ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • Re: 2.6.0, cdrom still showing directories after being erased
      ... There's no command to invalidate read cache, ... of the SYNC_CACHE command to flush dirty data to media (which is what LG ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • Re: [pagevec] resize pagevec to O(lg(NR_CPUS))
      ... often taken by the scanner by node local CPUs. ... So I think you wont blow up the cache even with a really big ... with 128 byte cachelines, and you're touching two cachelines per ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)