]> git.proxmox.com Git - mirror_zfs.git/blobdiff - module/os/freebsd/zfs/vdev_file.c
vdev_ashift should only be set once
[mirror_zfs.git] / module / os / freebsd / zfs / vdev_file.c
index 4d27751c88933d0612bbdc0a6281a920ce28d24f..cf762c5fd61cfd529f89b1dfd51ae217d6af639b 100644 (file)
@@ -20,7 +20,7 @@
  */
 /*
  * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
- * Copyright (c) 2011, 2016 by Delphix. All rights reserved.
+ * Copyright (c) 2011, 2020 by Delphix. All rights reserved.
  */
 
 #include <sys/zfs_context.h>
@@ -40,6 +40,9 @@
 
 static taskq_t *vdev_file_taskq;
 
+unsigned long vdev_file_logical_ashift = SPA_MINBLOCKSHIFT;
+unsigned long vdev_file_physical_ashift = SPA_MINBLOCKSHIFT;
+
 void
 vdev_file_init(void)
 {
@@ -167,8 +170,8 @@ skip_open:
        }
 
        *max_psize = *psize = zfa.zfa_size;
-       *logical_ashift = SPA_MINBLOCKSHIFT;
-       *physical_ashift = SPA_MINBLOCKSHIFT;
+       *logical_ashift = vdev_file_logical_ashift;
+       *physical_ashift = vdev_file_physical_ashift;
 
        return (0);
 }
@@ -326,3 +329,8 @@ vdev_ops_t vdev_disk_ops = {
 };
 
 #endif
+
+ZFS_MODULE_PARAM(zfs_vdev_file, vdev_file_, logical_ashift, ULONG, ZMOD_RW,
+       "Logical ashift for file-based devices");
+ZFS_MODULE_PARAM(zfs_vdev_file, vdev_file_, physical_ashift, ULONG, ZMOD_RW,
+       "Physical ashift for file-based devices");