journal.c (712cba5d87a6c0e980ee5fad45734e189c4d7151) journal.c (3a83f4677539bce8eaa2bca9ee9c20e172d7ab04)
1/*
2 * bcache journalling code, for btree insertions
3 *
4 * Copyright 2012 Google, Inc.
5 */
6
7#include "bcache.h"
8#include "btree.h"

--- 434 unchanged lines hidden (view full) ---

443 /* fallthrough */
444
445 case DISCARD_READY:
446 if (ja->discard_idx == ja->last_idx)
447 return;
448
449 atomic_set(&ja->discard_in_flight, DISCARD_IN_FLIGHT);
450
1/*
2 * bcache journalling code, for btree insertions
3 *
4 * Copyright 2012 Google, Inc.
5 */
6
7#include "bcache.h"
8#include "btree.h"

--- 434 unchanged lines hidden (view full) ---

443 /* fallthrough */
444
445 case DISCARD_READY:
446 if (ja->discard_idx == ja->last_idx)
447 return;
448
449 atomic_set(&ja->discard_in_flight, DISCARD_IN_FLIGHT);
450
451 bio_init(bio);
451 bio_init(bio, bio->bi_inline_vecs, 1);
452 bio_set_op_attrs(bio, REQ_OP_DISCARD, 0);
453 bio->bi_iter.bi_sector = bucket_to_sector(ca->set,
454 ca->sb.d[ja->discard_idx]);
455 bio->bi_bdev = ca->bdev;
452 bio_set_op_attrs(bio, REQ_OP_DISCARD, 0);
453 bio->bi_iter.bi_sector = bucket_to_sector(ca->set,
454 ca->sb.d[ja->discard_idx]);
455 bio->bi_bdev = ca->bdev;
456 bio->bi_max_vecs = 1;
457 bio->bi_io_vec = bio->bi_inline_vecs;
458 bio->bi_iter.bi_size = bucket_bytes(ca);
459 bio->bi_end_io = journal_discard_endio;
460
461 closure_get(&ca->set->cl);
462 INIT_WORK(&ja->discard_work, journal_discard_work);
463 schedule_work(&ja->discard_work);
464 }
465}

--- 359 unchanged lines hidden ---
456 bio->bi_iter.bi_size = bucket_bytes(ca);
457 bio->bi_end_io = journal_discard_endio;
458
459 closure_get(&ca->set->cl);
460 INIT_WORK(&ja->discard_work, journal_discard_work);
461 schedule_work(&ja->discard_work);
462 }
463}

--- 359 unchanged lines hidden ---