Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 4 Mar 2020 04:44:33 +0000 (UTC)
From:      Alexander Motin <mav@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org
Subject:   svn commit: r358608 - stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs
Message-ID:  <202003040444.0244iXhJ030718@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: mav
Date: Wed Mar  4 04:44:33 2020
New Revision: 358608
URL: https://svnweb.freebsd.org/changeset/base/358608

Log:
  MFC r358357: MFZoL: Relax restriction on zfs_ioc_next_obj() iteration
  
  Per the documentation for dnode_next_offset in dnode.c, the "txg"
  parameter specifies a lower bound on which transaction the dnode can
  be found in. We are interested in all dnodes that are removed between
  the first and last transaction in the snapshot. It doesn't need to be
  created in that snapshot to correspond to a removed file.
  
  In fact, the behavior of zfs diff in the test case exactly matches
  this: the transaction that created the data that was deleted in snapshot
  "2" was produced before, in snapshot "1", definitely predating the first
  transaction in snapshot "2".
  
  Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
  Signed-off-by: Tim Chase <Tim Chase <tim@onlight.com>
  Closes #2081
  zfsonlinux/zfs@7290cd3c4ed19fb3f75b8133db2e36afcdd24beb

Modified:
  stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
==============================================================================
--- stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c	Wed Mar  4 04:44:08 2020	(r358607)
+++ stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c	Wed Mar  4 04:44:33 2020	(r358608)
@@ -5481,8 +5481,7 @@ zfs_ioc_next_obj(zfs_cmd_t *zc)
 	if (error != 0)
 		return (error);
 
-	error = dmu_object_next(os, &zc->zc_obj, B_FALSE,
-	    dsl_dataset_phys(os->os_dsl_dataset)->ds_prev_snap_txg);
+	error = dmu_object_next(os, &zc->zc_obj, B_FALSE, 0);
 
 	dmu_objset_rele(os, FTAG);
 	return (error);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202003040444.0244iXhJ030718>