diff -urN linux-2.5.75/drivers/block/ioctl.c linux-2.5.75-patched/drivers/block/ioctl.c --- linux-2.5.75/drivers/block/ioctl.c 2003-07-10 14:04:46.000000000 -0600 +++ linux-2.5.75-patched/drivers/block/ioctl.c 2003-07-12 16:35:27.421331789 -0600 @@ -166,13 +166,11 @@ return -EINVAL; if (get_user(n, (int *) arg)) return -EFAULT; - if (n > PAGE_SIZE || n < 512 || (n & (n - 1))) - return -EINVAL; if (bd_claim(bdev, &holder) < 0) return -EBUSY; - set_blocksize(bdev, n); + ret = set_blocksize(bdev, n); bd_release(bdev); - return 0; + return ret; case BLKPG: return blkpg_ioctl(bdev, (struct blkpg_ioctl_arg *) arg); case BLKRRPART: