From owner-freebsd-hackers Wed Oct 2 07:18:24 1996 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id HAA10405 for hackers-outgoing; Wed, 2 Oct 1996 07:18:24 -0700 (PDT) Received: from ccs.sogang.ac.kr (ccs.sogang.ac.kr [163.239.1.1]) by freefall.freebsd.org (8.7.5/8.7.3) with ESMTP id HAA10400; Wed, 2 Oct 1996 07:18:20 -0700 (PDT) Received: from cslsun10.sogang.ac.kr by ccs.sogang.ac.kr (8.8.0/Sogang) id XAA28649; Wed, 2 Oct 1996 23:14:01 +0900 (KST) Received: from localhost by cslsun10.sogang.ac.kr (4.1/SMI-4.1) id AA05139; Wed, 2 Oct 96 23:17:04 KST Date: Wed, 2 Oct 1996 23:17:03 +0900 (KST) From: Heo Sung-Gwan X-Sender: heo@cslsun10 To: freebsd-hackers@FreeBSD.ORG Cc: freebsd-fs@FreeBSD.ORG Subject: vnode and cluster read-ahead Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-hackers@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk When a file is open serveral times simultaneously cluster read-ahead buffer cache using vnode seem to have some problems. As a process A reads a file F *sequentially* the fields(v_maxra, v_ralen, etc) of the vnode of F increases. As a result read-ahead of next cluster happens. But when a process B opens F and reads it the values of the fields are changed. So the process A's read-ahead is disturbed whenever process B is rescheduled. I think the fields for read-ahead must be in struct file rather than vnode. There exists one vnode for a file but a file may be open serveral times. What's your opinion, hackers? -- Heo Sung-Gwan Dept. of Computer Science, Sogang University, Seoul, Korea. E-mail: heo@cslsun10.sogang.ac.kr