]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - fs/nfsd/nfs4layouts.c
GPIO: add single-register GPIO via CREG driver
[linux.git] / fs / nfsd / nfs4layouts.c
index 228faf00a5945397f79c2e97f0566394d6830987..2b36aa037ce03a70e598aea2e0f387168b3806e1 100644 (file)
@@ -133,27 +133,20 @@ void nfsd4_setup_layout_type(struct svc_export *exp)
        if (!(exp->ex_flags & NFSEXP_PNFS))
                return;
 
-       /*
-        * If flex file is configured, use it by default. Otherwise
-        * check if the file system supports exporting a block-like layout.
-        * If the block device supports reservations prefer the SCSI layout,
-        * otherwise advertise the block layout.
-        */
 #ifdef CONFIG_NFSD_FLEXFILELAYOUT
        exp->ex_layout_types |= 1 << LAYOUT_FLEX_FILES;
 #endif
 #ifdef CONFIG_NFSD_BLOCKLAYOUT
-       /* overwrite flex file layout selection if needed */
        if (sb->s_export_op->get_uuid &&
            sb->s_export_op->map_blocks &&
            sb->s_export_op->commit_blocks)
                exp->ex_layout_types |= 1 << LAYOUT_BLOCK_VOLUME;
 #endif
 #ifdef CONFIG_NFSD_SCSILAYOUT
-       /* overwrite block layout selection if needed */
        if (sb->s_export_op->map_blocks &&
            sb->s_export_op->commit_blocks &&
-           sb->s_bdev && sb->s_bdev->bd_disk->fops->pr_ops)
+           sb->s_bdev && sb->s_bdev->bd_disk->fops->pr_ops &&
+               blk_queue_scsi_passthrough(sb->s_bdev->bd_disk->queue))
                exp->ex_layout_types |= 1 << LAYOUT_SCSI;
 #endif
 }