summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/sys/zvol.h3
-rw-r--r--module/zfs/zvol.c2
2 files changed, 4 insertions, 1 deletions
diff --git a/include/sys/zvol.h b/include/sys/zvol.h
index 00ed220d3..2fb20fbf9 100644
--- a/include/sys/zvol.h
+++ b/include/sys/zvol.h
@@ -32,6 +32,9 @@
#define ZVOL_OBJ 1ULL
#define ZVOL_ZAP_OBJ 2ULL
+#define SPEC_MAXOFFSET_T ((1LL << ((NBBY * sizeof (daddr32_t)) + \
+ DEV_BSHIFT - 1)) - 1)
+
extern void *zvol_tag;
extern void zvol_create_minors(spa_t *spa, const char *name, boolean_t async);
diff --git a/module/zfs/zvol.c b/module/zfs/zvol.c
index b5169baf4..ea6997b5b 100644
--- a/module/zfs/zvol.c
+++ b/module/zfs/zvol.c
@@ -281,7 +281,7 @@ zvol_check_volsize(uint64_t volsize, uint64_t blocksize)
return (SET_ERROR(EINVAL));
#ifdef _ILP32
- if (volsize - 1 > MAXOFFSET_T)
+ if (volsize - 1 > SPEC_MAXOFFSET_T)
return (SET_ERROR(EOVERFLOW));
#endif
return (0);