Thanks for the reply. The "-s size=4096" helped I was able to create
the file system, then mount it and use it. I did however get a
warning still about "cannot set blocksize on block device".
I don't know much about the LVM code, my guess is that
ioctl(... ,BLKBSZSET, ...) is failing, strace would confirm this.
libxfs_device_open () seems to be working with the pre-conceived notion
of assuming block devices of only 512 bytes in size.
if (!readonly && setblksize && (statb.st_mode & S_IFMT) == S_IFBLK)
platform_set_blocksize(fd, path, statb.st_rdev, 512);
This eventually calls to set the blk sz to 512. Since, your volume does
not support less than 4k, it returns EINVAL. I think, libxfs_init should
be modified to take pass on the -s size option to this call so that it
does not happen.
However, I don't see any problem despite this failure. Everything
else should work fine.
Everything seems to be working but I am a bit worried about the
warning message. Following is the message. Any ideas if it is safe
to ignore this or any way to get rid of it?
What does:
blockdev --getbsz /dev/vg_u00/lv_u00
say?
If mkfs.xfs is trying to set a blocksize that already matches the
underlying device, it woudn't be hard to silence the warning by doing
a check before unconditionally setting it, though I don't know that
it's worth it.
|