From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Van Hensbergen Subject: Re: [RFC] v9fs: readpage support Date: Tue, 22 Nov 2005 15:47:37 -0600 Message-ID: References: <20051118002438.0BC995A807B@localhost.localdomain> <20051118192045.GA5579@infradead.org> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7BIT Cc: linux-fsdevel@vger.kernel.org, v9fs-developer@lists.sourceforge.net Return-path: Received: from zproxy.gmail.com ([64.233.162.197]:63967 "EHLO zproxy.gmail.com") by vger.kernel.org with ESMTP id S1030186AbVKVVri convert rfc822-to-8bit (ORCPT ); Tue, 22 Nov 2005 16:47:38 -0500 Received: by zproxy.gmail.com with SMTP id 14so114641nzn for ; Tue, 22 Nov 2005 13:47:37 -0800 (PST) To: Christoph Hellwig In-Reply-To: <20051118192045.GA5579@infradead.org> Content-Disposition: inline Sender: linux-fsdevel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org On 11/18/05, Christoph Hellwig wrote: > > > + struct v9fs_fcall *fcall = NULL; > > + int fid = v9f->fid; > > + int total = 0; > > + int result = 0; > > + > > + page_cache_get(page); > > ->readpage is synchronous, so you shouldn't need to grab a reference. > Weird things happen if I don't have page_cache_get - perhaps there's something else I need to call if I don't call that? bash-2.05b# /root/fsx/fsx -N 1000 -W -d testfile mapped writes DISABLED 1 write 0x1f7e6 thru 0x2250e (0x2d29 bytes) 2 write 0x10f13 thru 0x16b11 (0x5bff bytes) 3 mapread 0x1f48a thru 0x2250e (0x3085 bytes) Bad page state at free_hot_cold_page (in process 'fsx', page c0000000006175e0) flags:0x0000700000000008 mapping:c0000000073606b0 mapcount:0 count:0 Backtrace: Call Trace: [C0000000072274B0] [C000000000025890] .show_stack+0x50/0x1cc (unreliable) [C000000007227560] [C00000000007D0E4] .bad_page+0x90/0xec [C0000000072275E0] [C00000000007DAA4] .free_hot_cold_page+0x80/0x1ac [C000000007227680] [C00000000007DC1C] .__pagevec_free+0x4c/0x78 [C000000007227710] [C000000000088B3C] .release_pages+0x1fc/0x2c0 [C000000007227840] [C000000000088F64] .__pagevec_lru_add+0x138/0x170 [C0000000072278F0] [C000000000081C48] .__do_page_cache_readahead+0x27c/0x338 [C000000007227A50] [C00000000007981C] .filemap_nopage+0x308/0x460 [C000000007227B20] [C000000000091C30] .__handle_mm_fault+0x51c/0xe48 [C000000007227C20] [C0000000002BD5E8] .do_page_fault+0x524/0x7b4 [C000000007227E30] [C000000000004760] .handle_page_fault+0x20/0x54 Trying to fix it up, but a reboot is needed I've incorporated the rest of your suggestions and found a bug in the meanwhile. I'll be submitting an amended patch to Andrew sometime this week unless I hear back from you on the above issue. Thanks for the comments Christoph. -eric