fix
Some checks reported errors
BlockStorage/repertory/pipeline/head Something is wrong with the build of this commit
BlockStorage/repertory_mac/pipeline/head This commit looks good

This commit is contained in:
2025-08-04 22:35:18 -05:00
parent 5916f438ca
commit 28480b1ee5
3 changed files with 45 additions and 29 deletions

View File

@@ -170,7 +170,7 @@ public:
FileInfo *f_info) -> NTSTATUS override; FileInfo *f_info) -> NTSTATUS override;
[[nodiscard]] auto populate_file_info(const std::string &api_path, [[nodiscard]] auto populate_file_info(const std::string &api_path,
remote::f_info &r_info) const remote::file_info &r_info) const
-> api_error override; -> api_error override;
auto Read(PVOID file_node, PVOID file_desc, PVOID buffer, UINT64 offset, auto Read(PVOID file_node, PVOID file_desc, PVOID buffer, UINT64 offset,

View File

@@ -145,18 +145,23 @@ api_error remote_fuse_drive::fsetattr_x_impl(std::string api_path,
attributes.mode = attr->mode; attributes.mode = attr->mode;
attributes.uid = attr->uid; attributes.uid = attr->uid;
attributes.gid = attr->gid; attributes.gid = attr->gid;
attributes.size = attr->size; attributes.size = static_cast<remote::file_size>(attr->size);
attributes.acctime = ((attr->acctime.tv_sec * utils::time::NANOS_PER_SECOND) + attributes.acctime = ((static_cast<remote::file_time>(attr->acctime.tv_sec) *
attr->acctime.tv_nsec); utils::time::NANOS_PER_SECOND) +
attributes.modtime = ((attr->modtime.tv_sec * utils::time::NANOS_PER_SECOND) + static_cast<remote::file_time>(attr->acctime.tv_nsec));
attr->modtime.tv_nsec); attributes.modtime = ((static_cast<remote::file_time>(attr->modtime.tv_sec) *
attributes.crtime = ((attr->crtime.tv_sec * utils::time::NANOS_PER_SECOND) + utils::time::NANOS_PER_SECOND) +
attr->crtime.tv_nsec); static_cast<remote::file_time>(attr->modtime.tv_nsec));
attributes.chgtime = ((attr->chgtime.tv_sec * utils::time::NANOS_PER_SECOND) + attributes.crtime = ((static_cast<remote::file_time>(attr->crtime.tv_sec) *
attr->chgtime.tv_nsec); utils::time::NANOS_PER_SECOND) +
static_cast<remote::file_time>(attr->crtime.tv_nsec));
attributes.chgtime = ((static_cast<remote::file_time>(attr->chgtime.tv_sec) *
utils::time::NANOS_PER_SECOND) +
static_cast<remote::file_time>(attr->chgtime.tv_nsec));
attributes.bkuptime = attributes.bkuptime =
((attr->bkuptime.tv_sec * utils::time::NANOS_PER_SECOND) + ((static_cast<remote::file_time>(attr->bkuptime.tv_sec) *
attr->bkuptime.tv_nsec); utils::time::NANOS_PER_SECOND) +
static_cast<remote::file_time>(attr->bkuptime.tv_nsec));
attributes.flags = attr->flags; attributes.flags = attr->flags;
return utils::to_api_error(remote_instance_->fuse_fsetattr_x( return utils::to_api_error(remote_instance_->fuse_fsetattr_x(
api_path.c_str(), attributes, f_info->fh)); api_path.c_str(), attributes, f_info->fh));
@@ -486,18 +491,23 @@ api_error remote_fuse_drive::setattr_x_impl(std::string api_path,
attributes.mode = attr->mode; attributes.mode = attr->mode;
attributes.uid = attr->uid; attributes.uid = attr->uid;
attributes.gid = attr->gid; attributes.gid = attr->gid;
attributes.size = attr->size; attributes.size = static_cast<remote::file_size>(attr->size);
attributes.acctime = ((attr->acctime.tv_sec * utils::time::NANOS_PER_SECOND) + attributes.acctime = ((static_cast<remote::file_time>(attr->acctime.tv_sec) *
attr->acctime.tv_nsec); utils::time::NANOS_PER_SECOND) +
attributes.modtime = ((attr->modtime.tv_sec * utils::time::NANOS_PER_SECOND) + static_cast<remote::file_time>(attr->acctime.tv_nsec));
attr->modtime.tv_nsec); attributes.modtime = ((static_cast<remote::file_time>(attr->modtime.tv_sec) *
attributes.crtime = ((attr->crtime.tv_sec * utils::time::NANOS_PER_SECOND) + utils::time::NANOS_PER_SECOND) +
attr->crtime.tv_nsec); static_cast<remote::file_time>(attr->modtime.tv_nsec));
attributes.chgtime = ((attr->chgtime.tv_sec * utils::time::NANOS_PER_SECOND) + attributes.crtime = ((static_cast<remote::file_time>(attr->crtime.tv_sec) *
attr->chgtime.tv_nsec); utils::time::NANOS_PER_SECOND) +
static_cast<remote::file_time>(attr->crtime.tv_nsec));
attributes.chgtime = ((static_cast<remote::file_time>(attr->chgtime.tv_sec) *
utils::time::NANOS_PER_SECOND) +
static_cast<remote::file_time>(attr->chgtime.tv_nsec));
attributes.bkuptime = attributes.bkuptime =
((attr->bkuptime.tv_sec * utils::time::NANOS_PER_SECOND) + ((static_cast<remote::file_time>(attr->bkuptime.tv_sec) *
attr->bkuptime.tv_nsec); utils::time::NANOS_PER_SECOND) +
static_cast<remote::file_time>(attr->bkuptime.tv_nsec));
attributes.flags = attr->flags; attributes.flags = attr->flags;
return utils::to_api_error( return utils::to_api_error(
remote_instance_->fuse_setattr_x(api_path.c_str(), attributes)); remote_instance_->fuse_setattr_x(api_path.c_str(), attributes));
@@ -506,7 +516,9 @@ api_error remote_fuse_drive::setattr_x_impl(std::string api_path,
api_error remote_fuse_drive::setbkuptime_impl(std::string api_path, api_error remote_fuse_drive::setbkuptime_impl(std::string api_path,
const struct timespec *bkuptime) { const struct timespec *bkuptime) {
remote::file_time repertory_bkuptime = remote::file_time repertory_bkuptime =
((bkuptime->tv_sec * utils::time::NANOS_PER_SECOND) + bkuptime->tv_nsec); ((static_cast<remote::file_time>(bkuptime->tv_sec) *
utils::time::NANOS_PER_SECOND) +
static_cast<remote::file_time>(bkuptime->tv_nsec));
return utils::to_api_error( return utils::to_api_error(
remote_instance_->fuse_setbkuptime(api_path.c_str(), repertory_bkuptime)); remote_instance_->fuse_setbkuptime(api_path.c_str(), repertory_bkuptime));
} }
@@ -514,7 +526,9 @@ api_error remote_fuse_drive::setbkuptime_impl(std::string api_path,
api_error remote_fuse_drive::setchgtime_impl(std::string api_path, api_error remote_fuse_drive::setchgtime_impl(std::string api_path,
const struct timespec *chgtime) { const struct timespec *chgtime) {
remote::file_time repertory_chgtime = remote::file_time repertory_chgtime =
((chgtime->tv_sec * utils::time::NANOS_PER_SECOND) + chgtime->tv_nsec); ((static_cast<remote::file_time>(chgtime->tv_sec) *
utils::time::NANOS_PER_SECOND) +
static_cast<remote::file_time>(chgtime->tv_nsec));
return utils::to_api_error( return utils::to_api_error(
remote_instance_->fuse_setchgtime(api_path.c_str(), repertory_chgtime)); remote_instance_->fuse_setchgtime(api_path.c_str(), repertory_chgtime));
} }
@@ -522,7 +536,9 @@ api_error remote_fuse_drive::setchgtime_impl(std::string api_path,
api_error remote_fuse_drive::setcrtime_impl(std::string api_path, api_error remote_fuse_drive::setcrtime_impl(std::string api_path,
const struct timespec *crtime) { const struct timespec *crtime) {
remote::file_time repertory_crtime = remote::file_time repertory_crtime =
((crtime->tv_sec * utils::time::NANOS_PER_SECOND) + crtime->tv_nsec); ((static_cast<remote::file_time>(crtime->tv_sec) *
utils::time::NANOS_PER_SECOND) +
static_cast<remote::file_time>(crtime->tv_nsec));
return utils::to_api_error( return utils::to_api_error(
remote_instance_->fuse_setcrtime(api_path.c_str(), repertory_crtime)); remote_instance_->fuse_setcrtime(api_path.c_str(), repertory_crtime));
} }

View File

@@ -813,9 +813,9 @@ auto winfsp_drive::populate_file_info(const std::string &api_path,
api_meta_map meta{}; api_meta_map meta{};
auto ret = provider_.get_item_meta(api_path, meta); auto ret = provider_.get_item_meta(api_path, meta);
if (ret == api_error::success) { if (ret == api_error::success) {
FSP_FSCTL_FILE_INFO info{}; FSP_FSCTL_FILE_INFO f_info{};
populate_file_info(utils::string::to_uint64(meta[META_SIZE]), meta, info); populate_file_info(utils::string::to_uint64(meta[META_SIZE]), meta, f_info);
set_file_info(r_info, info); set_file_info(r_info, f_info);
} }
return ret; return ret;