Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 14 Feb 2014 09:26:58 +0200
From:      Andriy Gapon <avg@FreeBSD.org>
To:        Attilio Rao <attilio@FreeBSD.org>, src-committers@FreeBSD.org, svn-src-all@FreeBSD.org, svn-src-head@FreeBSD.org
Subject:   Re: svn commit: r261867 - head/sys/vm
Message-ID:  <52FDC542.1080703@FreeBSD.org>
In-Reply-To: <201402140334.s1E3YDsp013604@svn.freebsd.org>
References:  <201402140334.s1E3YDsp013604@svn.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
on 14/02/2014 05:34 Attilio Rao said the following:
> Author: attilio
> Date: Fri Feb 14 03:34:12 2014
> New Revision: 261867
> URL: http://svnweb.freebsd.org/changeset/base/261867
> 
> Log:
>   Fix-up r254141: in the process of making a failing vm_page_rename()
>   a call of pager_swap_freespace() was moved around, now leading to freeing
>   the incorrect page because of the pindex changes after vm_page_rename().
>   
>   Get back to use the correct pindex when destroying the swap space.
>   
>   Sponsored by:	EMC / Isilon storage division
>   Reported by:	avg
>   Tested by:	pho
>   MFC after:	7 days

Thank you!
I also have not seen any of my previous problems since I started using the patch.

> Modified:
>   head/sys/vm/vm_object.c
> 
> Modified: head/sys/vm/vm_object.c
> ==============================================================================
> --- head/sys/vm/vm_object.c	Fri Feb 14 03:30:55 2014	(r261866)
> +++ head/sys/vm/vm_object.c	Fri Feb 14 03:34:12 2014	(r261867)
> @@ -1627,9 +1627,11 @@ vm_object_backing_scan(vm_object_t objec
>  				p = TAILQ_FIRST(&backing_object->memq);
>  				continue;
>  			}
> +
> +			/* Use the old pindex to free the right page. */
>  			if (backing_object->type == OBJT_SWAP)
> -				swap_pager_freespace(backing_object, p->pindex,
> -				    1);
> +				swap_pager_freespace(backing_object,
> +				    new_pindex + backing_offset_index, 1);
>  
>  #if VM_NRESERVLEVEL > 0
>  			/*
> 


-- 
Andriy Gapon



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?52FDC542.1080703>