<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">
From: Peter Osterlund &lt;petero2@telia.com&gt;

If you do "pktsetup 0 /dev/hdd", insert a CD and write some data to it,
remove the CD and insert a DVD, the /dev/hdd block device will not have the
correct size.  This leads to bogus "attempt to access beyond end of device"
errors.

This patch fixes it.

Signed-off-by: Peter Osterlund &lt;petero2@telia.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
---

 25-akpm/drivers/block/pktcdvd.c |    2 ++
 1 files changed, 2 insertions(+)

diff -puN drivers/block/pktcdvd.c~get-blockdev-size-right-in-pktcdvd-after-switching-discs drivers/block/pktcdvd.c
--- 25/drivers/block/pktcdvd.c~get-blockdev-size-right-in-pktcdvd-after-switching-discs	2004-08-15 17:36:51.151820712 -0700
+++ 25-akpm/drivers/block/pktcdvd.c	2004-08-15 17:36:51.157819800 -0700
@@ -1917,6 +1917,8 @@ static int pkt_open_dev(struct pktcdvd_d
 	}
 
 	set_capacity(pd-&gt;disk, lba &lt;&lt; 2);
+	set_capacity(pd-&gt;bdev-&gt;bd_disk, lba &lt;&lt; 2);
+	bd_set_size(pd-&gt;bdev, (loff_t)lba &lt;&lt; 11);
 
 	/*
 	 * The underlying block device needs to have its merge logic
_
</pre></body></html>