On Thu, Dec 06, 2007 at 09:43:27AM +0100, Carsten Otte wrote: > Nick Piggin wrote: > >>Xip does only work, if both do match PAGE_SIZE because it > >>does'nt support multiple calls to direct_access in the get_xip_page > >>address space operation. Thus we check both here, actually this was > >>changed from how it looks after your patch as a bugfix where our > >>tester tried a 4k filesystem on a 2k blockdev. > >>Did I miss something? > > > >However, the bdev block size may be changed with sb_set_blocksize. It > >doesn't actually have to match the hardware sector size -- if this > >does matter for XIP, then I think you need some other check here. > Hmmmmhh. For a bdev with PAGE_SIZE hardsect size, there is no other > valid value then PAGE_SIZE that one could set it to. Or can it indeed > be changed to a value greater then PAGE_SIZE or smaller then hardsect > size? It can't be made smaller (or larger, in current kernels). But you already get all that checking done for you -- both by checking that the filesystem blocksize == PAGE_SIZE, and by the error checking in sb_set_blocksize. After my patch, we can do XIP in a hardsect size < PAGE_SIZE block device -- this seems to be a fine thing to do at least for the ramdisk code. Would this situation be problematic for existing drivers, and if so, in what way? Thanks, Nick - 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