forked from openzfs/zfs
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add a mechanism to wait for delete queue to drain. When doing redacted send/recv, many workflows involve deleting files that contain sensitive data. Because of the way zfs handles file deletions, snapshots taken quickly after a rm operation can sometimes still contain the file in question, especially if the file is very large. This can result in issues for redacted send/recv users who expect the deleted files to be redacted in the send streams, and not appear in their clones. This change duplicates much of the zpool wait related logic into a zfs wait command, which can be used to wait until the internal deleteq has been drained. Additional wait activities may be added in the future. Reviewed-by: Matthew Ahrens <mahrens@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: John Gallagher <john.gallagher@delphix.com> Signed-off-by: Paul Dagnelie <pcd@delphix.com> Closes openzfs#9707
- Loading branch information
1 parent
301aef6
commit d8c59ad
Showing
25 changed files
with
679 additions
and
11 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
.\" | ||
.\" CDDL HEADER START | ||
.\" | ||
.\" The contents of this file are subject to the terms of the | ||
.\" Common Development and Distribution License (the "License"). | ||
.\" You may not use this file except in compliance with the License. | ||
.\" | ||
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE | ||
.\" or http://www.opensolaris.org/os/licensing. | ||
.\" See the License for the specific language governing permissions | ||
.\" and limitations under the License. | ||
.\" | ||
.\" When distributing Covered Code, include this CDDL HEADER in each | ||
.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE. | ||
.\" If applicable, add the following below this CDDL HEADER, with the | ||
.\" fields enclosed by brackets "[]" replaced with your own identifying | ||
.\" information: Portions Copyright [yyyy] [name of copyright owner] | ||
.\" | ||
.\" CDDL HEADER END | ||
.\" | ||
.\" | ||
.\" Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved. | ||
.\" Copyright (c) 2012, 2018 by Delphix. All rights reserved. | ||
.\" Copyright (c) 2012 Cyril Plisko. All Rights Reserved. | ||
.\" Copyright (c) 2017 Datto Inc. | ||
.\" Copyright (c) 2018 George Melikov. All Rights Reserved. | ||
.\" Copyright 2017 Nexenta Systems, Inc. | ||
.\" Copyright (c) 2017 Open-E, Inc. All Rights Reserved. | ||
.\" | ||
.Dd August 9, 2019 | ||
.Dt ZFS-WAIT 8 | ||
.Os Linux | ||
.Sh NAME | ||
.Nm zfs Ns Pf - Cm wait | ||
.Nd Wait for background activity to stop in a ZFS filesystem | ||
.Sh SYNOPSIS | ||
.Nm | ||
.Cm wait | ||
.Op Fl t Ar activity Ns Oo , Ns Ar activity Ns Oc Ns ... | ||
.Ar fs | ||
.Sh DESCRIPTION | ||
.Bl -tag -width Ds | ||
.It Xo | ||
.Nm | ||
.Cm wait | ||
.Op Fl t Ar activity Ns Oo , Ns Ar activity Ns Oc Ns ... | ||
.Ar fs | ||
.Xc | ||
Waits until all background activity of the given types has ceased in the given | ||
filesystem. | ||
The activity could cease because it has completed or because the filesystem has | ||
been destroyed or unmounted. | ||
If no activities are specified, the command waits until background activity of | ||
every type listed below has ceased. | ||
If there is no activity of the given types in progress, the command returns | ||
immediately. | ||
.Pp | ||
These are the possible values for | ||
.Ar activity , | ||
along with what each one waits for: | ||
.Bd -literal | ||
deleteq The filesystem's internal delete queue to empty | ||
.Ed | ||
.Pp | ||
Note that the internal delete queue does not finish draining until | ||
all large files have had time to be fully destroyed and all open file | ||
handles to unlinked files are closed. | ||
.El | ||
.El | ||
.Sh SEE ALSO | ||
.Xr lsof 8 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.