Re: [PATCH] cowlinks v2

From: Eric W. Biederman (ebiederm_at_xmission.com)
Date: 03/22/04

  • Next message: Russell King: "Re: can device drivers return non-ram via vm_ops->nopage?"
    To: Jörn Engel <joern@wohnheim.fh-wedel.de>
    Date:	21 Mar 2004 17:18:41 -0700
    
    

    Jörn Engel <joern@wohnheim.fh-wedel.de> writes:

    > On Sun, 21 March 2004 09:59:39 -0800, Davide Libenzi wrote:
    > >
    > > When I did that, fumes of an in-kernel implementation invaded my head for
    > > a little while. Then you start thinking that you have to teach apps of new
    > > open(2) semantics, you have to bloat kernel code a little bit and you have
    > > to deal with a new set of errors cases that open(2) is not expected to
    > > deal with. A fully userspace implementation did fit my needs at that time,
    > > even if the LD_PRELOAD trick might break if weak aliases setup for open
    > > functions change inside glibc.
    >
    > 209 fairly simple lines definitely have more appear than a full
    > in-kernel implementation with many new corner-cases, yes. But it
    > looks as if you ignore the -ENOSPC case, so you cheated a little. ;)
    >
    > No matter how you try, there is no way around an additional return
    > code for open(), so we have to break compatibility anyway. The good
    > news is that a) people not using this feature won't notice and b) all
    > programs I tried so far can deal with the problem. Vim even has a
    > decent error message - as if my patch was anticipated already.

    Actually there is... You don't do the copy until an actual write occurs.
    Some files are opened read/write when there is simply the chance they might
    be written to so delaying the copy is generally a win.

    A coworker of mine implemented a version of this idea as a filesystem.
    It did the copy in the kernel, it handled directories, and could be
    used to atomically snapshot your filesystem. The only case that was
    still a little sketchy was how do you handle cow to a file with hard
    links.

    The interesting case for us is when you have multiple machines sharing
    the same root filesystem.

    Eric
    -
    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: Russell King: "Re: can device drivers return non-ram via vm_ops->nopage?"

    Relevant Pages

    • Re: -mm -> 2.6.13 merge status
      ... >> mean that the success rate for crashing kernels is not high enough for ... > other crashdump methods. ... This is not a filesystem but a filesystem + ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • Re: silent semantic changes with reiser4
      ... > Marketed product: a set of hooks, the wider the better, no matter how ... remove these features and make it a "normal" filesystem. ... you changed into a meta directory using ftp and some manage to break ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • Re: silent semantic changes with reiser4
      ... on a sufficiently fast box; don't work when there are ... Remember that the Solaris attribute model is just another filesystem ... inodes that delete themselves when other inodes are changed creep me ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • Re: First impressions of reiserfs4
      ... the sys_statfs64API is broken such that the filesystem can't make ... we can't be guaranteed to fit into the 32-bit f_blocks counts ... Andreas Dilger ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • Re: FYI: dbt testing on 2.6.0-test4-mm4 fails
      ... which patch set seems to have caused a break. ... the direct-io code hasn't changed significantly since February. ... > Which filesystem are you using? ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)