Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0f53c823 authored by Oleg Drokin's avatar Oleg Drokin Committed by Greg Kroah-Hartman
Browse files

staging/lustre/ldlm: move cancel_unused_locks_before_replay to sysfs



/proc/fs/lustre/ldlm/cancel_unused_locks_before_replay is
moved to /sys/fs/lustre/ldlm/cancel_unused_locks_before_replay

Signed-off-by: default avatarOleg Drokin <green@linuxhacker.ru>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 18fd8850
Loading
Loading
Loading
Loading
+28 −1
Original line number Original line Diff line number Diff line
@@ -1006,8 +1006,35 @@ void ldlm_destroy_export(struct obd_export *exp)
}
}
EXPORT_SYMBOL(ldlm_destroy_export);
EXPORT_SYMBOL(ldlm_destroy_export);


extern unsigned int ldlm_cancel_unused_locks_before_replay;

static ssize_t cancel_unused_locks_before_replay_show(struct kobject *kobj,
						      struct attribute *attr,
						      char *buf)
{
	return sprintf(buf, "%d\n", ldlm_cancel_unused_locks_before_replay);
}
static ssize_t cancel_unused_locks_before_replay_store(struct kobject *kobj,
						       struct attribute *attr,
						       const char *buffer,
						       size_t count)
{
	int rc;
	unsigned long val;

	rc = kstrtoul(buffer, 10, &val);
	if (rc)
		return rc;

	ldlm_cancel_unused_locks_before_replay = val;

	return count;
}
LUSTRE_RW_ATTR(cancel_unused_locks_before_replay);

/* These are for root of /sys/fs/lustre/ldlm */
/* These are for root of /sys/fs/lustre/ldlm */
struct attribute *ldlm_attrs[] = {
static struct attribute *ldlm_attrs[] = {
	&lustre_attr_cancel_unused_locks_before_replay.attr,
	NULL,
	NULL,
};
};


+0 −4
Original line number Original line Diff line number Diff line
@@ -65,8 +65,6 @@ struct proc_dir_entry *ldlm_type_proc_dir = NULL;
static struct proc_dir_entry *ldlm_ns_proc_dir = NULL;
static struct proc_dir_entry *ldlm_ns_proc_dir = NULL;
struct proc_dir_entry *ldlm_svc_proc_dir = NULL;
struct proc_dir_entry *ldlm_svc_proc_dir = NULL;


extern unsigned int ldlm_cancel_unused_locks_before_replay;

/* during debug dump certain amount of granted locks for one resource to avoid
/* during debug dump certain amount of granted locks for one resource to avoid
 * DDOS. */
 * DDOS. */
unsigned int ldlm_dump_granted_max = 256;
unsigned int ldlm_dump_granted_max = 256;
@@ -91,8 +89,6 @@ int ldlm_proc_setup(void)
		{ "dump_namespaces", &ldlm_dump_ns_fops, NULL, 0222 },
		{ "dump_namespaces", &ldlm_dump_ns_fops, NULL, 0222 },
		{ "dump_granted_max", &ldlm_rw_uint_fops,
		{ "dump_granted_max", &ldlm_rw_uint_fops,
		  &ldlm_dump_granted_max },
		  &ldlm_dump_granted_max },
		{ "cancel_unused_locks_before_replay", &ldlm_rw_uint_fops,
		  &ldlm_cancel_unused_locks_before_replay },
		{ NULL } };
		{ NULL } };
	LASSERT(ldlm_ns_proc_dir == NULL);
	LASSERT(ldlm_ns_proc_dir == NULL);


+10 −0
Original line number Original line Diff line number Diff line
@@ -190,3 +190,13 @@ Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Description:
		Controls extended attributes client-side cache.
		Controls extended attributes client-side cache.
		1 to enable, 0 to disable.
		1 to enable, 0 to disable.

What:		/sys/fs/lustre/ldlm/cancel_unused_locks_before_replay
Date:		May 2015
Contact:	"Oleg Drokin" <oleg.drokin@intel.com>
Description:
		Controls if client should replay unused locks during recovery
		If a client tends to have a lot of unused locks in LRU,
		recovery times might become prolonged.
		1 - just locally cancel unused locks (default)
		0 - replay unused locks.