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 majord...@freebsd.org
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to