Re: [RFC PATCH] vfs: Use 12:20 bit major:minor in stat everywhere

From: Al Viro
Date: Tue Mar 03 2015 - 19:53:56 EST


On Tue, Mar 03, 2015 at 04:37:00PM -0800, Dan Ehrenberg wrote:
> Previously, stat on 32-bit platforms used old-style encoding and
> validation of major-minor pairs, with 8:8 bits. However, dev_t is
> 32-bits on these platforms, and coreutils seems to be treating the
> values as 12:20 new-style values. The only reason to use the old
> version is in the implementation of a legacy filesystem format which
> only has 16 bits of space. Communicating a 12:20 value to userspace
> when sizeof dev_t == 4 can be done on either a 32-bit or 64-bit
> platform.
>
> This patch removes the artificial restriction in major:minor size.
> The only backwards incompatibility which results is sometimes stat
> succeeds if -EOVERFLOW would be returned otherwise. The legacy
> old-style stat call is retained as-is.

Umm... You do realize that coreutils are _very_ far from being the only
userland programs handling the data returned by stat(2), right?

What's to guarantee that your ABI change won't break any of those?
--
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/