Lines Matching defs:epoch

1354  * drbd_may_finish_epoch() - Applies an epoch_event to the epoch's state, eventually finishes it.
1356 * @epoch: Epoch object.
1360 struct drbd_epoch *epoch,
1371 epoch_size = atomic_read(&epoch->epoch_size);
1375 atomic_dec(&epoch->active);
1378 set_bit(DE_HAVE_BARRIER_NUMBER, &epoch->flags);
1386 atomic_read(&epoch->active) == 0 &&
1387 (test_bit(DE_HAVE_BARRIER_NUMBER, &epoch->flags) || ev & EV_CLEANUP)) {
1390 drbd_send_b_ack(epoch->connection, epoch->barrier_nr, epoch_size);
1396 if (test_bit(DE_HAVE_BARRIER_NUMBER, &epoch->flags))
1397 dec_unacked(epoch->connection);
1400 if (connection->current_epoch != epoch) {
1401 next_epoch = list_entry(epoch->list.next, struct drbd_epoch, list);
1402 list_del(&epoch->list);
1405 kfree(epoch);
1410 epoch->flags = 0;
1411 atomic_set(&epoch->epoch_size, 0);
1412 /* atomic_set(&epoch->active, 0); is already zero */
1421 epoch = next_epoch;
1762 struct drbd_epoch *epoch;
1783 epoch = kmalloc(sizeof(struct drbd_epoch), GFP_NOIO);
1784 if (epoch)
1787 drbd_warn(connection, "Allocation of an epoch failed, slowing down\n");
1796 epoch = kmalloc(sizeof(struct drbd_epoch), GFP_NOIO);
1797 if (epoch)
1808 epoch->flags = 0;
1809 atomic_set(&epoch->epoch_size, 0);
1810 atomic_set(&epoch->active, 0);
1814 list_add(&epoch->list, &connection->current_epoch->list);
1815 connection->current_epoch = epoch;
1819 kfree(epoch);
2243 drbd_may_finish_epoch(peer_device->connection, peer_req->epoch, EV_PUT + (cancel ? EV_CLEANUP : 0));
2626 peer_req->epoch = connection->current_epoch;
2627 atomic_inc(&peer_req->epoch->epoch_size);
2628 atomic_inc(&peer_req->epoch->active);
2715 drbd_may_finish_epoch(connection, peer_req->epoch, EV_PUT | EV_CLEANUP);