579b62faa5
Create a new mount workqueue and delayed_work to enable background scanning and freeing of eofblocks inodes. The scanner kicks in once speculative preallocation occurs and stops requeueing itself when no eofblocks inodes exist. The scan interval is based on the new 'speculative_prealloc_lifetime' tunable (default to 5m). The background scanner performs unfiltered, best effort scans (which skips inodes under lock contention or with a dirty cache mapping). Signed-off-by: Brian Foster <bfoster@redhat.com> Reviewed-by: Mark Tinguely <tinguely@sgi.com> Reviewed-by: Dave Chinner <dchinner@redhat.com> Signed-off-by: Ben Myers <bpm@sgi.com>
45 lines
1.6 KiB
C
45 lines
1.6 KiB
C
/*
|
|
* Copyright (c) 2000-2005 Silicon Graphics, Inc.
|
|
* All Rights Reserved.
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License as
|
|
* published by the Free Software Foundation.
|
|
*
|
|
* This program is distributed in the hope that it would be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write the Free Software Foundation,
|
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
*/
|
|
#include "xfs.h"
|
|
#include "xfs_sysctl.h"
|
|
|
|
/*
|
|
* Tunable XFS parameters. xfs_params is required even when CONFIG_SYSCTL=n,
|
|
* other XFS code uses these values. Times are measured in centisecs (i.e.
|
|
* 100ths of a second) with the exception of eofb_timer, which is measured in
|
|
* seconds.
|
|
*/
|
|
xfs_param_t xfs_params = {
|
|
/* MIN DFLT MAX */
|
|
.sgid_inherit = { 0, 0, 1 },
|
|
.symlink_mode = { 0, 0, 1 },
|
|
.panic_mask = { 0, 0, 255 },
|
|
.error_level = { 0, 3, 11 },
|
|
.syncd_timer = { 1*100, 30*100, 7200*100},
|
|
.stats_clear = { 0, 0, 1 },
|
|
.inherit_sync = { 0, 1, 1 },
|
|
.inherit_nodump = { 0, 1, 1 },
|
|
.inherit_noatim = { 0, 1, 1 },
|
|
.xfs_buf_timer = { 100/2, 1*100, 30*100 },
|
|
.xfs_buf_age = { 1*100, 15*100, 7200*100},
|
|
.inherit_nosym = { 0, 0, 1 },
|
|
.rotorstep = { 1, 1, 255 },
|
|
.inherit_nodfrg = { 0, 1, 1 },
|
|
.fstrm_timer = { 1, 30*100, 3600*100},
|
|
.eofb_timer = { 1, 300, 3600*24},
|
|
};
|