Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

virtio_blk: VIRTIO_BLK_F_WCE->VIRTIO_BLK_F_FLUSH

Latest virtio spec says the feature bit name is VIRTIO_BLK_F_FLUSH,
VIRTIO_BLK_F_WCE is the legacy name. virtio blk header says exactly the
reverse - fix that and update driver code to match.

Cc: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

+11 -6
+8 -3
drivers/block/virtio_blk.c
··· 477 477 err = virtio_cread_feature(vdev, VIRTIO_BLK_F_CONFIG_WCE, 478 478 struct virtio_blk_config, wce, 479 479 &writeback); 480 + 481 + /* 482 + * If WCE is not configurable and flush is not available, 483 + * assume no writeback cache is in use. 484 + */ 480 485 if (err) 481 - writeback = virtio_has_feature(vdev, VIRTIO_BLK_F_WCE); 486 + writeback = virtio_has_feature(vdev, VIRTIO_BLK_F_FLUSH); 482 487 483 488 return writeback; 484 489 } ··· 838 833 static unsigned int features_legacy[] = { 839 834 VIRTIO_BLK_F_SEG_MAX, VIRTIO_BLK_F_SIZE_MAX, VIRTIO_BLK_F_GEOMETRY, 840 835 VIRTIO_BLK_F_RO, VIRTIO_BLK_F_BLK_SIZE, VIRTIO_BLK_F_SCSI, 841 - VIRTIO_BLK_F_WCE, VIRTIO_BLK_F_TOPOLOGY, VIRTIO_BLK_F_CONFIG_WCE, 836 + VIRTIO_BLK_F_FLUSH, VIRTIO_BLK_F_TOPOLOGY, VIRTIO_BLK_F_CONFIG_WCE, 842 837 VIRTIO_BLK_F_MQ, 843 838 } 844 839 ; 845 840 static unsigned int features[] = { 846 841 VIRTIO_BLK_F_SEG_MAX, VIRTIO_BLK_F_SIZE_MAX, VIRTIO_BLK_F_GEOMETRY, 847 842 VIRTIO_BLK_F_RO, VIRTIO_BLK_F_BLK_SIZE, 848 - VIRTIO_BLK_F_WCE, VIRTIO_BLK_F_TOPOLOGY, VIRTIO_BLK_F_CONFIG_WCE, 843 + VIRTIO_BLK_F_FLUSH, VIRTIO_BLK_F_TOPOLOGY, VIRTIO_BLK_F_CONFIG_WCE, 849 844 VIRTIO_BLK_F_MQ, 850 845 }; 851 846
+3 -3
include/uapi/linux/virtio_blk.h
··· 43 43 #ifndef VIRTIO_BLK_NO_LEGACY 44 44 #define VIRTIO_BLK_F_BARRIER 0 /* Does host support barriers? */ 45 45 #define VIRTIO_BLK_F_SCSI 7 /* Supports scsi command passthru */ 46 - #define VIRTIO_BLK_F_WCE 9 /* Writeback mode enabled after reset */ 46 + #define VIRTIO_BLK_F_FLUSH 9 /* Flush command supported */ 47 47 #define VIRTIO_BLK_F_CONFIG_WCE 11 /* Writeback mode available in config */ 48 48 #ifndef __KERNEL__ 49 - /* Old (deprecated) name for VIRTIO_BLK_F_WCE. */ 50 - #define VIRTIO_BLK_F_FLUSH VIRTIO_BLK_F_WCE 49 + /* Old (deprecated) name for VIRTIO_BLK_F_FLUSH. */ 50 + #define VIRTIO_BLK_F_WCE VIRTIO_BLK_F_FLUSH 51 51 #endif 52 52 #endif /* !VIRTIO_BLK_NO_LEGACY */ 53 53