diff options
author | Kent Overstreet <kmo@daterainc.com> | 2013-10-24 17:07:04 -0700 |
---|---|---|
committer | Kent Overstreet <kmo@daterainc.com> | 2013-11-10 21:56:02 -0800 |
commit | a34a8bfd4e6358c646928320d37b0425c0762f8a (patch) | |
tree | 650dd57be0460f439551baca3514009b4287bb12 /drivers/md/bcache/journal.h | |
parent | cdd972b164be8fc69f6ee8533c5a07b621da74c7 (diff) | |
download | lwn-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.h | 3 |
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 *); |