mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-29 07:04:10 +08:00
Revert "bcache: fix fifo index swapping condition in journal_pin_cmp()"
Coly says:
"Guoju Fang talked to me today, he told me this change was unnecessary
and I was over-thought.
Then I realize fifo_idx() uses a mask to handle the array index overflow
condition, so the index swap in journal_pin_cmp() won't happen. And yes,
Guoju and Kent are correct.
Since you already applied this patch, can you please to remove this
patch from your for-next branch? This single patch does not break
thing, but it is unecessary at this moment."
This reverts commit c0e0954e90
.
Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
97ab474c2d
commit
00b89892c8
@ -528,32 +528,6 @@ static void btree_node_write_work(struct work_struct *w)
|
||||
mutex_unlock(&b->write_lock);
|
||||
}
|
||||
|
||||
/* return true if journal pin 'l' is newer than 'r' */
|
||||
static bool journal_pin_cmp(struct cache_set *c,
|
||||
atomic_t *l,
|
||||
atomic_t *r)
|
||||
{
|
||||
int l_idx, r_idx, f_idx, b_idx;
|
||||
bool ret = false;
|
||||
|
||||
l_idx = fifo_idx(&(c)->journal.pin, (l));
|
||||
r_idx = fifo_idx(&(c)->journal.pin, (r));
|
||||
f_idx = (c)->journal.pin.front;
|
||||
b_idx = (c)->journal.pin.back;
|
||||
|
||||
if (l_idx > r_idx)
|
||||
ret = true;
|
||||
/* in case fifo back pointer is swapped */
|
||||
if (b_idx < f_idx) {
|
||||
if (l_idx <= b_idx && r_idx >= f_idx)
|
||||
ret = true;
|
||||
else if (l_idx >= f_idx && r_idx <= b_idx)
|
||||
ret = false;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static void bch_btree_leaf_dirty(struct btree *b, atomic_t *journal_ref)
|
||||
{
|
||||
struct bset *i = btree_bset_last(b);
|
||||
|
@ -157,6 +157,10 @@ struct journal_device {
|
||||
};
|
||||
|
||||
#define BTREE_FLUSH_NR 8
|
||||
|
||||
#define journal_pin_cmp(c, l, r) \
|
||||
(fifo_idx(&(c)->journal.pin, (l)) > fifo_idx(&(c)->journal.pin, (r)))
|
||||
|
||||
#define JOURNAL_PIN 20000
|
||||
|
||||
#define journal_full(j) \
|
||||
|
Loading…
Reference in New Issue
Block a user