-struct lprocfs_vars lprocfs_osd_obd_vars[] = {
- { "blocksize", lprocfs_osd_rd_blksize, 0, 0 },
- { "kbytestotal", lprocfs_osd_rd_kbytestotal, 0, 0 },
- { "kbytesfree", lprocfs_osd_rd_kbytesfree, 0, 0 },
- { "kbytesavail", lprocfs_osd_rd_kbytesavail, 0, 0 },
- { "filestotal", lprocfs_osd_rd_filestotal, 0, 0 },
- { "filesfree", lprocfs_osd_rd_filesfree, 0, 0 },
- { "fstype", lprocfs_osd_rd_fstype, 0, 0 },
- { "mntdev", lprocfs_osd_rd_mntdev, 0, 0 },
- { 0 }
+static ssize_t
+ldiskfs_osd_lma_self_repair_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 osd_device *dev = osd_dt_dev(dt);
+ int val;
+ int rc;
+
+ LASSERT(dev != NULL);
+ if (unlikely(dev->od_mnt == NULL))
+ return -EINPROGRESS;
+
+ rc = lprocfs_write_helper(buffer, count, &val);
+ if (rc)
+ return rc;
+
+ dev->od_lma_self_repair = !!val;
+ return count;
+}
+LPROC_SEQ_FOPS(ldiskfs_osd_lma_self_repair);
+
+LPROC_SEQ_FOPS_RO_TYPE(ldiskfs, dt_blksize);
+LPROC_SEQ_FOPS_RO_TYPE(ldiskfs, dt_kbytestotal);
+LPROC_SEQ_FOPS_RO_TYPE(ldiskfs, dt_kbytesfree);
+LPROC_SEQ_FOPS_RO_TYPE(ldiskfs, dt_kbytesavail);
+LPROC_SEQ_FOPS_RO_TYPE(ldiskfs, dt_filestotal);
+LPROC_SEQ_FOPS_RO_TYPE(ldiskfs, dt_filesfree);
+
+struct lprocfs_seq_vars lprocfs_osd_obd_vars[] = {
+ { .name = "blocksize",
+ .fops = &ldiskfs_dt_blksize_fops },
+ { .name = "kbytestotal",
+ .fops = &ldiskfs_dt_kbytestotal_fops },
+ { .name = "kbytesfree",
+ .fops = &ldiskfs_dt_kbytesfree_fops },
+ { .name = "kbytesavail",
+ .fops = &ldiskfs_dt_kbytesavail_fops },
+ { .name = "filestotal",
+ .fops = &ldiskfs_dt_filestotal_fops },
+ { .name = "filesfree",
+ .fops = &ldiskfs_dt_filesfree_fops },
+ { .name = "fstype",
+ .fops = &ldiskfs_osd_fstype_fops },
+ { .name = "mntdev",
+ .fops = &ldiskfs_osd_mntdev_fops },
+ { .name = "force_sync",
+ .fops = &ldiskfs_osd_force_sync_fops },
+ { .name = "pdo",
+ .fops = &ldiskfs_osd_pdo_fops },
+ { .name = "auto_scrub",
+ .fops = &ldiskfs_osd_auto_scrub_fops },
+ { .name = "oi_scrub",
+ .fops = &ldiskfs_osd_oi_scrub_fops },
+ { .name = "read_cache_enable",
+ .fops = &ldiskfs_osd_cache_fops },
+ { .name = "writethrough_cache_enable",
+ .fops = &ldiskfs_osd_wcache_fops },
+ { .name = "readcache_max_filesize",
+ .fops = &ldiskfs_osd_readcache_fops },
+ { .name = "lma_self_repair",
+ .fops = &ldiskfs_osd_lma_self_repair_fops },
+ { 0 }