summaryrefslogtreecommitdiffstats
path: root/src/os/Journal.h
diff options
context:
space:
mode:
authorSage Weil <sage@newdream.net>2010-01-07 23:35:03 +0100
committerSage Weil <sage@newdream.net>2010-01-25 22:59:56 +0100
commit1cc63ac11a33f97758084a968b06fd62dadf1466 (patch)
tree76bc96eeae05bbc2f8dcbe5435909a433d4783fc /src/os/Journal.h
parentfilestore: refactor applied/committed completions (diff)
downloadceph-1cc63ac11a33f97758084a968b06fd62dadf1466.tar.xz
ceph-1cc63ac11a33f97758084a968b06fd62dadf1466.zip
filejournal: optionally block on full journal
Note that there is deadlock potential here if the thing we're trying to journal is just too big!
Diffstat (limited to 'src/os/Journal.h')
-rw-r--r--src/os/Journal.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/os/Journal.h b/src/os/Journal.h
index b8056dcd15b..26455908cd5 100644
--- a/src/os/Journal.h
+++ b/src/os/Journal.h
@@ -25,16 +25,20 @@ protected:
__u64 fsid;
Finisher *finisher;
Cond *do_sync_cond;
+ bool wait_on_full;
public:
Journal(__u64 f, Finisher *fin, Cond *c=0) : fsid(f), finisher(fin),
- do_sync_cond(c) { }
+ do_sync_cond(c),
+ wait_on_full(false) { }
virtual ~Journal() { }
virtual int create() = 0;
virtual int open(__u64 last_seq) = 0;
virtual void close() = 0;
+ void set_wait_on_full(bool b) { wait_on_full = b; }
+
// writes
virtual bool is_writeable() = 0;
virtual void make_writeable() = 0;