ldiskfs_osd_cache_seq_write(struct file *file, const char *buffer,
size_t count, loff_t *off)
{
- struct seq_file *m = file->private_data;
- struct dt_device *dt = m->private;
+ struct seq_file *m = file->private_data;
+ struct dt_device *dt = m->private;
struct osd_device *osd = osd_dt_dev(dt);
- int val, rc;
+ int rc;
+ __s64 val;
LASSERT(osd != NULL);
if (unlikely(osd->od_mnt == NULL))
return -EINPROGRESS;
- rc = lprocfs_write_helper(buffer, count, &val);
+ rc = lprocfs_str_to_s64(buffer, count, &val);
if (rc)
return rc;
ldiskfs_osd_wcache_seq_write(struct file *file, const char *buffer,
size_t count, loff_t *off)
{
- struct seq_file *m = file->private_data;
- struct dt_device *dt = m->private;
+ struct seq_file *m = file->private_data;
+ struct dt_device *dt = m->private;
struct osd_device *osd = osd_dt_dev(dt);
- int val, rc;
+ int rc;
+ __s64 val;
LASSERT(osd != NULL);
if (unlikely(osd->od_mnt == NULL))
return -EINPROGRESS;
- rc = lprocfs_write_helper(buffer, count, &val);
+ rc = lprocfs_str_to_s64(buffer, count, &val);
if (rc)
return rc;
ldiskfs_osd_pdo_seq_write(struct file *file, const char *buffer,
size_t count, loff_t *off)
{
- int pdo, rc;
+ int rc;
+ __s64 pdo;
- rc = lprocfs_write_helper(buffer, count, &pdo);
- if (rc != 0)
- return rc;
+ rc = lprocfs_str_to_s64(buffer, count, &pdo);
+ if (rc != 0)
+ return rc;
- ldiskfs_pdo = !!pdo;
+ ldiskfs_pdo = !!pdo;
- return count;
+ return count;
}
LPROC_SEQ_FOPS(ldiskfs_osd_pdo);
ldiskfs_osd_auto_scrub_seq_write(struct file *file, const char *buffer,
size_t count, loff_t *off)
{
- struct seq_file *m = file->private_data;
- struct dt_device *dt = m->private;
+ struct seq_file *m = file->private_data;
+ struct dt_device *dt = m->private;
struct osd_device *dev = osd_dt_dev(dt);
- int val, rc;
+ int rc;
+ __s64 val;
LASSERT(dev != NULL);
if (unlikely(dev->od_mnt == NULL))
return -EINPROGRESS;
- rc = lprocfs_write_helper(buffer, count, &val);
+ rc = lprocfs_str_to_s64(buffer, count, &val);
if (rc)
return rc;
ldiskfs_osd_full_scrub_ratio_seq_write(struct file *file, const char *buffer,
size_t count, loff_t *off)
{
- struct seq_file *m = file->private_data;
- struct dt_device *dt = m->private;
+ struct seq_file *m = file->private_data;
+ struct dt_device *dt = m->private;
struct osd_device *dev = osd_dt_dev(dt);
- int val, rc;
+ int rc;
+ __s64 val;
LASSERT(dev != NULL);
if (unlikely(dev->od_mnt == NULL))
return -EINPROGRESS;
- rc = lprocfs_write_helper(buffer, count, &val);
+ rc = lprocfs_str_to_s64(buffer, count, &val);
if (rc != 0)
return rc;
const char *buffer,
size_t count, loff_t *off)
{
- struct seq_file *m = file->private_data;
- struct dt_device *dt = m->private;
+ struct seq_file *m = file->private_data;
+ struct dt_device *dt = m->private;
struct osd_device *dev = osd_dt_dev(dt);
- int val, rc;
+ int rc;
+ __s64 val;
LASSERT(dev != NULL);
if (unlikely(dev->od_mnt == NULL))
return -EINPROGRESS;
- rc = lprocfs_write_helper(buffer, count, &val);
+ rc = lprocfs_str_to_s64(buffer, count, &val);
if (rc != 0)
return rc;
const char *buffer,
size_t count, loff_t *off)
{
- int track_declares_assert;
- int rc;
+ __s64 track_declares_assert;
+ int rc;
- rc = lprocfs_write_helper(buffer, count, &track_declares_assert);
+ rc = lprocfs_str_to_s64(buffer, count, &track_declares_assert);
if (rc != 0)
return rc;
ldiskfs_osd_readcache_seq_write(struct file *file, const char *buffer,
size_t count, loff_t *off)
{
- struct seq_file *m = file->private_data;
- struct dt_device *dt = m->private;
+ struct seq_file *m = file->private_data;
+ struct dt_device *dt = m->private;
struct osd_device *osd = osd_dt_dev(dt);
- __u64 val;
- int rc;
+ __s64 val;
+ int rc;
LASSERT(osd != NULL);
if (unlikely(osd->od_mnt == NULL))
return -EINPROGRESS;
- rc = lprocfs_write_u64_helper(buffer, count, &val);
+ rc = lprocfs_str_to_s64(buffer, count, &val);
if (rc)
return rc;
+ if (val < 0)
+ return -ERANGE;
osd->od_readcache_max_filesize = val > OSD_MAX_CACHE_SIZE ?
OSD_MAX_CACHE_SIZE : val;
ldiskfs_osd_index_in_idif_seq_write(struct file *file, const char *buffer,
size_t count, loff_t *off)
{
- struct lu_env env;
- struct seq_file *m = file->private_data;
- struct dt_device *dt = m->private;
- struct osd_device *dev = osd_dt_dev(dt);
- struct lu_target *tgt;
- int val;
- int rc;
+ struct lu_env env;
+ struct seq_file *m = file->private_data;
+ struct dt_device *dt = m->private;
+ struct osd_device *dev = osd_dt_dev(dt);
+ struct lu_target *tgt;
+ __s64 val;
+ int rc;
LASSERT(dev != NULL);
if (unlikely(dev->od_mnt == NULL))
return -EINPROGRESS;
- rc = lprocfs_write_helper(buffer, count, &val);
+ rc = lprocfs_str_to_s64(buffer, count, &val);
if (rc != 0)
return rc;