NOT FOR MERGING -- requires kernel versioning

Fixes EXTXBSY races.

Signed-off-by: Adam Borowski <kilob...@angband.pl>
---
 cmds-filesystem.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/cmds-filesystem.c b/cmds-filesystem.c
index 30a50bf5..7eb6b7bb 100644
--- a/cmds-filesystem.c
+++ b/cmds-filesystem.c
@@ -876,7 +876,7 @@ static int defrag_callback(const char *fpath, const struct 
stat *sb,
        if ((typeflag == FTW_F) && S_ISREG(sb->st_mode)) {
                if (defrag_global_verbose)
                        printf("%s\n", fpath);
-               fd = open(fpath, O_RDWR);
+               fd = open(fpath, O_RDONLY);
                if (fd < 0) {
                        goto error;
                }
@@ -1012,7 +1012,7 @@ static int cmd_filesystem_defrag(int argc, char **argv)
                int defrag_err = 0;
 
                dirstream = NULL;
-               fd = open_file_or_dir(argv[i], &dirstream);
+               fd = open_file_or_dir3(argv[i], &dirstream, O_RDONLY);
                if (fd < 0) {
                        error("cannot open %s: %m", argv[i]);
                        ret = -errno;
-- 
2.17.0

--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to