General fixes to the vfs clustring code:

1) Make cluster buffer list be a non-malloced chain.  This eliminates
yet another 'evil' M_WAITOK and generally cleans up the code.
2) Fix write clustering for ext2fs.  It was just broken.  Also, ffs
clustering had an efficiency problem that more bawrites were happening
than should have been.
3) Make changes to buf.h to support the above, plus remove b_pfcent
at the request of David Greenman.

Note that the reallocblocks code is disabled pending rewrite for
the cluster buffer list changes.
This commit is contained in:
dyson 1995-11-19 19:55:26 +00:00
parent a2735c1b93
commit 13fde74b24

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)ffs_alloc.c 8.8 (Berkeley) 2/21/94
* $Id: ffs_alloc.c,v 1.17 1995/09/08 17:16:32 davidg Exp $
* $Id: ffs_alloc.c,v 1.18 1995/11/14 09:40:04 phk Exp $
*/
#include <sys/param.h>
@ -336,6 +336,9 @@ ffs_reallocblks(ap)
struct cluster_save *a_buflist;
} */ *ap;
{
#if 1
return (ENOSPC);
#else
struct fs *fs;
struct inode *ip;
struct vnode *vp;
@ -476,6 +479,7 @@ fail:
if (sbap != &ip->i_db[0])
brelse(sbp);
return (ENOSPC);
#endif
}
/*