From: Andrew Morton Subject: Re: [PATCH] direct-IO API change Date: Fri, 04 Oct 2002 15:37:59 -0700 Sender: linux-kernel-owner@vger.kernel.org Message-ID: <3D9E1847.F6DDA3AE@digeo.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Chuck Lever , Linux Kernel Mailing List , Linux NFS List Return-path: To: Linus Torvalds List-ID: Linus Torvalds wrote: > > On Fri, 4 Oct 2002, Chuck Lever wrote: > > > > this patch adds a "struct file *" argument to direct I/O. this is needed > > by NFS direct I/O to make the file's credentials available to direct I/O > > subroutines. we can't remove "struct inode *" yet because the raw driver > > still needs it. > > Why isn't the raw driver changed to just use file->f_dentry->d_inode > instead? > Because the file handle which we have is for /dev/raw/raw0, not for /dev/hda1. The raw driver binds to major/minor, not a file*. I considered changing that (change userspace to pass the open fd). But didn't. An alternative would be to rewrite i_mapping for /dev/raw/raw0 to be bdev->bd_inode->i_mapping. I guess we should look at doing that.