summaryrefslogtreecommitdiff
path: root/drivers/md/bcache/journal.h
diff options
context:
space:
mode:
authorKent Overstreet <kmo@daterainc.com>2013-10-24 17:07:04 -0700
committerKent Overstreet <kmo@daterainc.com>2013-11-10 21:56:02 -0800
commita34a8bfd4e6358c646928320d37b0425c0762f8a (patch)
tree650dd57be0460f439551baca3514009b4287bb12 /drivers/md/bcache/journal.h
parentcdd972b164be8fc69f6ee8533c5a07b621da74c7 (diff)
downloadlwn-a34a8bfd4e6358c646928320d37b0425c0762f8a.tar.gz
lwn-a34a8bfd4e6358c646928320d37b0425c0762f8a.zip
bcache: Refactor journalling flow control
Making things less asynchronous that don't need to be - bch_journal() only has to block when the journal or journal entry is full, which is emphatically not a fast path. So make it a normal function that just returns when it finishes, to make the code and control flow easier to follow. Signed-off-by: Kent Overstreet <kmo@daterainc.com>
Diffstat (limited to 'drivers/md/bcache/journal.h')
-rw-r--r--drivers/md/bcache/journal.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/md/bcache/journal.h b/drivers/md/bcache/journal.h
index 3ca93d3d566c..7045e6fd2d5a 100644
--- a/drivers/md/bcache/journal.h
+++ b/drivers/md/bcache/journal.h
@@ -200,8 +200,9 @@ struct journal_device {
struct closure;
struct cache_set;
struct btree_op;
+struct keylist;
-void bch_journal(struct closure *);
+atomic_t *bch_journal(struct cache_set *, struct keylist *, struct closure *);
void bch_journal_next(struct journal *);
void bch_journal_mark(struct cache_set *, struct list_head *);
void bch_journal_meta(struct cache_set *, struct closure *);