--- reiserfsprogs-3.6.13/lib/misc.c.blkgetsiz64 2004-05-18 16:50:47.000000000 +0200 +++ reiserfsprogs-3.6.13/lib/misc.c 2004-05-18 16:53:19.000000000 +0200 @@ -463,7 +463,13 @@ } #if defined(__linux__) && defined(_IOR) && !defined(BLKGETSIZE64) -# define BLKGETSIZE64 _IOR(0x12, 114, __u64) +/* Note! Despite this call being called with *64, it must be encoded to + * return only sizeof(size_t), since in earlier kernel versions it was + * declared _IOR(0x12, 114, sizeof(u64)), making it use sizeof(sizeof(u64)). + * + * However, the call itself does always return 64bit! + */ +# define BLKGETSIZE64 _IOR(0x12, 114, size_t) #endif /* To not have problem with last sectors on the block device when switching