Re: [GIT PULL] ocfs2 changes for 2.6.32

Linus Torvalds
2009-09-16T04:20:55Z

On Tue, 15 Sep 2009, Joel Becker wrote:
>
> Perhaps ->copyfile takes the following flags:
>
> #define ALLOW_COW_SHARED 0x0001
> #define REQUIRE_COW_SHARED 0x0002
> #define REQUIRE_BASIC_ATTRS 0x0004
> #define REQUIRE_FULL_ATTRS 0x0008
> #define REQUIRE_ATOMIC 0x0010
> #define SNAPSHOT (REQUIRE_COW_SHARED |
> REQUIRE_BASIC_ATTRS |
> REQUIRE_ATOMIC)
> #define SNAPSHOT_PRESERVE (SNAPSHOT | REQUIRE_FULL_ATTRS)
>
> Thus, sys_reflink/sys_snapfile(oldpath, newpath, 0) becomes:
> ...

Yes. The above all sounds sane to me.

I still worry that especially the non-atomic case will want some kind of
partial-copy updates (think graphical file managers that want to show the
progress of the copy), and that (think EINTR and continuing) makes me
think "that could get really complex really quickly", but that's something
that the NFS/SMB people would have to pipe up on. I'm pretty sure the NFS
spec has some kind "partial completion notification" model, I dunno about
SMB.

Linus