diff options
author | mav <mav@FreeBSD.org> | 2014-03-13 19:26:26 +0000 |
---|---|---|
committer | mav <mav@FreeBSD.org> | 2014-03-13 19:26:26 +0000 |
commit | a99f629278366b03dd62a99c6ec0540e00947d4c (patch) | |
tree | f5b7bcac9543f621b39b6521dccc8727906e774e | |
parent | 017a2624cb132ade718922de0f5448a70b602021 (diff) | |
download | FreeBSD-src-a99f629278366b03dd62a99c6ec0540e00947d4c.zip FreeBSD-src-a99f629278366b03dd62a99c6ec0540e00947d4c.tar.gz |
Report ZVOL block size as GEOM stripesize.
MFC after: 2 weeks
-rw-r--r-- | sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c index 64c97c9..5e50f3f 100644 --- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c +++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c @@ -925,12 +925,16 @@ zvol_open(struct g_provider *pp, int flag, int count) return (SET_ERROR(ENXIO)); } - if (zv->zv_total_opens == 0) + if (zv->zv_total_opens == 0) { err = zvol_first_open(zv); - if (err) { - if (locked) - mutex_exit(&spa_namespace_lock); - return (err); + if (err) { + if (locked) + mutex_exit(&spa_namespace_lock); + return (err); + } + pp->mediasize = zv->zv_volsize; + pp->stripeoffset = 0; + pp->stripesize = zv->zv_volblocksize; } if ((flag & FWRITE) && (zv->zv_flags & ZVOL_RDONLY)) { err = SET_ERROR(EROFS); |