snapshots and innds

Juergen Unger j.unger at addict.de
Wed Jun 1 06:37:53 PDT 2005


Hi !

I don't know if its may or may not be from the same reason:
On an 5.4-p1 I started using snapshots on loopback mouted
files with mdconfig.  First I seems to be all ok but then
more first one, then more and more processes get stuck in some
(for me) unknown state and in the end even the start of the
login shell for the serial console hang.  Since I did not
know how to look more into detail with this stuck processes
the only way was to power-cycle.
What can I do to track down this problem when I am able
to reproduce it on the my testmachine (which is identical
except memory to the system where it happend) ?

any help welcome,

  Juergen

On Sun, May 22, 2005 at 10:17:30PM -0700, Kirk McKusick wrote:
> Excellent detective work on your part. The invarient that is being
> broken here is that you are never supposed to hold a vnode locked
> when you call vn_start_write. The call to vn_start_write should
> be done in vm_object_sync before acquiring the vnode lock rather
> than later in vnode_pager_putpages. Of course, moving the
> vn_start_write out of vnode_pager_putpages means that we have to
> track down every other caller of vnode_pager_putpages to make sure
> that they have also done the vn_start_write call as well.
>
> Jeff Robertson has come up with a much cleaner way of dealing with
> the suspension code that I believe he is using in the -current tree.
> It puts a hook in the ufs_lock code that tracks the number of locks
> held in each filesystem. To do a suspend, it blocks all new lock
> requests on that filesystem by any thread that does not already
> hold a lock and waits for all the existing locks to be released.
> This obviates the need for the vn_start_write calls sprinkled all
> through the system. I have copied Jeff on this email so that he
> can comment further on this issue as he is much more up to speed
> on it at the moment than I am.
>
>       Kirk McKusick
>
> =-=-=-=-=-=-=                                                                 >
> From: steve at Watt.COM (Steve Watt)
> Date: Sun, 22 May 2005 14:02:39 -0700
> In-Reply-To: steve at wattres.Watt.COM (Steve Watt)
>        "snapshots and innds" (Dec 18, 17:39)
> To: freebsd-hackers at freebsd.org
> Subject: Re: snapshots and innds
> Cc: mckusick at mckusick.com
> X-Archived: 1116795759.948751269 at wattres.Watt.COM
> X-ASK-Info: Whitelist match [from steve at watt.com] (2005/05/22 14:03:00)
>
> [ OK, there's a lot of text in here, but I have definitively found a
>   deadlock between ffs_mksnap and msync(). ]

--
ENOSIG


More information about the freebsd-hackers mailing list