X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Fosd-ldiskfs%2Fosd_lproc.c;h=0c93d277a4929f0f8ee8e5db49606a984aa9c26c;hp=bbd5779179d2fbe38954a98044e5aa88f8337aba;hb=a48853cf3dc51b24cc276fcf5f2e3e25a32c0d25;hpb=7e21ea59edcc65426e1753ab1884b9a2b93826ce diff --git a/lustre/osd-ldiskfs/osd_lproc.c b/lustre/osd-ldiskfs/osd_lproc.c index bbd5779..0c93d27 100644 --- a/lustre/osd-ldiskfs/osd_lproc.c +++ b/lustre/osd-ldiskfs/osd_lproc.c @@ -383,7 +383,7 @@ static int ldiskfs_osd_auto_scrub_seq_show(struct seq_file *m, void *data) if (unlikely(dev->od_mnt == NULL)) return -EINPROGRESS; - seq_printf(m, "%d\n", !dev->od_noscrub); + seq_printf(m, "%lld\n", dev->od_auto_scrub_interval); return 0; } @@ -405,7 +405,7 @@ ldiskfs_osd_auto_scrub_seq_write(struct file *file, const char __user *buffer, if (rc) return rc; - dev->od_noscrub = !val; + dev->od_auto_scrub_interval = val; return count; } LPROC_SEQ_FOPS(ldiskfs_osd_auto_scrub); @@ -645,6 +645,41 @@ int osd_register_proc_index_in_idif(struct osd_device *osd) } #endif +static int ldiskfs_osd_index_backup_seq_show(struct seq_file *m, void *data) +{ + struct osd_device *dev = osd_dt_dev((struct dt_device *)m->private); + + LASSERT(dev != NULL); + if (unlikely(dev->od_mnt == NULL)) + return -EINPROGRESS; + + seq_printf(m, "%d\n", dev->od_index_backup_policy); + return 0; +} + +static ssize_t ldiskfs_osd_index_backup_seq_write(struct file *file, + const char __user *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); + __s64 val; + int rc; + + LASSERT(dev != NULL); + if (unlikely(dev->od_mnt == NULL)) + return -EINPROGRESS; + + rc = lprocfs_str_to_s64(buffer, count, &val); + if (rc) + return rc; + + dev->od_index_backup_policy = val; + return count; +} +LPROC_SEQ_FOPS(ldiskfs_osd_index_backup); + LPROC_SEQ_FOPS_RO_TYPE(ldiskfs, dt_blksize); LPROC_SEQ_FOPS_RO_TYPE(ldiskfs, dt_kbytestotal); LPROC_SEQ_FOPS_RO_TYPE(ldiskfs, dt_kbytesfree); @@ -687,6 +722,8 @@ struct lprocfs_vars lprocfs_osd_obd_vars[] = { .fops = &ldiskfs_osd_wcache_fops }, { .name = "readcache_max_filesize", .fops = &ldiskfs_osd_readcache_fops }, + { .name = "index_backup", + .fops = &ldiskfs_osd_index_backup_fops }, { NULL } };