Re: [GIT PULL] ocfs2 changes for 2.6.32

George Spelvin
2009-09-22T00:51:42Z

> 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)

Um, could I strongly suggest that flags == 0 be the "succeed if at all
possible case", and various options limit it.

In particular, invert ALLOW_COW_SHARED to REQUIRE_ALLOCATE.

Another possibly useful flag would be REQUIRE_OPTIMIZED.
I.e. if it's not appreciably faster than a read/write loop, perhaps
the application would prefer to do it itself.

We also have to define the error code to return in case of a flag
violation. ENOTSUP?