Exemple #1
0
static int lprocfs_wr_lfsck_speed_limit(struct file *file, const char *buffer,
					unsigned long count, void *data)
{
	struct mdd_device *mdd = data;
	__u32 val;
	int rc;

	LASSERT(mdd != NULL);
	rc = lprocfs_write_helper(buffer, count, &val);
	if (rc != 0)
		return rc;

	rc = lfsck_set_speed(mdd->mdd_bottom, val);
	return rc != 0 ? rc : count;
}
Exemple #2
0
static ssize_t
mdd_lfsck_speed_limit_seq_write(struct file *file, const char *buffer,
				size_t count, loff_t *off)
{
	struct seq_file *m = file->private_data;
	struct mdd_device *mdd = m->private;
	__u32 val;
	int rc;

	LASSERT(mdd != NULL);
	rc = lprocfs_write_helper(buffer, count, &val);
	if (rc != 0)
		return rc;

	rc = lfsck_set_speed(mdd->mdd_bottom, val);
	return rc != 0 ? rc : count;
}
Exemple #3
0
static ssize_t
mdd_lfsck_speed_limit_seq_write(struct file *file, const char __user *buffer,
                                size_t count, loff_t *off)
{
    struct seq_file *m = file->private_data;
    struct mdd_device *mdd = m->private;
    __s64 val;
    int rc;

    LASSERT(mdd != NULL);
    rc = lprocfs_str_to_s64(buffer, count, &val);
    if (rc != 0)
        return rc;
    if (val < 0 || val > INT_MAX)
        return -ERANGE;

    rc = lfsck_set_speed(mdd->mdd_bottom, val);
    return rc != 0 ? rc : count;
}