mirror of
https://github.com/mhx/dwarfs.git
synced 2025-09-10 13:04:15 -04:00
refactor: drop uid_t / gid_t types everywhere
This commit is contained in:
parent
404d89908c
commit
aa5f37bb99
@ -124,12 +124,13 @@ class filesystem_v2 {
|
||||
|
||||
file_stat getattr(inode_view entry) const { return impl_->getattr(entry); }
|
||||
|
||||
int access(inode_view entry, int mode, uid_t uid, gid_t gid) const {
|
||||
int access(inode_view entry, int mode, file_stat::uid_type uid,
|
||||
file_stat::gid_type gid) const {
|
||||
return impl_->access(entry, mode, uid, gid);
|
||||
}
|
||||
|
||||
void access(inode_view entry, int mode, uid_t uid, gid_t gid,
|
||||
std::error_code& ec) const {
|
||||
void access(inode_view entry, int mode, file_stat::uid_type uid,
|
||||
file_stat::gid_type gid, std::error_code& ec) const {
|
||||
impl_->access(entry, mode, uid, gid, ec);
|
||||
}
|
||||
|
||||
@ -252,10 +253,10 @@ class filesystem_v2 {
|
||||
virtual int getattr(inode_view entry, file_stat* stbuf) const = 0;
|
||||
virtual file_stat getattr(inode_view entry, std::error_code& ec) const = 0;
|
||||
virtual file_stat getattr(inode_view entry) const = 0;
|
||||
virtual int
|
||||
access(inode_view entry, int mode, uid_t uid, gid_t gid) const = 0;
|
||||
virtual void access(inode_view entry, int mode, uid_t uid, gid_t gid,
|
||||
std::error_code& ec) const = 0;
|
||||
virtual int access(inode_view entry, int mode, file_stat::uid_type uid,
|
||||
file_stat::gid_type gid) const = 0;
|
||||
virtual void access(inode_view entry, int mode, file_stat::uid_type uid,
|
||||
file_stat::gid_type gid, std::error_code& ec) const = 0;
|
||||
virtual std::optional<directory_view> opendir(inode_view entry) const = 0;
|
||||
virtual std::optional<std::pair<inode_view, std::string>>
|
||||
readdir(directory_view dir, size_t offset) const = 0;
|
||||
|
@ -120,7 +120,8 @@ class metadata_v2 {
|
||||
|
||||
size_t dirsize(directory_view dir) const { return impl_->dirsize(dir); }
|
||||
|
||||
int access(inode_view iv, int mode, uid_t uid, gid_t gid) const {
|
||||
int access(inode_view iv, int mode, file_stat::uid_type uid,
|
||||
file_stat::gid_type gid) const {
|
||||
return impl_->access(iv, mode, uid, gid);
|
||||
}
|
||||
|
||||
@ -198,7 +199,8 @@ class metadata_v2 {
|
||||
|
||||
virtual size_t dirsize(directory_view dir) const = 0;
|
||||
|
||||
virtual int access(inode_view iv, int mode, uid_t uid, gid_t gid) const = 0;
|
||||
virtual int access(inode_view iv, int mode, file_stat::uid_type uid,
|
||||
file_stat::gid_type gid) const = 0;
|
||||
|
||||
virtual int open(inode_view iv) const = 0;
|
||||
|
||||
|
@ -442,9 +442,10 @@ class filesystem_ final : public filesystem_v2::impl {
|
||||
int getattr(inode_view entry, file_stat* stbuf) const override;
|
||||
file_stat getattr(inode_view entry, std::error_code& ec) const override;
|
||||
file_stat getattr(inode_view entry) const override;
|
||||
int access(inode_view entry, int mode, uid_t uid, gid_t gid) const override;
|
||||
void access(inode_view entry, int mode, uid_t uid, gid_t gid,
|
||||
std::error_code& ec) const override;
|
||||
int access(inode_view entry, int mode, file_stat::uid_type uid,
|
||||
file_stat::gid_type gid) const override;
|
||||
void access(inode_view entry, int mode, file_stat::uid_type uid,
|
||||
file_stat::gid_type gid, std::error_code& ec) const override;
|
||||
std::optional<directory_view> opendir(inode_view entry) const override;
|
||||
std::optional<std::pair<inode_view, std::string>>
|
||||
readdir(directory_view dir, size_t offset) const override;
|
||||
@ -1097,15 +1098,18 @@ file_stat filesystem_<LoggerPolicy>::getattr(inode_view entry) const {
|
||||
}
|
||||
|
||||
template <typename LoggerPolicy>
|
||||
int filesystem_<LoggerPolicy>::access(inode_view entry, int mode, uid_t uid,
|
||||
gid_t gid) const {
|
||||
int filesystem_<LoggerPolicy>::access(inode_view entry, int mode,
|
||||
file_stat::uid_type uid,
|
||||
file_stat::gid_type gid) const {
|
||||
PERFMON_CLS_SCOPED_SECTION(access)
|
||||
return meta_.access(entry, mode, uid, gid);
|
||||
}
|
||||
|
||||
template <typename LoggerPolicy>
|
||||
void filesystem_<LoggerPolicy>::access(inode_view entry, int mode, uid_t uid,
|
||||
gid_t gid, std::error_code& ec) const {
|
||||
void filesystem_<LoggerPolicy>::access(inode_view entry, int mode,
|
||||
file_stat::uid_type uid,
|
||||
file_stat::gid_type gid,
|
||||
std::error_code& ec) const {
|
||||
PERFMON_CLS_SCOPED_SECTION(access_ec)
|
||||
call_int_error([&] { return meta_.access(entry, mode, uid, gid); }, ec);
|
||||
}
|
||||
|
@ -494,7 +494,8 @@ class metadata_ final : public metadata_v2::impl {
|
||||
return 2 + dir.entry_count(); // adds '.' and '..', which we fake in ;-)
|
||||
}
|
||||
|
||||
int access(inode_view iv, int mode, uid_t uid, gid_t gid) const override;
|
||||
int access(inode_view iv, int mode, file_stat::uid_type uid,
|
||||
file_stat::gid_type gid) const override;
|
||||
|
||||
int open(inode_view iv) const override;
|
||||
|
||||
@ -1614,8 +1615,9 @@ metadata_<LoggerPolicy>::readdir(directory_view dir, size_t offset) const {
|
||||
}
|
||||
|
||||
template <typename LoggerPolicy>
|
||||
int metadata_<LoggerPolicy>::access(inode_view iv, int mode, uid_t uid,
|
||||
gid_t gid) const {
|
||||
int metadata_<LoggerPolicy>::access(inode_view iv, int mode,
|
||||
file_stat::uid_type uid,
|
||||
file_stat::gid_type gid) const {
|
||||
LOG_DEBUG << fmt::format("access([{}, {:o}, {}, {}], {:o}, {}, {})",
|
||||
iv.inode_num(), iv.mode(), iv.getuid(), iv.getgid(),
|
||||
mode, uid, gid);
|
||||
|
@ -456,7 +456,8 @@ int op_getattr(char const* path, native_stat* st, struct fuse_file_info*) {
|
||||
|
||||
template <typename LogProxy, typename Find>
|
||||
int op_access_common(LogProxy& log_, dwarfs_userdata& userdata, int mode,
|
||||
uid_t uid, gid_t gid, Find const& find) {
|
||||
file_stat::uid_type uid, file_stat::gid_type gid,
|
||||
Find const& find) {
|
||||
return checked_call(log_, [&] {
|
||||
if (auto entry = find()) {
|
||||
return userdata.fs.access(*entry, mode, uid, gid);
|
||||
|
Loading…
x
Reference in New Issue
Block a user