Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 3 Sep 2013 10:02:25 -0400
From:      Mark Saad <nonesuch@longcount.org>
To:        Kirk McKusick <mckusick@FreeBSD.org>
Cc:        freebsd-stable@freebsd.org
Subject:   Re: svn commit: r255104 - stable/9/sys/ufs/ufs
Message-ID:  <B7F5CBE2-11CC-4194-8C11-A347074BA16A@longcount.org>
In-Reply-To: <201308311738.r7VHcnRR021632@svn.freebsd.org>
References:  <201308311738.r7VHcnRR021632@svn.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Kirk
  Will this be merged into 9.2-RC? Before the Release ? =20

---
Mark saad | mark.saad@longcount.org


On Aug 31, 2013, at 1:38 PM, Kirk McKusick <mckusick@FreeBSD.org> wrote:

> Author: mckusick
> Date: Sat Aug 31 17:38:49 2013
> New Revision: 255104
> URL: http://svnweb.freebsd.org/changeset/base/255104
>=20
> Log:
>  MFC of 253998:
>=20
>  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.
>=20
>  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.
>=20
>  Reported by: Dan Thomas and Palle Girgensohn
>  Bug-fix by:  kib
>  Tested by:   Dan Thomas and Palle Girgensohn
>=20
> Modified:
>  stable/9/sys/ufs/ufs/ufs_vnops.c
> Directory Properties:
>  stable/9/sys/   (props changed)
>=20
> Modified: stable/9/sys/ufs/ufs/ufs_vnops.c
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D
> --- stable/9/sys/ufs/ufs/ufs_vnops.c    Sat Aug 31 17:33:25 2013    (r2551=
03)
> +++ stable/9/sys/ufs/ufs/ufs_vnops.c    Sat Aug 31 17:38:49 2013    (r2551=
04)
> @@ -1271,7 +1271,7 @@ relock:
>            error =3D VFS_VGET(mp, ino, LK_EXCLUSIVE, &nvp);
>            if (error !=3D 0)
>                goto releout;
> -            VOP_UNLOCK(nvp, 0);
> +            vput(nvp);
>            atomic_add_int(&rename_restarts, 1);
>            goto relock;
>        }
> _______________________________________________
> svn-src-stable-9@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/svn-src-stable-9
> To unsubscribe, send any mail to "svn-src-stable-9-unsubscribe@freebsd.org=
"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?B7F5CBE2-11CC-4194-8C11-A347074BA16A>