summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib/nfs/Connection.cxx4
-rw-r--r--src/storage/plugins/NfsStorage.cxx16
2 files changed, 10 insertions, 10 deletions
diff --git a/src/lib/nfs/Connection.cxx b/src/lib/nfs/Connection.cxx
index cad2da530..33980de3f 100644
--- a/src/lib/nfs/Connection.cxx
+++ b/src/lib/nfs/Connection.cxx
@@ -47,9 +47,9 @@ NfsConnection::CancellableCallback::Stat(nfs_context *ctx,
{
assert(connection.GetEventLoop().IsInside());
- int result = nfs_stat_async(ctx, path, Callback, this);
+ int result = nfs_stat64_async(ctx, path, Callback, this);
if (result < 0)
- throw FormatRuntimeError("nfs_stat_async() failed: %s",
+ throw FormatRuntimeError("nfs_stat64_async() failed: %s",
nfs_get_error(ctx));
}
diff --git a/src/storage/plugins/NfsStorage.cxx b/src/storage/plugins/NfsStorage.cxx
index b2eec24ff..4d82c0415 100644
--- a/src/storage/plugins/NfsStorage.cxx
+++ b/src/storage/plugins/NfsStorage.cxx
@@ -246,19 +246,19 @@ NfsStorage::MapToRelativeUTF8(const char *uri_utf8) const noexcept
}
static void
-Copy(StorageFileInfo &info, const struct stat &st)
+Copy(StorageFileInfo &info, const struct nfs_stat_64 &st)
{
- if (S_ISREG(st.st_mode))
+ if (S_ISREG(st.nfs_mode))
info.type = StorageFileInfo::Type::REGULAR;
- else if (S_ISDIR(st.st_mode))
+ else if (S_ISDIR(st.nfs_mode))
info.type = StorageFileInfo::Type::DIRECTORY;
else
info.type = StorageFileInfo::Type::OTHER;
- info.size = st.st_size;
- info.mtime = st.st_mtime;
- info.device = st.st_dev;
- info.inode = st.st_ino;
+ info.size = st.nfs_size;
+ info.mtime = st.nfs_mtime;
+ info.device = st.nfs_dev;
+ info.inode = st.nfs_ino;
}
class NfsGetInfoOperation final : public BlockingNfsOperation {
@@ -279,7 +279,7 @@ protected:
}
void HandleResult(gcc_unused unsigned status, void *data) override {
- Copy(info, *(const struct stat *)data);
+ Copy(info, *(const struct nfs_stat_64 *)data);
}
};