Messages in this thread | | | Date | Sat, 10 Jan 2004 09:13:26 +1300 | From | Nigel Cunningham <> | Subject | Re: Swapfiles broken on XFS. |
| |
Hi again.
Perhaps I wasn't clear enough.
Both the page_io and Suspend can cope fine with block size < 4096. The issue is where they get the information from as to how many blocks per page they actually need to use when called brw_page. At the moment, they both assume that i_sb->s_blocksize and blocksize_bits is the place to go. What you're saying sounds right to me. They should both be looking at i_blkbits and i_blksize in the struct inode, shouldn't they? I'll make the change, test and submit a patch to LKML.
Regards,
Nigel
On Sat, 2004-01-10 at 05:16, Christoph Hellwig wrote: > On Fri, Jan 09, 2004 at 04:55:09PM +1300, Nigel Cunningham wrote: > > It appears to me that a swapfile on an XFS filesystem will not work, at > > least some of the time. > > XFS sets s_blocksize to the filesystem blocksize and bdev->bd_block_size / > i_blkbits to the XFS sector size. The first would be 4096 in your > case and the latter 512. We cannot set a bigger device block size because > XFS log writes are in 512b units. > > I don't think the swap code should do any assumptions about any relation > of the above two. -- My work on Software Suspend is graciously brought to you by LinuxFund.org. [unhandled content-type:application/pgp-signature] | |