Date: Wed, 25 Jan 2006 06:06:31 GMT From: John Kozubik <john@kozubik.com> To: freebsd-gnats-submit@FreeBSD.org Subject: kern/92292: Heavy IO on a md-backed filesystem on a snapshotted filesystem will block Message-ID: <200601250606.k0P66VHV041306@www.freebsd.org> Resent-Message-ID: <200601250610.k0P6A3ES040714@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 92292 >Category: kern >Synopsis: Heavy IO on a md-backed filesystem on a snapshotted filesystem will block >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Wed Jan 25 06:10:03 GMT 2006 >Closed-Date: >Last-Modified: >Originator: John Kozubik >Release: 6.0-RELEASE >Organization: www.kozubik.com >Environment: FreeBSD test 6.0-RELEASE FreeBSD 6.0-RELEASE #0: Wed Nov 30 13:35:22 PST 2005 user@test:/usr/src/sys/i386/compile/test i386 >Description: If you create a filesystem backed by an md device, and the backing store and mount point for that md-backed filesystem exist on a filesystem that has a snapshot on it, the underlying filesystem will block. First, the IO process will become stuck in the biowr state, then the mount point of the md-backed filesystem will block against all requests, and eventually the entire underlying snapshotted filesystem will block against all requests. The snapshot cannot be removed at this point because you cannot access the filesystem it exists on, and the IO process cannot be killed. The system itself seems to remain responsive, with the exception of that entire filesystem. >How-To-Repeat: create a snapshot on a filesystem: mksnap_ffs /mnt/fs1 /mnt/fs1/.snap/snapshot Create a md-backed, mounted filesystem, on the same filesystem you just snapshotted: dd if=/dev/zero of=/mnt/fs1/file bs=1k count=2100000 mkdir /mnt/fs1/dir mdconfig -a -t vnode -f /mnt/fs1/file -u 0 disklabel -r -w md0 auto newfs /dev/md0c mount /dev/md0c /mnt/fs1/dir Do some IO inside of the md-backed filesystem: cp -R /usr/ports/* /mnt/fs1/dir (above behavior ensues) >Fix: Do not run md-backed filesystems on top of filesystems that have been snapshotted. >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200601250606.k0P66VHV041306>