diff --git a/ft/ft-ops.cc b/ft/ft-ops.cc index bbe942750ead7cf121c9f7bc968061fa68574382..d61af8716e38e17f878deddd3de04dc833e351c7 100644 --- a/ft/ft-ops.cc +++ b/ft/ft-ops.cc @@ -3593,19 +3593,20 @@ static inline int ft_open_maybe_direct(const char *filename, int oflag, int mode } } +static const mode_t file_mode = S_IRUSR+S_IWUSR+S_IRGRP+S_IWGRP+S_IROTH+S_IWOTH; + // open a file for use by the brt // Requires: File does not exist. static int ft_create_file(FT_HANDLE UU(brt), const char *fname, int *fdp) { - mode_t mode = S_IRWXU|S_IRWXG|S_IRWXO; int r; int fd; int er; - fd = ft_open_maybe_direct(fname, O_RDWR | O_BINARY, mode); + fd = ft_open_maybe_direct(fname, O_RDWR | O_BINARY, file_mode); assert(fd==-1); if ((er = get_maybe_error_errno()) != ENOENT) { return er; } - fd = ft_open_maybe_direct(fname, O_RDWR | O_CREAT | O_BINARY, mode); + fd = ft_open_maybe_direct(fname, O_RDWR | O_CREAT | O_BINARY, file_mode); if (fd==-1) { r = get_error_errno(); return r; @@ -3623,9 +3624,8 @@ static int ft_create_file(FT_HANDLE UU(brt), const char *fname, int *fdp) { // open a file for use by the brt. if the file does not exist, error static int ft_open_file(const char *fname, int *fdp) { - mode_t mode = S_IRWXU|S_IRWXG|S_IRWXO; int fd; - fd = ft_open_maybe_direct(fname, O_RDWR | O_BINARY, mode); + fd = ft_open_maybe_direct(fname, O_RDWR | O_BINARY, file_mode); if (fd==-1) { return get_error_errno(); } @@ -3783,13 +3783,12 @@ ft_handle_open(FT_HANDLE ft_h, const char *fname_in_env, int is_create, int only } if (r==ENOENT && is_create) { did_create = true; - mode_t mode = S_IRWXU|S_IRWXG|S_IRWXO; if (txn) { BYTESTRING bs = { .len=(uint32_t) strlen(fname_in_env), .data = (char*)fname_in_env }; toku_logger_save_rollback_fcreate(txn, reserved_filenum, &bs); // bs is a copy of the fname relative to the environment } txn_created = (bool)(txn!=NULL); - toku_logger_log_fcreate(txn, fname_in_env, reserved_filenum, mode, ft_h->options.flags, ft_h->options.nodesize, ft_h->options.basementnodesize, ft_h->options.compression_method); + toku_logger_log_fcreate(txn, fname_in_env, reserved_filenum, file_mode, ft_h->options.flags, ft_h->options.nodesize, ft_h->options.basementnodesize, ft_h->options.compression_method); r = ft_create_file(ft_h, fname_in_cwd, &fd); if (r) { goto exit; } } diff --git a/ft/ftloader.cc b/ft/ftloader.cc index 79816a0410865a735775b56f3370566678f59a8d..497f3138059fb6ac1fb62bf46360b64e4c6ddbfc 100644 --- a/ft/ftloader.cc +++ b/ft/ftloader.cc @@ -2727,7 +2727,7 @@ static int loader_do_i (FTLOADER bl, if (r) goto error; { - mode_t mode = S_IRWXU|S_IRWXG|S_IRWXO; + mode_t mode = S_IRUSR+S_IWUSR + S_IRGRP+S_IWGRP; int fd = toku_os_open(new_fname, O_RDWR| O_CREAT | O_BINARY, mode); // #2621 if (fd < 0) { r = get_error_errno(); goto error; diff --git a/ft/logger.cc b/ft/logger.cc index 32e8162d250cc92d2f39da72455e2a49ac0bbe0e..198cb51fb39091d3c4de8dfa3d795edc01963cf0 100644 --- a/ft/logger.cc +++ b/ft/logger.cc @@ -730,7 +730,7 @@ static int open_logfile (TOKULOGGER logger) snprintf(fname, fnamelen, "%s/log%012lld.tokulog%d", logger->directory, logger->next_log_file_number, TOKU_LOG_VERSION); long long index = logger->next_log_file_number; if (logger->write_log_files) { - logger->fd = open(fname, O_CREAT+O_WRONLY+O_TRUNC+O_EXCL+O_BINARY, S_IRWXU); + logger->fd = open(fname, O_CREAT+O_WRONLY+O_TRUNC+O_EXCL+O_BINARY, S_IRUSR+S_IWUSR); if (logger->fd==-1) { return get_error_errno(); }