On Wed, 2016-04-13 at 13:55 -0700, Stephen Hemminger wrote:
> On Tue, 12 Apr 2016 15:22:29 -0700
> Eric Dumazet <eric.duma...@gmail.com> wrote:
> 
> > From: Eric Dumazet <eduma...@google.com>
> > 
> > Lets prepare for a possibility to have 64bit inode numbers for sockets,
> > even if the kernel currently enforces 32bit numbers.
> > 
> > Presumably, if both kernel and userland are 64bit (no 32bit emulation),
> > kernel could switch to 64bit inode numbers soon.
> > 
> > Signed-off-by: Eric Dumazet <eduma...@google.com>
>  
> Why not use ino_t rather than __u64 which is really intended for kernel/user 
> abi.
> Then make code generic on sizeof inode type

Well, maybe because code dealing with ino_t is very often buggy ;)

For example iproute2 makes the assumption an ino_t can be printed using
%lu format. This does not work with a 32bit binary.


static void bpf_info_loop(int *fds, struct bpf_map_aux *aux)
{
        int i, tfd[BPF_MAP_ID_MAX];

        printf("ver: %d\nobj: %s\ndev: %lu\nino: %lu\nmaps: %u\n",
               aux->uds_ver, aux->obj_name, aux->obj_st.st_dev,
               aux->obj_st.st_ino, aux->num_ent);

...

No strong preference from my side.


Reply via email to