linux shim: Fix dropped O_DIRECT flag

A recent libbcachefs update accidentally committed a change that dropped
the O_DIRECT flag - we definitely didn't want to do that.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
This commit is contained in:
Kent Overstreet 2023-03-08 10:30:16 -05:00
parent 3deb1e0b17
commit d1def9a4b1

View File

@ -192,7 +192,7 @@ struct block_device *blkdev_get_by_path(const char *path, fmode_t mode,
if (buffered_fd < 0)
return ERR_PTR(-errno);
fd = open(path, flags);
fd = open(path, flags|O_DIRECT);
if (fd < 0)
fd = dup(buffered_fd);
if (fd < 0) {
@ -200,7 +200,7 @@ struct block_device *blkdev_get_by_path(const char *path, fmode_t mode,
return ERR_PTR(-errno);
}
sync_fd = open(path, flags|O_SYNC);
sync_fd = open(path, flags|O_DIRECT|O_SYNC);
if (sync_fd < 0)
sync_fd = open(path, flags|O_SYNC);
if (sync_fd < 0) {