Bug #16654
closedthe option 'rbd_cache_writethrough_until_flush=true' dosn't work
0%
Description
Env: my ceph cluster with 252 SATA osds. the test VM kernerl version is ' 3.13.0-86-generic'
test cmd: sudo fio -name iops -rw=randwrite -bs=4k -direct=1 -thread -runtime=60 -iodepth 32 -filename /dev/vdb -ioengine=libaio
Test steps:
1. Test in the VM with 'rbd_cache_writethrough_until_flush=false' , the randwrite IOPS is 1000
2. Test in the VM with 'rbd_cache_writethrough_until_flush=true' , the randwrite IOPS is 3000
3. Test in the VM with 'rbd_cache_writethrough_until_flush=true' ,and excute 'sync' cmd to get a OS flush . but the randwrite iops is still IOPS.
So it looks like the rbd cache didn't switch from the writethrough to writeback mode .
rbd cache writethrough until flush
Description: Start out in write-through mode, and switch to write-back after the first flush request is received. Enabling this is a conservative but safe setting in case VMs running on rbd are too old to send flushes, like the virtio driver in Linux before 2.6.32.
Type: Boolean
Required: No
Default: true