XFS discards more data than it writes

Jun He jhe at cs.wisc.edu
Fri Aug 26 20:45:37 CDT 2016


Hi all,

I find that, with '-o discard', XFS sometimes discards more data than it
writes. This may slow down XFS more on slow-discard SSDs. Also, could
problematic discard implementation lead to data loss?

Setup to reproduce: 
- Linux 4.5.4
- Workload: LevelDB

$ mkfs.xfs  -K -f -s size=4096 -b size=4096 /dev/sdc1
$ mount -o discard /dev/sdc1 /mnt/fsonloop
$ leveldb/db_bench --benchmarks=overwrite --num=3000000 --db=/mnt/fsonloop/leveldb_data0 --threads=1 --use_existing_db=0

I found that XFS discarded ~2.4GB while only wrote ~1.4GB,
by blktrace. (This is not due to the mkfs discarding the
whole disk.)

Some visual https://github.com/junhe/xfs-bug-report/blob/master/xfs-double-discard.png 
Some spaces are discarded twice in this case.

Is it a bug?

Thanks,
Jun




More information about the xfs mailing list