From owner-freebsd-fs@FreeBSD.ORG Mon Jun 28 11:38:42 2010 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C44AF106566B for ; Mon, 28 Jun 2010 11:38:42 +0000 (UTC) (envelope-from bsd@nezmer.info) Received: from mail.nezmer.info (nezmer.info [97.107.142.36]) by mx1.freebsd.org (Postfix) with ESMTP id A6BAC8FC1B for ; Mon, 28 Jun 2010 11:38:42 +0000 (UTC) Date: Mon, 28 Jun 2010 14:38:37 +0300 From: Nezmer To: freebsd-fs@freebsd.org Message-ID: <20100628113837.GA98334@mail> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.20 (2009-06-14) Subject: nullmounting zfs fs with children X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Jun 2010 11:38:42 -0000 Hi, Is this normal behaviour? # zfs create -p -o mountpoint=/zfstest/subdir0/subdir1/subdir2 POOL/zfstest/subdir0/subdir1/subdir2 # echo 2 > /zfstest/subdir0/subdir1/subdir2/file2 # echo 1 > /zfstest/subdir0/subdir1/file1 # find /zfstest /zfstest /zfstest/subdir0 /zfstest/subdir0/subdir1 /zfstest/subdir0/subdir1/file1 /zfstest/subdir0/subdir1/subdir2 /zfstest/subdir0/subdir1/subdir2/file2 # mkdir /nulltest # mount_nullfs /zfstest /nulltest # find /nulltest /nulltest /nulltest/subdir0 /nulltest/subdir0/subdir1 /nulltest/subdir0/subdir1/file1 /nulltest/subdir0/subdir1/subdir2 # echo 0 > /zfstest/subdir0/file0 # find /zfstest /zfstest /zfstest/subdir0 /zfstest/subdir0/subdir1 /zfstest/subdir0/subdir1/file1 /zfstest/subdir0/subdir1/subdir2 /zfstest/subdir0/subdir1/subdir2/file2 /zfstest/subdir0/file0 # find /nulltest /nulltest /nulltest/subdir0 /nulltest/subdir0/subdir1 /nulltest/subdir0/subdir1/file1 /nulltest/subdir0/subdir1/subdir2 /nulltest/subdir0/file0 # umount /nulltest # zfs destroy -r POOL/zfstest # find /zfstest /zfstest /zfstest/subdir0 /zfstest/subdir0/subdir1 /zfstest/subdir0/subdir1/file1 /zfstest/subdir0/subdir1/subdir2 /zfstest/subdir0/file0 # find /nulltest /nulltest /nulltest/subdir0 /nulltest/subdir0/subdir1 /nulltest/subdir0/subdir1/file1 /nulltest/subdir0/subdir1/subdir2 /nulltest/subdir0/file0 I noticed this behaviour when I wanted to nullmount my "/usr/home" inside a chroot: # mount|grep /usr/home POOL/usr/home on /usr/home (zfs, local, noatime) POOL/usr/home/nezmer on /usr/home/nezmer (zfs, local, noatime) POOL/usr/home/nezmer/Mail on /usr/home/nezmer/Mail (zfs, local, noatime) POOL/usr/home/nezmer/pkgs on /usr/home/nezmer/pkgs (zfs, local, noatime) POOL/usr/home/nezmer/srcs on /usr/home/nezmer/srcs (zfs, local, noatime) /usr/home on /chroot/usr/home (nullfs, local) # find /usr/home -maxdepth 4|wc 7267 7289 390127 # find /chroot/usr/home /chroot/usr/home /chroot/usr/home/nezmer