Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S964789AbVKVATM (ORCPT ); Mon, 21 Nov 2005 19:19:12 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S964781AbVKVATM (ORCPT ); Mon, 21 Nov 2005 19:19:12 -0500 Received: from pat.uio.no ([129.240.130.16]:17854 "EHLO pat.uio.no") by vger.kernel.org with ESMTP id S964789AbVKVATL (ORCPT ); Mon, 21 Nov 2005 19:19:11 -0500 Subject: Re: infinite loop? with mmap, nfs, pwrite, O_DIRECT From: Trond Myklebust To: Andrew Morton Cc: theonetruekenny@yahoo.com, cel@citi.umich.edu, linux-kernel@vger.kernel.org In-Reply-To: <20051121160913.6d59c9fa.akpm@osdl.org> References: <20051121213913.61220.qmail@web34115.mail.mud.yahoo.com> <1132612974.8011.12.camel@lade.trondhjem.org> <20051121153454.1907d92a.akpm@osdl.org> <1132617503.8011.35.camel@lade.trondhjem.org> <20051121160913.6d59c9fa.akpm@osdl.org> Content-Type: text/plain Date: Mon, 21 Nov 2005 19:18:50 -0500 Message-Id: <1132618731.8011.46.camel@lade.trondhjem.org> Mime-Version: 1.0 X-Mailer: Evolution 2.4.1 Content-Transfer-Encoding: 7bit X-UiO-Spam-info: not spam, SpamAssassin (score=-3.713, required 12, autolearn=disabled, AWL 1.10, FORGED_RCVD_HELO 0.05, RCVD_IN_SORBS_DUL 0.14, UIO_MAIL_IS_INTERNAL -5.00) Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1038 Lines: 25 On Mon, 2005-11-21 at 16:09 -0800, Andrew Morton wrote: > Trond Myklebust wrote: > > > > The only difference I can see between the two paths is the call to > > unmap_mapping_range(). What effect would that have? > > It shoots down any mapped pagecache over the affected file region. Because > the direct-io write is about to make that pagecache out-of-date. If the > application tries to use that data again it'll get a major fault and will > re-read the file contents. I assume then, that this couldn't be the cause of the invalidate_inode_pages() failing to complete? Unless there is some method to prevent applications from faulting in the page while we're inside generic_file_direct_IO(), then the same race would be able to occur there. Cheers, Trond - 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/