Commit 5804b11e authored by Oleg Drokin's avatar Oleg Drokin Committed by Greg Kroah-Hartman

staging/lustre/llite: move /proc/fs/lustre/llite/kbytes* to sysfs

Move kbytestotal, kbytesavail and kbytesfree files from
/proc/fs/lustre/llite/* to /sys/fs/lustre/llite/*/
Signed-off-by: default avatarOleg Drokin <green@linuxhacker.ru>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 364bcfc8
...@@ -66,14 +66,15 @@ static ssize_t blocksize_show(struct kobject *kobj, struct attribute *attr, ...@@ -66,14 +66,15 @@ static ssize_t blocksize_show(struct kobject *kobj, struct attribute *attr,
} }
LUSTRE_RO_ATTR(blocksize); LUSTRE_RO_ATTR(blocksize);
static int ll_kbytestotal_seq_show(struct seq_file *m, void *v) static ssize_t kbytestotal_show(struct kobject *kobj, struct attribute *attr,
char *buf)
{ {
struct super_block *sb = (struct super_block *)m->private; struct ll_sb_info *sbi = container_of(kobj, struct ll_sb_info,
ll_kobj);
struct obd_statfs osfs; struct obd_statfs osfs;
int rc; int rc;
LASSERT(sb != NULL); rc = ll_statfs_internal(sbi->ll_sb, &osfs,
rc = ll_statfs_internal(sb, &osfs,
cfs_time_shift_64(-OBD_STATFS_CACHE_SECONDS), cfs_time_shift_64(-OBD_STATFS_CACHE_SECONDS),
OBD_STATFS_NODELAY); OBD_STATFS_NODELAY);
if (!rc) { if (!rc) {
...@@ -83,21 +84,22 @@ static int ll_kbytestotal_seq_show(struct seq_file *m, void *v) ...@@ -83,21 +84,22 @@ static int ll_kbytestotal_seq_show(struct seq_file *m, void *v)
while (blk_size >>= 1) while (blk_size >>= 1)
result <<= 1; result <<= 1;
seq_printf(m, "%llu\n", result); rc = sprintf(buf, "%llu\n", result);
} }
return rc; return rc;
} }
LPROC_SEQ_FOPS_RO(ll_kbytestotal); LUSTRE_RO_ATTR(kbytestotal);
static int ll_kbytesfree_seq_show(struct seq_file *m, void *v) static ssize_t kbytesfree_show(struct kobject *kobj, struct attribute *attr,
char *buf)
{ {
struct super_block *sb = (struct super_block *)m->private; struct ll_sb_info *sbi = container_of(kobj, struct ll_sb_info,
ll_kobj);
struct obd_statfs osfs; struct obd_statfs osfs;
int rc; int rc;
LASSERT(sb != NULL); rc = ll_statfs_internal(sbi->ll_sb, &osfs,
rc = ll_statfs_internal(sb, &osfs,
cfs_time_shift_64(-OBD_STATFS_CACHE_SECONDS), cfs_time_shift_64(-OBD_STATFS_CACHE_SECONDS),
OBD_STATFS_NODELAY); OBD_STATFS_NODELAY);
if (!rc) { if (!rc) {
...@@ -107,21 +109,22 @@ static int ll_kbytesfree_seq_show(struct seq_file *m, void *v) ...@@ -107,21 +109,22 @@ static int ll_kbytesfree_seq_show(struct seq_file *m, void *v)
while (blk_size >>= 1) while (blk_size >>= 1)
result <<= 1; result <<= 1;
seq_printf(m, "%llu\n", result); rc = sprintf(buf, "%llu\n", result);
} }
return rc; return rc;
} }
LPROC_SEQ_FOPS_RO(ll_kbytesfree); LUSTRE_RO_ATTR(kbytesfree);
static int ll_kbytesavail_seq_show(struct seq_file *m, void *v) static ssize_t kbytesavail_show(struct kobject *kobj, struct attribute *attr,
char *buf)
{ {
struct super_block *sb = (struct super_block *)m->private; struct ll_sb_info *sbi = container_of(kobj, struct ll_sb_info,
ll_kobj);
struct obd_statfs osfs; struct obd_statfs osfs;
int rc; int rc;
LASSERT(sb != NULL); rc = ll_statfs_internal(sbi->ll_sb, &osfs,
rc = ll_statfs_internal(sb, &osfs,
cfs_time_shift_64(-OBD_STATFS_CACHE_SECONDS), cfs_time_shift_64(-OBD_STATFS_CACHE_SECONDS),
OBD_STATFS_NODELAY); OBD_STATFS_NODELAY);
if (!rc) { if (!rc) {
...@@ -131,12 +134,12 @@ static int ll_kbytesavail_seq_show(struct seq_file *m, void *v) ...@@ -131,12 +134,12 @@ static int ll_kbytesavail_seq_show(struct seq_file *m, void *v)
while (blk_size >>= 1) while (blk_size >>= 1)
result <<= 1; result <<= 1;
seq_printf(m, "%llu\n", result); rc = sprintf(buf, "%llu\n", result);
} }
return rc; return rc;
} }
LPROC_SEQ_FOPS_RO(ll_kbytesavail); LUSTRE_RO_ATTR(kbytesavail);
static int ll_filestotal_seq_show(struct seq_file *m, void *v) static int ll_filestotal_seq_show(struct seq_file *m, void *v)
{ {
...@@ -840,9 +843,6 @@ static struct lprocfs_vars lprocfs_llite_obd_vars[] = { ...@@ -840,9 +843,6 @@ static struct lprocfs_vars lprocfs_llite_obd_vars[] = {
/* { "mntpt_path", ll_rd_path, 0, 0 }, */ /* { "mntpt_path", ll_rd_path, 0, 0 }, */
{ "fstype", &ll_fstype_fops, NULL, 0 }, { "fstype", &ll_fstype_fops, NULL, 0 },
{ "site", &ll_site_stats_fops, NULL, 0 }, { "site", &ll_site_stats_fops, NULL, 0 },
{ "kbytestotal", &ll_kbytestotal_fops, NULL, 0 },
{ "kbytesfree", &ll_kbytesfree_fops, NULL, 0 },
{ "kbytesavail", &ll_kbytesavail_fops, NULL, 0 },
{ "filestotal", &ll_filestotal_fops, NULL, 0 }, { "filestotal", &ll_filestotal_fops, NULL, 0 },
{ "filesfree", &ll_filesfree_fops, NULL, 0 }, { "filesfree", &ll_filesfree_fops, NULL, 0 },
{ "client_type", &ll_client_type_fops, NULL, 0 }, { "client_type", &ll_client_type_fops, NULL, 0 },
...@@ -874,6 +874,9 @@ static struct lprocfs_vars lprocfs_llite_obd_vars[] = { ...@@ -874,6 +874,9 @@ static struct lprocfs_vars lprocfs_llite_obd_vars[] = {
static struct attribute *llite_attrs[] = { static struct attribute *llite_attrs[] = {
&lustre_attr_blocksize.attr, &lustre_attr_blocksize.attr,
&lustre_attr_kbytestotal.attr,
&lustre_attr_kbytesfree.attr,
&lustre_attr_kbytesavail.attr,
NULL, NULL,
}; };
......
...@@ -45,3 +45,23 @@ Date: May 2015 ...@@ -45,3 +45,23 @@ Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com> Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description: Description:
Biggest blocksize on object storage server for this filesystem. Biggest blocksize on object storage server for this filesystem.
What: /sys/fs/lustre/llite/<fsname>-<uuid>/kbytestotal
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Shows total number of kilobytes of space on this filesystem
What: /sys/fs/lustre/llite/<fsname>-<uuid>/kbytesfree
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Shows total number of free kilobytes of space on this filesystem
What: /sys/fs/lustre/llite/<fsname>-<uuid>/kbytesavail
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Shows total number of free kilobytes of space on this filesystem
actually available for use (taking into account per-client
grants and filesystem reservations).
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment