Re: [PATCH][RFC] splice support

From: Andrew Morton
Date: Wed Mar 29 2006 - 21:05:57 EST


Linus Torvalds <torvalds@xxxxxxxx> wrote:
>
> > - why is the `flags' arg to sys_splice() unsigned long? Can it be `int'?
>
> flags are always unsigned long, haven't you noticed?

<does `man 2 open', gets confused>

> Besides, they should
> never be signed, if you do bitmasks and shifting on them: "int" is
> strictly worse than "unsigned" when we're talking flags.

Sure, but is there any gain in making flags 64-bit on 64-bit machines when
we cannot use more than 32 bits in there anyway?

> Right now "flags" doesn't do anything at all, and you should just pass in
> zero.

In that case perhaps we should be enforcing flags==0 so that future
flags-using applications will reliably fail on old flags-not-understanding
kernels.

But that won't work if we later define a bit in flags to mean "behave like
old kernels used to". So perhaps we should require that bits 0-15 of
`flags' be zero and not care about bits 16-31.

IOW: it might be best to make `flags' just go away, and add new syscalls in
the future as appropriate.

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