From owner-freebsd-hackers Sat Jun 19 7:40:55 1999 Delivered-To: freebsd-hackers@freebsd.org Received: from sol (cs1-gw.cs.binghamton.edu [128.226.171.72]) by hub.freebsd.org (Postfix) with SMTP id 8E9CF14E18 for ; Sat, 19 Jun 1999 07:40:52 -0700 (PDT) (envelope-from zzhang@cs.binghamton.edu) Received: from localhost (zzhang@localhost) by sol (SMI-8.6/8.6.9) with SMTP id KAA03164 for ; Sat, 19 Jun 1999 10:29:08 -0400 Date: Sat, 19 Jun 1999 10:29:07 -0400 (EDT) From: Zhihui Zhang To: freebsd-hackers@freebsd.org Subject: What does VOP_FREEBLKS() do? Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG I find in the routine ffs_blkfree() there is a new statement saying: VOP_FREEBLKS(ip->i_devvp, fsbtodb(fs, bno), size); which calls spec_freeblks() in file spec_vnops.c. The routine spec_freeblks() looks simple. When D_CANFREE is set, it gets an empty buffer and call strategy routine for the buffer. Since B_READ is not set, we must call the strategy routine to write some data. But where is the data for the buffer? Why we call VOP_FREEBLKS() at the time we are going to free the blocks? BTW, this vnode operation is not listed in the man pages. Any help is appreciated. -------------------------------------------------- Zhihui Zhang. Please visit http://www.freebsd.org -------------------------------------------------- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message