ZFS deadlock ?
Erik Osterholm
freebsd-lists-erik at erikosterholm.org
Fri Nov 9 16:05:47 PST 2007
On Fri, Nov 09, 2007 at 11:28:27PM +0100, Henri Hennebert wrote:
> Richard Arends wrote:
> >On Fri, Nov 09, 2007 at 09:35:59PM +0100, Henri Hennebert wrote:
> >
> >>>This won't start the scrubs at the same time, but after each other. And
> >>>the second will only start if the first one not fails (exitcode == 0)
> >>>
> >>Not at all, the scrub is asynchronious, I'm sure of it
> >
> >Running 2 commands seperated by && will not run at the same time. Scrub
> >could be asynchronious, i don't know, but that has nothing to do with the
> >way you are running it.
> >
> >See: echo "sleep 1" && time sleep 2 && echo "sleep 2" && time sleep 2
> >and: ls -l /notfound && echo yes
>
> Per the man page, zpool scrub *begin* a scrub witch go on in background,
> so two scrubs are running simustaneously on 2 different pools.
>
> Henri
Henri is 100% correct. zpool scrub kicks off a scrub which occurs in
the background. I'm not sure I like this behavior that much, but it's
not like it's my call :)
lothos# zpool list
NAME SIZE USED AVAIL CAP HEALTH
ALTROOT
tank 1.81T 368G 1.45T 19% ONLINE -
lothos# time sh -c "zpool scrub tank && echo Done\?"
Done?
0.000u 0.010s 0:04.35 0.2% 116+152k 14+0io 8pf+0w
lothos# zpool status tank
pool: tank
state: ONLINE
scrub: scrub in progress, 3.97% done, 0h40m to go
config:
NAME STATE READ WRITE CKSUM
tank ONLINE 0 0 0
raidz1 ONLINE 0 0 0
ad4 ONLINE 0 0 0
ad5 ONLINE 0 0 0
ad6 ONLINE 0 0 0
ad7 ONLINE 0 0 0
errors: No known data errors
Erik
More information about the freebsd-stable
mailing list