xfs
[Top] [All Lists]

Re: LVM and XFS cannot set blocksize on block device

To: Shailendra Tripathi <stripathi@xxxxxxxxx>
Subject: Re: LVM and XFS cannot set blocksize on block device
From: Tim Shimmin <tes@xxxxxxx>
Date: Thu, 28 Sep 2006 20:23:43 +1000
Cc: Chris Wedgwood <cw@xxxxxxxx>, Rene Salmon <rsalmon@xxxxxxxxxx>, xfs@xxxxxxxxxxx
In-reply-to: <451A669D.9020503@agami.com>
Organization: SGI
References: <45185424.2030707@tulane.edu> <20060926001737.GA10224@tuatara.stupidest.org> <45193204.3030500@tulane.edu> <20060926224053.GA31542@tuatara.stupidest.org> <451A669D.9020503@agami.com>
Reply-to: tes@xxxxxxx
Sender: xfs-bounce@xxxxxxxxxxx
User-agent: Thunderbird 1.5.0.4 (Macintosh/20060530)
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


<Prev in Thread] Current Thread [Next in Thread>