OSDN Git Service

block/raw-posix: Fix disk corruption in try_fiemap
authorTony Breeds <tony@bakeyournoodle.com>
Thu, 25 Sep 2014 23:14:11 +0000 (09:14 +1000)
committerKevin Wolf <kwolf@redhat.com>
Mon, 20 Oct 2014 11:41:26 +0000 (13:41 +0200)
commit38c4d0aea3e1264c86e282d99560330adf2b6e25
treee5e04dcee260d4efe0b352e66f1d7f6ea6c0b83e
parentd8bb71b6227366c188595b91c24a58c9b06e46dd
block/raw-posix: Fix disk corruption in try_fiemap

Using fiemap without FIEMAP_FLAG_SYNC is a known corrupter.

Add the FIEMAP_FLAG_SYNC flag to the FS_IOC_FIEMAP ioctl.  This has
the downside of significantly reducing performance.

Reported-By: Michael Steffens <michael_steffens@posteo.de>
Signed-off-by: Tony Breeds <tony@bakeyournoodle.com>
Cc: Kevin Wolf <kwolf@redhat.com>
Cc: Markus Armbruster <armbru@redhat.com>
Cc: Stefan Hajnoczi <stefanha@redhat.com>
Cc: Max Reitz <mreitz@redhat.com>
Cc: Pádraig Brady <pbrady@redhat.com>
Cc: Eric Blake <eblake@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
block/raw-posix.c