Re: LVM and XFS cannot set blocksize on block device

Tim Shimmin
2006-09-28T10:24:53Z

Shailendra Tripathi wrote:
>>> 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.
>
>
Sounds reasonable.
I'll have a look soon at passing the mkfs.xfs -s option thru to libxfs
which is consistent with the existing code.

--Tim