Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id ; Mon, 10 Dec 2001 01:02:13 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id ; Mon, 10 Dec 2001 01:02:04 -0500 Received: from neon-gw-l3.transmeta.com ([63.209.4.196]:8715 "EHLO neon-gw.transmeta.com") by vger.kernel.org with ESMTP id ; Mon, 10 Dec 2001 01:01:53 -0500 Date: Sun, 9 Dec 2001 21:55:57 -0800 (PST) From: Linus Torvalds To: GOTO Masanori cc: , , Subject: Re: [PATCH] direct IO breaks root filesystem In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 10 Dec 2001, GOTO Masanori wrote: > > The reason is that when kernel accesses /dev/sda with O_DIRECT, > blkdev_direct_IO() is called. But, it calls generic_direct_IO(), > and generic_direct_IO() calls brw_kiovec(..., inode->i_dev, ...). That's a bad bug, yes. However, the bug is really in "generic_direct_IO()", and you should fix it there, instead of avoiding to use it altogether. "generic_direct_IO()" should just get the device from "bh->b_dev (which is filled in correctly by "get_block()". Linus - 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/