diff --git a/module/os/windows/zfs/zfs_znode.c b/module/os/windows/zfs/zfs_znode.c index f501b3ac162d..999574e8452d 100644 --- a/module/os/windows/zfs/zfs_znode.c +++ b/module/os/windows/zfs/zfs_znode.c @@ -69,6 +69,8 @@ #include #include +#include // spa_min_alloc + #include "zfs_prop.h" #include "zfs_comutil.h" @@ -627,6 +629,10 @@ zfs_znode_alloc(zfsvfs_t *zfsvfs, dmu_buf_t *db, int blksz, if (zp->z_blksz == 0) zp->z_blksz = zfs_blksz(zp); + /* This makes a large difference on 4096 block devices */ + if (zfsvfs->z_os->os_spa->spa_min_alloc > zp->z_blksz) + zp->z_blksz = zfsvfs->z_os->os_spa->spa_min_alloc; + return (zp); }