From owner-freebsd-fs@freebsd.org Fri Feb 3 12:42:53 2017 Return-Path: Delivered-To: freebsd-fs@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C2478CCD0D4; Fri, 3 Feb 2017 12:42:53 +0000 (UTC) (envelope-from gpalmer@freebsd.org) Received: from mail.in-addr.com (mail.in-addr.com [IPv6:2a01:4f8:191:61e8::2525:2525]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8E9EE16DE; Fri, 3 Feb 2017 12:42:53 +0000 (UTC) (envelope-from gpalmer@freebsd.org) Received: from gjp by mail.in-addr.com with local (Exim 4.88 (FreeBSD)) (envelope-from ) id 1cZdCV-0004Kq-NV; Fri, 03 Feb 2017 12:42:51 +0000 Date: Fri, 3 Feb 2017 12:42:51 +0000 From: Gary Palmer To: Ultima Cc: freebsd-stable@freebsd.org, freebsd-current@freebsd.org, freebsd-fs@freebsd.org Subject: Re: zfs snapshot_limit is not respected Message-ID: <20170203124251.GA68015@in-addr.com> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-SA-Exim-Connect-IP: X-SA-Exim-Mail-From: gpalmer@freebsd.org X-SA-Exim-Scanned: No (on mail.in-addr.com); SAEximRunCond expanded to false X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Feb 2017 12:42:53 -0000 On Thu, Feb 02, 2017 at 09:31:58PM -0500, Ultima wrote: > I recently moved some data on a box with limited space. I decided I should > limit the snapshots so that space would not become an issue. I just check > back a week later to find out the box is hitting the borderline. Doing I > quick check I realized that the snapshot_limit is not being respected. > > # uname -a > FreeBSD R1 11.0-STABLE FreeBSD 11.0-STABLE #17 r312232: Sun Jan 15 10:59:10 > EST 2017 root@S1:/usr/src/11-STABLE/obj/usr/src/11-STABLE/src/sys/MYKERNEL > amd64 > > # zfs create zroot/bhyve/test > # zfs set snapshot_limit=0 zroot/bhyve/test > # zfs snapshot zroot/bhyve/test@1 > > > # zfs snapshot zroot/bhyve/test@2 > # zfs snapshot zroot/bhyve/test@3 > # zfs list -t snapshot | grep zroot/bhyve/test > zroot/bhyve/test@1 0 - > 88K - > zroot/bhyve/test@2 0 - > 88K - > zroot/bhyve/test@3 0 - > 88K - > # zfs get all zroot/bhyve/test | grep snapshot > zroot/bhyve/test usedbysnapshots 0 - > zroot/bhyve/test snapshot_limit 0 local > zroot/bhyve/test snapshot_count 3 local > > Also wanted to verify 0 was not being mistaken for none. > > # for snapshot in `zfs list -t snapshot | grep zroot/bhyve/test | awk > '{print $1}'`; do zfs destroy $snapshot ; done > > # zfs get all zroot/bhyve/test | grep snapshot > zroot/bhyve/test usedbysnapshots 0 - > zroot/bhyve/test snapshot_limit 0 local > zroot/bhyve/test snapshot_count 0 local > > # zfs set snapshot_limit=1 zroot/bhyve/test > # zfs snapshot zroot/bhyve/test@1 > # zfs snapshot zroot/bhyve/test@2 > # zfs snapshot zroot/bhyve/test@3 > # zfs get all zroot/bhyve/test | grep snapshot > zroot/bhyve/test usedbysnapshots 0 - > zroot/bhyve/test snapshot_limit 1 local > zroot/bhyve/test snapshot_count 3 local > > > Also tested on head > FreeBSD S1 12.0-CURRENT FreeBSD 12.0-CURRENT #26 r312388: Wed Jan 18 > 12:38:52 EST 2017 > root@S1:/usr/src/head/obj/usr/src/head/src/sys/MYKERNEL-NODEBUG > amd64 Hi, I suspect this line from the manpage is key: The limit is not enforced if the user is allowed to change the limit Regards, Gary