| // Copyright 2019 The Chromium OS Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "smbfs/test_filesystem.h" |
| |
| #include <errno.h> |
| |
| #include <utility> |
| |
| namespace smbfs { |
| namespace { |
| |
| // Kernel attribute cache timeout, in seconds. |
| constexpr double kAttrTimeout = 5.0; |
| |
| } // namespace |
| |
| TestFilesystem::TestFilesystem(uid_t uid, gid_t gid) : uid_(uid), gid_(gid) {} |
| |
| void TestFilesystem::Lookup(std::unique_ptr<EntryRequest> request, |
| fuse_ino_t parent_inode, |
| const std::string& name) { |
| request->ReplyError(ENOENT); |
| } |
| |
| void TestFilesystem::GetAttr(std::unique_ptr<AttrRequest> request, |
| fuse_ino_t inode) { |
| if (inode == FUSE_ROOT_ID) { |
| // Root inode. |
| struct stat stat = {0}; |
| stat.st_ino = inode; |
| stat.st_mode = S_IFDIR | 0755; |
| stat.st_nlink = 1; |
| stat.st_uid = uid_; |
| stat.st_gid = gid_; |
| stat.st_size = 4096; |
| request->ReplyAttr(stat, kAttrTimeout); |
| return; |
| } |
| |
| request->ReplyError(ENOENT); |
| } |
| |
| } // namespace smbfs |