From owner-freebsd-current Sat Sep 26 20:36:29 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id UAA02719 for freebsd-current-outgoing; Sat, 26 Sep 1998 20:36:29 -0700 (PDT) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from sicily.odyssey.cs.cmu.edu (SICILY.ODYSSEY.CS.CMU.EDU [128.2.185.138]) by hub.freebsd.org (8.8.8/8.8.8) with SMTP id UAA02713 for ; Sat, 26 Sep 1998 20:36:23 -0700 (PDT) (envelope-from rvb+@sicily.odyssey.cs.cmu.edu) To: current@FreeBSD.ORG Subject: VM question From: "Robert V. Baron" Date: 26 Sep 1998 23:36:04 -0400 In-Reply-To: George Michaelson's message of Sun, 27 Sep 1998 11:50:44 +1000 (EST) Message-ID: Lines: 15 X-Mailer: Gnus v5.4.46/Emacs 19.34 Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG I have a file system (Coda) in FreeBSD -current that needs to be able to map/exec files. There are a couple ways of doing this. One way is to have coda_bmap() return an error which will then force, vnode_pager_generic_getpages() to call vnode_pager_input_old(). The latter function does a simple VOP_READ to get the data. It looks like it pretty much does the right thing. BUT it looks like it fails to set the m->valid flag in the page it just read. (So later when exec_map_first_page checks for m->valid == 0; it's sad and the exec aborts.) It looks like if you do the more complicated vnode_pager_generic_getpage() function, it will set valid. On the otherhand, it looks like that vm_fault() which also calls vm_pager_get_pages() does its own setting of m->valid. So my questions is: Should vnode_pager_input_old set m->valid and if not who should. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message