}
LUSTRE_RW_ATTR(fast_read);
-static ssize_t pio_show(struct kobject *kobj,
- struct attribute *attr,
- char *buf)
-{
- struct ll_sb_info *sbi = container_of(kobj, struct ll_sb_info,
- ll_kset.kobj);
-
- return sprintf(buf, "%u\n", !!(sbi->ll_flags & LL_SBI_PIO));
-}
-
-static ssize_t pio_store(struct kobject *kobj,
- struct attribute *attr,
- const char *buffer,
- size_t count)
-{
- struct ll_sb_info *sbi = container_of(kobj, struct ll_sb_info,
- ll_kset.kobj);
- bool val;
- int rc;
-
- rc = kstrtobool(buffer, &val);
- if (rc)
- return rc;
-
- spin_lock(&sbi->ll_lock);
- if (val)
- sbi->ll_flags |= LL_SBI_PIO;
- else
- sbi->ll_flags &= ~LL_SBI_PIO;
- spin_unlock(&sbi->ll_lock);
-
- return count;
-}
-LUSTRE_RW_ATTR(pio);
-
static int ll_unstable_stats_seq_show(struct seq_file *m, void *v)
{
struct super_block *sb = m->private;
&lustre_attr_default_easize.attr,
&lustre_attr_xattr_cache.attr,
&lustre_attr_fast_read.attr,
- &lustre_attr_pio.attr,
&lustre_attr_tiny_write.attr,
NULL,
};