diff options
author | kernelOfTruth <[email protected]> | 2015-08-21 03:43:10 +0200 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2016-01-26 15:26:02 -0800 |
commit | a966c5640e432f723753e63354394406a7c3dcf8 (patch) | |
tree | 85256b0cae2619ed097320ba16b51dcf97178642 /man/man5/zfs-module-parameters.5 | |
parent | 460a021391d32b7f2e9eb05a9a01946714174e3b (diff) |
Reintroduce zfs_remove() synchronous deletes
Reintroduce a slightly adapted version of the Illumos logic for
synchronous unlinks. The basic idea here is that only files
smaller than zfs_delete_blocks (20480) blocks should be deleted
synchronously. Unlinking larger files should be handled
asynchronously to minimize impact to the caller.
To accomplish this iput() which is responsible for calling
zfs_znode_delete() on Linux is only called in the delete_now
path. Otherwise zfs_async_iput() is used which allows the
last reference to be dropped by a taskq thread effectively
making the removal asynchronous.
Porting notes:
- Add zfs_delete_blocks module option for performance analysis.
The default value is DMU_MAX_DELETEBLKCNT which is the same
as upstream. Reducing this value means that smaller files
will be unlinked asynchronously like large files.
- All occurrences of zfsvfs changes to zsb.
Ported-by: KernelOfTruth [email protected]
Signed-off-by: Brian Behlendorf <[email protected]>
Diffstat (limited to 'man/man5/zfs-module-parameters.5')
-rw-r--r-- | man/man5/zfs-module-parameters.5 | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/man/man5/zfs-module-parameters.5 b/man/man5/zfs-module-parameters.5 index e0c61ec21..f801f257b 100644 --- a/man/man5/zfs-module-parameters.5 +++ b/man/man5/zfs-module-parameters.5 @@ -718,6 +718,21 @@ Default value: \fB500,000\fR. .sp .ne 2 .na +\fBzfs_delete_blocks\fR (ulong) +.ad +.RS 12n +This is the used to define a large file for the purposes of delete. Files +containing more than \fBzfs_delete_blocks\fR will be deleted asynchronously +while smaller files are deleted synchronously. Decreasing this value will +reduce the time spent in an unlink(2) system call at the expense of a longer +delay before the freed space is available. +.sp +Default value: \fB20,480\fR. +.RE + +.sp +.ne 2 +.na \fBzfs_dirty_data_max\fR (int) .ad .RS 12n |