summaryrefslogtreecommitdiff
path: root/src/os/FileStore.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/os/FileStore.h')
-rw-r--r--src/os/FileStore.h18
1 files changed, 11 insertions, 7 deletions
diff --git a/src/os/FileStore.h b/src/os/FileStore.h
index d5ca2a4c237..00249f274c1 100644
--- a/src/os/FileStore.h
+++ b/src/os/FileStore.h
@@ -40,6 +40,7 @@ using namespace __gnu_cxx;
#include "IndexManager.h"
#include "ObjectMap.h"
#include "SequencerPosition.h"
+#include "FDCache.h"
#include "include/uuid.h"
@@ -198,6 +199,8 @@ private:
friend ostream& operator<<(ostream& out, const OpSequencer& s);
+ Mutex fdcache_lock;
+ FDCache fdcache;
Sequencer default_osr;
deque<OpSequencer*> op_queue;
uint64_t op_queue_len, op_queue_bytes;
@@ -274,13 +277,14 @@ public:
int lfn_find(coll_t cid, const hobject_t& oid, IndexedPath *path);
int lfn_truncate(coll_t cid, const hobject_t& oid, off_t length);
int lfn_stat(coll_t cid, const hobject_t& oid, struct stat *buf);
- int lfn_open(coll_t cid, const hobject_t& oid, int flags, mode_t mode,
- IndexedPath *path);
- int lfn_open(coll_t cid, const hobject_t& oid, int flags, mode_t mode,
- IndexedPath *path, Index *index);
- int lfn_open(coll_t cid, const hobject_t& oid, int flags, mode_t mode);
- int lfn_open(coll_t cid, const hobject_t& oid, int flags);
- void lfn_close(int fd);
+ int lfn_open(
+ coll_t cid,
+ const hobject_t& oid,
+ bool create,
+ FDRef *outfd,
+ IndexedPath *path = 0,
+ Index *index = 0);
+ void lfn_close(FDRef fd);
int lfn_link(coll_t c, coll_t cid, const hobject_t& o) ;
int lfn_unlink(coll_t cid, const hobject_t& o, const SequencerPosition &spos);