Re: [PATCH] new system call mknod64

Linus Torvalds
2003-04-21T19:50:33Z

On Mon, 21 Apr 2003 viro@parcelfarce.linux.theplanet.co.uk wrote:
>
> stat() family, ustat(2), quota syscall, ioctls that pass device numbers,
> /dev/raw, RAID, probably process accounting.
>
> FWIW, I believe that you are overestimating the amount of internal code
> that cares about device numbers.

I don't think so. I agree that it's not very many places, and in fact the
reason we currently do _not_ do dev_t replacement at system call boundary
is that it looks to be so rare that it's easier to always use the user
representation, and then always do the explicit MINOR/MAJOR in the places
that use dev_t.

I don't really care which way it is done (ie system call boundary or in
usage), and I'm happy with either - as long as it always _does_ get done,
and nobody ever uses the user representation that can have aliases for
anything important.

(My preference, quite frankly, is to always have major/minor be explicit,
and never deal with "dev_t" at all. Especially with a 64-bit dev_t it is
actually often _faster_ and _simpler_ to just carry major/minor around
explicitly because then gcc won't ever have to worry it's small deficient
brain about "unsigned long long".)

Linus