Kirk Will this be merged into 9.2-RC? Before the Release ? --- Mark saad | mark.s...@longcount.org
On Aug 31, 2013, at 1:38 PM, Kirk McKusick <mckus...@freebsd.org> wrote: > Author: mckusick > Date: Sat Aug 31 17:38:49 2013 > New Revision: 255104 > URL: http://svnweb.freebsd.org/changeset/base/255104 > > Log: > MFC of 253998: > > This bug fix is in a code path in rename taken when there is a > collision between a rename and an open system call for the same > target file. Here, rename releases its vnode references, waits for > the open to finish, and then restarts by reacquiring its needed > vnode locks. In this case, rename was unlocking but failing to > release its reference to one of its held vnodes. The effect was > that even after all the actual references to the vnode had gone, > the vnode still showed active references. For files that had been > removed, their space was not reclaimed until the filesystem was > forcibly unmounted. > > This bug manifested itself in the Postgres server which would > leak/lose hundreds of files per day amounting to many gigabytes of > disk space. This bug required shutting down Postgres, forcibly > unmounting its filesystem, remounting its filesystem and restarting > Postgres every few days to recover the lost space. > > Reported by: Dan Thomas and Palle Girgensohn > Bug-fix by: kib > Tested by: Dan Thomas and Palle Girgensohn > > Modified: > stable/9/sys/ufs/ufs/ufs_vnops.c > Directory Properties: > stable/9/sys/ (props changed) > > Modified: stable/9/sys/ufs/ufs/ufs_vnops.c > ============================================================================== > --- stable/9/sys/ufs/ufs/ufs_vnops.c Sat Aug 31 17:33:25 2013 (r255103) > +++ stable/9/sys/ufs/ufs/ufs_vnops.c Sat Aug 31 17:38:49 2013 (r255104) > @@ -1271,7 +1271,7 @@ relock: > error = VFS_VGET(mp, ino, LK_EXCLUSIVE, &nvp); > if (error != 0) > goto releout; > - VOP_UNLOCK(nvp, 0); > + vput(nvp); > atomic_add_int(&rename_restarts, 1); > goto relock; > } > _______________________________________________ > svn-src-stabl...@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/svn-src-stable-9 > To unsubscribe, send any mail to "svn-src-stable-9-unsubscr...@freebsd.org" _______________________________________________ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"