"blocksize" contains the blocksize of the device here, and
sb->s_blocksize does contain the filesystem block size as saved in the
super block. 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?