From 87f7b9a9c14a16754bf3c25958b7fad73fbf6464 Mon Sep 17 00:00:00 2001 From: Tor Egge Date: Tue, 31 Aug 1999 14:18:32 +0000 Subject: If integration of a buffer into a cluster write operation fails, release the buffer instead of creating a future deadlock. PR: 12800 Submitted by: dillon --- sys/kern/vfs_cluster.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'sys') diff --git a/sys/kern/vfs_cluster.c b/sys/kern/vfs_cluster.c index f498b189fc2b..6bfc12078f7c 100644 --- a/sys/kern/vfs_cluster.c +++ b/sys/kern/vfs_cluster.c @@ -797,8 +797,10 @@ cluster_wbuild(vp, size, start_lbn, len) if (i != 0) { /* if not first buffer */ for (j = 0; j < tbp->b_npages; j += 1) { m = tbp->b_pages[j]; - if (m->flags & PG_BUSY) + if (m->flags & PG_BUSY) { + bqrelse(tbp); goto finishcluster; + } } } -- cgit v1.3