From owner-cvs-all@FreeBSD.ORG Sat May 6 20:51:43 2006 Return-Path: X-Original-To: cvs-all@FreeBSD.org Delivered-To: cvs-all@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 668D816A410; Sat, 6 May 2006 20:51:43 +0000 (UTC) (envelope-from tegge@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5A19843D6E; Sat, 6 May 2006 20:51:33 +0000 (GMT) (envelope-from tegge@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k46KpWMt052044; Sat, 6 May 2006 20:51:32 GMT (envelope-from tegge@repoman.freebsd.org) Received: (from tegge@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k46KpWik052043; Sat, 6 May 2006 20:51:32 GMT (envelope-from tegge) Message-Id: <200605062051.k46KpWik052043@repoman.freebsd.org> From: Tor Egge Date: Sat, 6 May 2006 20:51:32 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Cc: Subject: cvs commit: src/sys/ufs/ffs ffs_softdep.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 06 May 2006 20:51:43 -0000 tegge 2006-05-06 20:51:32 UTC FreeBSD src repository Modified files: sys/ufs/ffs ffs_softdep.c Log: ffs_syncvnode() might skip some of the blocks due to them being locked, assuming them to be inflight write buffers. This is not always the case. bufdaemon might hold the buffer lock and give up writing the buffer due to it having dependencies, the file system being suspended or the vnode lock being held by another thread. When bufdaemon decides to write the buffer there is still a window before bufobj_wref() has been called, allowing other threads to believe that the vnode has no dirty buffers or inflight writes. Try harder to flush first block of new subdirectory to get rid of MKDIR_BODY dependency. Revision Changes Path 1.196 +46 -0 src/sys/ufs/ffs/ffs_softdep.c