dm.c (9c4376de98719d2768dd919553843de34bb094a6) dm.c (052189a2ec956810feefb6a681416c5e6a207646)
1/*
2 * Copyright (C) 2001, 2002 Sistina Software (UK) Limited.
3 * Copyright (C) 2004-2008 Red Hat, Inc. All rights reserved.
4 *
5 * This file is released under the GPL.
6 */
7
8#include "dm.h"

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

1632 blk_start_request(rq);
1633 clone = rq->special;
1634 atomic_inc(&md->pending[rq_data_dir(clone)]);
1635
1636 spin_unlock(q->queue_lock);
1637 if (map_request(ti, clone, md))
1638 goto requeued;
1639
1/*
2 * Copyright (C) 2001, 2002 Sistina Software (UK) Limited.
3 * Copyright (C) 2004-2008 Red Hat, Inc. All rights reserved.
4 *
5 * This file is released under the GPL.
6 */
7
8#include "dm.h"

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

1632 blk_start_request(rq);
1633 clone = rq->special;
1634 atomic_inc(&md->pending[rq_data_dir(clone)]);
1635
1636 spin_unlock(q->queue_lock);
1637 if (map_request(ti, clone, md))
1638 goto requeued;
1639
1640 spin_lock_irq(q->queue_lock);
1640 BUG_ON(!irqs_disabled());
1641 spin_lock(q->queue_lock);
1641 }
1642
1643 goto out;
1644
1645requeued:
1642 }
1643
1644 goto out;
1645
1646requeued:
1646 spin_lock_irq(q->queue_lock);
1647 BUG_ON(!irqs_disabled());
1648 spin_lock(q->queue_lock);
1647
1648plug_and_out:
1649 if (!elv_queue_empty(q))
1650 /* Some requests still remain, retry later */
1651 blk_plug_device(q);
1652
1653out:
1654 dm_table_put(map);

--- 1065 unchanged lines hidden ---
1649
1650plug_and_out:
1651 if (!elv_queue_empty(q))
1652 /* Some requests still remain, retry later */
1653 blk_plug_device(q);
1654
1655out:
1656 dm_table_put(map);

--- 1065 unchanged lines hidden ---