Merge branch 'linux-kernel-disk' into refs/top-bases/linux-zfs-branch

This commit is contained in:
Brian Behlendorf 2009-12-11 12:08:08 -08:00
commit f73c310efd
2 changed files with 12 additions and 4 deletions

View File

@ -689,7 +689,7 @@ dmu_req_copy(void *arg_buf, int size, int *offset, struct request *req)
rq_for_each_segment(bv, req, iter) { rq_for_each_segment(bv, req, iter) {
/* Fully consumed the passed arg_buf */ /* Fully consumed the passed arg_buf */
ASSERT3S(offset, <=, size); ASSERT3S(*offset, <=, size);
if (size == *offset) if (size == *offset)
break; break;

View File

@ -213,7 +213,7 @@ zvol_check_volsize(uint64_t volsize, uint64_t blocksize)
return (EINVAL); return (EINVAL);
#ifdef _ILP32 #ifdef _ILP32
if (volsize - 1 > SPEC_MAXOFFSET_T) if (volsize - 1 > MAXOFFSET_T)
return (EOVERFLOW); return (EOVERFLOW);
#endif #endif
return (0); return (0);
@ -225,6 +225,7 @@ zvol_check_volsize(uint64_t volsize, uint64_t blocksize)
static int static int
zvol_update_volsize(zvol_state_t *zv, uint64_t volsize) zvol_update_volsize(zvol_state_t *zv, uint64_t volsize)
{ {
struct block_device *bdev;
dmu_tx_t *tx; dmu_tx_t *tx;
int error; int error;
@ -252,9 +253,16 @@ zvol_update_volsize(zvol_state_t *zv, uint64_t volsize)
zv->zv_volsize = volsize; zv->zv_volsize = volsize;
zv->zv_changed = 1; zv->zv_changed = 1;
error = revalidate_disk(zv->zv_disk);
return (error); bdev = bdget_disk(zv->zv_disk, 0);
if (!bdev)
return EIO;
error = check_disk_change(bdev);
ASSERT3U(error, !=, 0);
bdput(bdev);
return (0);
} }
/* /*