Messages in this thread Patch in this message |  | | From | "Jeff Chua" <> | Subject | Re: [PATCH,RFC] initrd vs. BLKFLSBUF | Date | Mon, 20 Nov 2000 15:36:12 +0800 |
| |
Werner,
Thanks for fix. Applied the patch and it's working now.
Linus, please add this patch to the kernel source codes for 2.4.0.
Under 2.2.18, it's working fine without the patch.
Thanks, Jeff [ jchua@fedex.com ] ----- Original Message ----- From: "Werner Almesberger" <Werner.Almesberger@epfl.ch> To: <viro@math.psu.edu> Cc: <jchua@fedex.com>; <linux-kernel@vger.kernel.org> Sent: Monday, November 20, 2000 11:21 AM Subject: [PATCH,RFC] initrd vs. BLKFLSBUF
Hi Al,
Jeff Chua reported a while ago that BLKFLSBUF returns EBUSY on a RAM disk that was obtained via initrd. I think the problem is that the effect of the blkdev_open(out_inode, ...) in drivers/block/rd.c:rd_load_image is not undone at the end. I've attached a patch for 2.4.0-test11-pre7 that seems to solve the problem. Since I'm not quite sure I understand the reference counting rules there, I would appreciate your comment.
Thanks, - Werner
---------------------------------- cut here -----------------------------------
--- linux.orig/drivers/block/rd.c Mon Nov 20 02:07:47 2000 +++ linux/drivers/block/rd.c Mon Nov 20 04:03:42 2000 @@ -690,6 +690,7 @@ done: if (infile.f_op->release) infile.f_op->release(inode, &infile); + blkdev_put(out_inode->i_bdev, BDEV_FILE); set_fs(fs); return; free_inodes: /* free inodes on error */ -- _________________________________________________________________________ / Werner Almesberger, ICA, EPFL, CH Werner.Almesberger@epfl.ch / /_IN_N_032__Tel_+41_21_693_6621__Fax_+41_21_693_6610_____________________/
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/
|  |