Messages in this thread Patch in this message | | | Date | Mon, 10 Dec 2001 18:14:10 +0900 | From | Tachino Nobuhiro <> | Subject | Re: ramdisk size bug in 2.4.17-pre2 |
| |
Hello,
I think following one-line patch fixes the bug.
diff -Nur linux-2.4.17-pre7.org/fs/block_dev.c linux-2.4.17-pre7/fs/block_dev.c --- linux-2.4.17-pre7.org/fs/block_dev.c Mon Dec 10 17:34:52 2001 +++ linux-2.4.17-pre7/fs/block_dev.c Mon Dec 10 17:48:21 2001 @@ -329,6 +329,7 @@ inode->i_bdev = new_bdev; inode->i_data.a_ops = &def_blk_aops; inode->i_data.gfp_mask = GFP_USER; + inode->i_mode = S_IFBLK; spin_lock(&bdev_lock); bdev = bdfind(dev, head); if (!bdev) {
generic_file_write() checks whether i_mapping->host is a block device and if it is a block device, i_size is used as a size of block device. but it does not work because bdget() does not set inode->i_mode to S_IFBLK.
At Fri, 7 Dec 2001 16:07:02 +0100, Erik Mouw wrote: > > Hi, > > It looks like the ramdisk driver in 2.4.17-pre2 doesn't honor the > rd_size parameter: > > root@arthur:/tmp #uname -a > Linux arthur 2.4.17-pre2 #1 Sat Dec 1 00:47:24 CET 2001 i686 unknown > root@arthur:/tmp #cat /proc/sys/kernel/tainted > 0 > root@arthur:/tmp #modinfo rd > filename: /lib/modules/2.4.17-pre2/kernel/drivers/block/rd.o > description: <none> > author: <none> > license: "GPL" > parm: rd_size int, description "Size of each RAM disk in kbytes." > parm: rd_blocksize int, description "Blocksize of each RAM disk in bytes." > root@arthur:/tmp #modprobe rd rd_size=8192 > RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize > > So I would expect that each ramdisk is 8192kB. But: > > root@arthur:/tmp #dd if=/dev/zero of=/dev/ram1 bs=1k count=16384 > 16384+0 records in > 16384+0 records out > > IOW: writing 16MB to a 8MB ramdisk happily succeeds. > > The last time I tried this was with 2.4.10-ac10, which didn't have this > bug. > > > Erik > [who will investigate further but is currently -ENOTIME] > > -- > J.A.K. (Erik) Mouw, Information and Communication Theory Group, Faculty > of Information Technology and Systems, Delft University of Technology, > PO BOX 5031, 2600 GA Delft, The Netherlands Phone: +31-15-2783635 > Fax: +31-15-2781843 Email: J.A.K.Mouw@its.tudelft.nl > WWW: http://www-ict.its.tudelft.nl/~erik/ > - > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |