--- linux-2.5.74-mm2/drivers/block/nbd.c.MINUS_OPEN_RELEASE 2003-07-06 11:36:51.000000000 -0400 +++ linux-2.5.74-mm2/drivers/block/nbd.c 2003-07-06 11:43:54.000000000 -0400 @@ -591,15 +591,21 @@ static int nbd_ioctl(struct inode *inode if ((arg & (arg-1)) || (arg < 512) || (arg > PAGE_SIZE)) return -EINVAL; lo->blksize = arg; - lo->bytesize &= ~(lo->blksize-1); + lo->bytesize &= ~(lo->blksize-1); + inode->i_bdev->bd_inode->i_size = lo->bytesize; + inode->i_bdev->bd_block_size = lo->blksize; set_capacity(lo->disk, lo->bytesize >> 9); return 0; case NBD_SET_SIZE: - lo->bytesize = arg & ~(lo->blksize-1); + lo->bytesize = arg & ~(lo->blksize-1); + inode->i_bdev->bd_inode->i_size = lo->bytesize; + inode->i_bdev->bd_block_size = lo->blksize; set_capacity(lo->disk, lo->bytesize >> 9); return 0; case NBD_SET_SIZE_BLOCKS: lo->bytesize = ((u64) arg) * lo->blksize; + inode->i_bdev->bd_inode->i_size = lo->bytesize; + inode->i_bdev->bd_block_size = lo->blksize; set_capacity(lo->disk, lo->bytesize >> 9); return 0; case NBD_DO_IT: