On 2025/4/27 15:17, Gao Xiang wrote:


On 2025/4/27 15:04, Hongbo Li wrote:


On 2025/4/27 10:56, Gao Xiang wrote:

...

diff --git a/lib/blobchunk.c b/lib/blobchunk.c
index e6386d6..301f46a 100644
--- a/lib/blobchunk.c
+++ b/lib/blobchunk.c
@@ -627,7 +627,8 @@ int erofs_blob_init(const char *blobfile_path, erofs_off_t chunksize)
          blobfile = erofs_tmpfile();
          multidev = false;
      } else {
-        blobfile = open(blobfile_path, O_WRONLY | O_BINARY);
+        blobfile = open(blobfile_path, O_WRONLY | O_CREAT |
+                        O_TRUNC | O_BINARY, 0666);
To maintain consistency, is it better to set the default permission to 0644?

I tend to switch all modes to 0666 around the codebase
in the future, since umask(022) will mask them into 0644.

but 0644 can clearly show which permissions are set (the default umask 022 won't change anything). Or if we need to enforce a specific mode, can we umask to 0 at the beginning instead of relying on the default umask?

see fopen(3): https://man7.org/linux/man-pages/man3/fopen.3.html

In short, I'd like to change all 0644 to 0666 since
there is no reason to mask off other permissions
unless umask is also effective.

Or do you have other concerns?


By the way, I have another doubt (just occurred to me when seeing O_TRUNC, though it might be unrelated to this change): the chunk-based format can't be used together with the "--increase" option. Should we add a warning for that?

Why?

Because some formatting options cannot be used in combination (such as --blobdev --chunksize --incremental=xxx in non-tar mode). But this might be outside the scope of this patch.

Perhaps we can add the constraints or some explanation to avoid any misunderstanding later. What's about your opinion?

Thanks,
Hongbo
Thanks,
Gao Xiang


Thanks,
Hongbo

Thanks,
Gao Xiang


Reply via email to