Re: Size of sector_t in userspace [Was: fix 41 'make headers_check' warnings]

From: Jens Axboe
Date: Wed Jan 21 2009 - 03:23:15 EST

On Wed, Jan 21 2009, Sam Ravnborg wrote:
> Hi Jens.
> In an attempt to fix some of the issues in our exported Headers jsr
> encountered some strange stuff in types.h.
> types.h is exported to userspace where we do not have access to CONFIG_*
> symbols.
> Despite this we use CONFGI_LBD to decide the size of sector_t like this:
> #ifdef CONFIG_LBD
> typedef u64 sector_t;
> typedef u64 blkcnt_t;
> #else
> typedef unsigned long sector_t;
> typedef unsigned long blkcnt_t;
> #endif
> But as CONFIG_LBD is never defined in userspace sector_t is now 32
> bit on 32 bit boxes and 64 bit on 64 bit boxes (in userspace).
> Is sector:t (and the companion blkcnt_t) really used by userspace?
> If it is - what size is it expected to have?

I don't think it's used by userspace, at least it cannot be used in
userspace <-> kernelspace interactions, since the size isn't fixed.

Jens Axboe

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at