diff -puN drivers/block/pktcdvd.c~packet-io-log drivers/block/pktcdvd.c --- linux/drivers/block/pktcdvd.c~packet-io-log 2004-09-05 10:35:24.697900200 +0200 +++ linux-petero/drivers/block/pktcdvd.c 2004-09-05 10:35:24.701899592 +0200 @@ -896,6 +896,27 @@ static inline void pkt_set_state(struct pkt->state = state; } +static void pkt_io_log(struct bio *bio) +{ + static sector_t start, stop; + typedef unsigned long long ull; + + if (bio) { + if (stop == bio->bi_sector) { + stop = stop + bio_sectors(bio); + } else { + if (start != stop) + printk("pkt: %lld - %lld\n", (ull)(start >> 2), (ull)(stop >> 2)); + start = bio->bi_sector; + stop = start + bio_sectors(bio); + } + } else { + if (start != stop) + printk("pkt: %lld - %lld\n", (ull)(start >> 2), (ull)(stop >> 2)); + start = stop = 0; + } +} + /* * Scan the work queue to see if we can start a new packet. * returns non-zero if any work was done. @@ -949,6 +970,8 @@ try_next_bio: spin_unlock(&pd->lock); if (!bio) { VPRINTK("handle_queue: no bio\n"); + if (list_empty(&pd->cdrw.pkt_active_list)) + pkt_io_log(NULL); return 0; } @@ -2197,6 +2220,8 @@ static int pkt_make_request(request_queu } } + pkt_io_log(bio); + /* * If we find a matching packet in state WAITING or READ_WAIT, we can * just append this bio to that packet. _ -- Peter Osterlund - petero2@telia.com http://w1.894.telia.com/~u89404340