On Tue, Mar 3, 2015 at 5:47 PM, Al Viro <viro@xxxxxxxxxxxxxxxxxx> wrote: > On Tue, Mar 03, 2015 at 05:37:31PM -0800, Gwendal Grignou wrote: >> At least, to base the device format on whether we are running on a 32 >> bit or 64 bit architecture does not make sense. > > Yes, it does. Note that on 32bit ones stat64(2) *will* return an arbitrary > value. On 64bit ones stat(2) will. I see, we - just - have to replace stat() calls with stat64(). It will work because on 64bit architecture, both stat and stat64 map to sys_newstat and on 32 bits, stat64 maps to sys_stat64 which does the right thing. It is a little like we are now using BLKGETSIZE64 instead of BLKGETSIZE because disks can be larger than 2TB. > >> If a tool calling stat(2) can not handle 12 bit major/20 bits minor, >> it would already break or about to break when running on a 64 bit >> machine. >> >> Regarding SCSI, the 17th disk will use SCSI_DISK1_MAJOR (65). Only the >> 257th disk will use the first scsi major (8) again and need a minor >> greater than 256. (see sd_major() in drivers/scsi/sd.c for details). > > *nod* > > It's been years since I last looked at sd.c, TBH... > > Said that, with NFS it's definitely a minor per superblock, and it's not the > only set_anon_super() user. Having a bunch of filesystems mounted over NFS > will suffice... or a bunch of ISCSI targets. Thanks for your insight, Gwendal. -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html