mirror of
https://github.com/koverstreet/bcachefs-tools.git
synced 2025-02-23 00:00:02 +03:00
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:
parent
3deb1e0b17
commit
d1def9a4b1
@ -192,7 +192,7 @@ struct block_device *blkdev_get_by_path(const char *path, fmode_t mode,
|
|||||||
if (buffered_fd < 0)
|
if (buffered_fd < 0)
|
||||||
return ERR_PTR(-errno);
|
return ERR_PTR(-errno);
|
||||||
|
|
||||||
fd = open(path, flags);
|
fd = open(path, flags|O_DIRECT);
|
||||||
if (fd < 0)
|
if (fd < 0)
|
||||||
fd = dup(buffered_fd);
|
fd = dup(buffered_fd);
|
||||||
if (fd < 0) {
|
if (fd < 0) {
|
||||||
@ -200,7 +200,7 @@ struct block_device *blkdev_get_by_path(const char *path, fmode_t mode,
|
|||||||
return ERR_PTR(-errno);
|
return ERR_PTR(-errno);
|
||||||
}
|
}
|
||||||
|
|
||||||
sync_fd = open(path, flags|O_SYNC);
|
sync_fd = open(path, flags|O_DIRECT|O_SYNC);
|
||||||
if (sync_fd < 0)
|
if (sync_fd < 0)
|
||||||
sync_fd = open(path, flags|O_SYNC);
|
sync_fd = open(path, flags|O_SYNC);
|
||||||
if (sync_fd < 0) {
|
if (sync_fd < 0) {
|
||||||
|
Loading…
Reference in New Issue
Block a user