Whamcloud - gitweb
git://git.whamcloud.com
/
fs
/
lustre-release.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
LU-14182 lov: cancel layout lock on replay deadlock
[fs/lustre-release.git]
/
lustre
/
lmv
/
lproc_lmv.c
diff --git
a/lustre/lmv/lproc_lmv.c
b/lustre/lmv/lproc_lmv.c
index
981b032
..
d313145
100644
(file)
--- a/
lustre/lmv/lproc_lmv.c
+++ b/
lustre/lmv/lproc_lmv.c
@@
-42,36
+42,32
@@
static ssize_t numobd_show(struct kobject *kobj, struct attribute *attr,
char *buf)
{
static ssize_t numobd_show(struct kobject *kobj, struct attribute *attr,
char *buf)
{
- struct obd_device *
dev
= container_of(kobj, struct obd_device,
+ struct obd_device *
obd
= container_of(kobj, struct obd_device,
obd_kset.kobj);
obd_kset.kobj);
- struct lmv_desc *desc;
- desc = &dev->u.lmv.desc;
- return sprintf(buf, "%u\n", desc->ld_tgt_count);
+ return scnprintf(buf, PAGE_SIZE, "%u\n", obd->u.lmv.lmv_mdt_count);
}
LUSTRE_RO_ATTR(numobd);
static ssize_t activeobd_show(struct kobject *kobj, struct attribute *attr,
char *buf)
{
}
LUSTRE_RO_ATTR(numobd);
static ssize_t activeobd_show(struct kobject *kobj, struct attribute *attr,
char *buf)
{
- struct obd_device *
dev
= container_of(kobj, struct obd_device,
+ struct obd_device *
obd
= container_of(kobj, struct obd_device,
obd_kset.kobj);
obd_kset.kobj);
- struct lmv_desc *desc;
- desc = &dev->u.lmv.desc;
-
return sprintf(buf, "%u\n", desc->
ld_active_tgt_count);
+ return scnprintf(buf, PAGE_SIZE, "%u\n",
+
obd->u.lmv.lmv_mdt_descs.ltd_lmv_desc.
ld_active_tgt_count);
}
LUSTRE_RO_ATTR(activeobd);
static ssize_t desc_uuid_show(struct kobject *kobj, struct attribute *attr,
char *buf)
{
}
LUSTRE_RO_ATTR(activeobd);
static ssize_t desc_uuid_show(struct kobject *kobj, struct attribute *attr,
char *buf)
{
- struct obd_device *
dev
= container_of(kobj, struct obd_device,
+ struct obd_device *
obd
= container_of(kobj, struct obd_device,
obd_kset.kobj);
obd_kset.kobj);
- struct lmv_desc *desc;
- desc = &dev->u.lmv.desc;
-
return sprintf(buf, "%s\n", desc->
ld_uuid.uuid);
+ return scnprintf(buf, PAGE_SIZE, "%s\n",
+
obd->u.lmv.lmv_mdt_descs.ltd_lmv_desc.
ld_uuid.uuid);
}
LUSTRE_RO_ATTR(desc_uuid);
}
LUSTRE_RO_ATTR(desc_uuid);
@@
-79,10
+75,11
@@
static ssize_t qos_maxage_show(struct kobject *kobj,
struct attribute *attr,
char *buf)
{
struct attribute *attr,
char *buf)
{
- struct obd_device *
dev
= container_of(kobj, struct obd_device,
+ struct obd_device *
obd
= container_of(kobj, struct obd_device,
obd_kset.kobj);
obd_kset.kobj);
- return sprintf(buf, "%u\n", dev->u.lmv.desc.ld_qos_maxage);
+ return scnprintf(buf, PAGE_SIZE, "%u\n",
+ obd->u.lmv.lmv_mdt_descs.ltd_lmv_desc.ld_qos_maxage);
}
static ssize_t qos_maxage_store(struct kobject *kobj,
}
static ssize_t qos_maxage_store(struct kobject *kobj,
@@
-90,7
+87,7
@@
static ssize_t qos_maxage_store(struct kobject *kobj,
const char *buffer,
size_t count)
{
const char *buffer,
size_t count)
{
- struct obd_device *
dev
= container_of(kobj, struct obd_device,
+ struct obd_device *
obd
= container_of(kobj, struct obd_device,
obd_kset.kobj);
unsigned int val;
int rc;
obd_kset.kobj);
unsigned int val;
int rc;
@@
-99,7
+96,7
@@
static ssize_t qos_maxage_store(struct kobject *kobj,
if (rc)
return rc;
if (rc)
return rc;
-
dev->u.lmv.
desc.ld_qos_maxage = val;
+
obd->u.lmv.lmv_mdt_descs.ltd_lmv_
desc.ld_qos_maxage = val;
return count;
}
return count;
}
@@
-109,11
+106,11
@@
static ssize_t qos_prio_free_show(struct kobject *kobj,
struct attribute *attr,
char *buf)
{
struct attribute *attr,
char *buf)
{
- struct obd_device *
dev
= container_of(kobj, struct obd_device,
+ struct obd_device *
obd
= container_of(kobj, struct obd_device,
obd_kset.kobj);
obd_kset.kobj);
- return s
printf(buf
, "%u%%\n",
-
(dev
->u.lmv.lmv_qos.lq_prio_free * 100 + 255) >> 8);
+ return s
cnprintf(buf, PAGE_SIZE
, "%u%%\n",
+
(obd
->u.lmv.lmv_qos.lq_prio_free * 100 + 255) >> 8);
}
static ssize_t qos_prio_free_store(struct kobject *kobj,
}
static ssize_t qos_prio_free_store(struct kobject *kobj,
@@
-121,9
+118,9
@@
static ssize_t qos_prio_free_store(struct kobject *kobj,
const char *buffer,
size_t count)
{
const char *buffer,
size_t count)
{
- struct obd_device *
dev
= container_of(kobj, struct obd_device,
+ struct obd_device *
obd
= container_of(kobj, struct obd_device,
obd_kset.kobj);
obd_kset.kobj);
- struct lmv_obd *lmv = &
dev
->u.lmv;
+ struct lmv_obd *lmv = &
obd
->u.lmv;
unsigned int val;
int rc;
unsigned int val;
int rc;
@@
-135,8
+132,8
@@
static ssize_t qos_prio_free_store(struct kobject *kobj,
return -EINVAL;
lmv->lmv_qos.lq_prio_free = (val << 8) / 100;
return -EINVAL;
lmv->lmv_qos.lq_prio_free = (val << 8) / 100;
-
lmv->lmv_qos.lq_dirty = 1
;
-
lmv->lmv_qos.lq_reset = 1
;
+
set_bit(LQ_DIRTY, &lmv->lmv_qos.lq_flags)
;
+
set_bit(LQ_RESET, &lmv->lmv_qos.lq_flags)
;
return count;
}
return count;
}
@@
-146,11
+143,11
@@
static ssize_t qos_threshold_rr_show(struct kobject *kobj,
struct attribute *attr,
char *buf)
{
struct attribute *attr,
char *buf)
{
- struct obd_device *
dev
= container_of(kobj, struct obd_device,
+ struct obd_device *
obd
= container_of(kobj, struct obd_device,
obd_kset.kobj);
obd_kset.kobj);
- return s
printf(buf
, "%u%%\n",
-
(dev
->u.lmv.lmv_qos.lq_threshold_rr * 100 + 255) >> 8);
+ return s
cnprintf(buf, PAGE_SIZE
, "%u%%\n",
+
(obd
->u.lmv.lmv_qos.lq_threshold_rr * 100 + 255) >> 8);
}
static ssize_t qos_threshold_rr_store(struct kobject *kobj,
}
static ssize_t qos_threshold_rr_store(struct kobject *kobj,
@@
-158,9
+155,9
@@
static ssize_t qos_threshold_rr_store(struct kobject *kobj,
const char *buffer,
size_t count)
{
const char *buffer,
size_t count)
{
- struct obd_device *
dev
= container_of(kobj, struct obd_device,
+ struct obd_device *
obd
= container_of(kobj, struct obd_device,
obd_kset.kobj);
obd_kset.kobj);
- struct lmv_obd *lmv = &
dev
->u.lmv;
+ struct lmv_obd *lmv = &
obd
->u.lmv;
unsigned int val;
int rc;
unsigned int val;
int rc;
@@
-172,7
+169,7
@@
static ssize_t qos_threshold_rr_store(struct kobject *kobj,
return -EINVAL;
lmv->lmv_qos.lq_threshold_rr = (val << 8) / 100;
return -EINVAL;
lmv->lmv_qos.lq_threshold_rr = (val << 8) / 100;
-
lmv->lmv_qos.lq_dirty = 1
;
+
set_bit(LQ_DIRTY, &lmv->lmv_qos.lq_flags)
;
return count;
}
return count;
}
@@
-181,16
+178,19
@@
LUSTRE_RW_ATTR(qos_threshold_rr);
#ifdef CONFIG_PROC_FS
static void *lmv_tgt_seq_start(struct seq_file *p, loff_t *pos)
{
#ifdef CONFIG_PROC_FS
static void *lmv_tgt_seq_start(struct seq_file *p, loff_t *pos)
{
- struct obd_device *dev = p->private;
- struct lmv_obd *lmv = &dev->u.lmv;
+ struct obd_device *obd = p->private;
+ struct lmv_obd *lmv = &obd->u.lmv;
+ struct lu_tgt_desc *tgt;
+
+ while (*pos < lmv->lmv_mdt_descs.ltd_tgts_size) {
+ tgt = lmv_tgt(lmv, (__u32)*pos);
+ if (tgt)
+ return tgt;
- while (*pos < lmv->tgts_size) {
- if (lmv->tgts[*pos])
- return lmv->tgts[*pos];
++*pos;
}
++*pos;
}
- return
NULL;
+ return NULL;
}
static void lmv_tgt_seq_stop(struct seq_file *p, void *v)
}
static void lmv_tgt_seq_stop(struct seq_file *p, void *v)
@@
-199,17
+199,20
@@
static void lmv_tgt_seq_stop(struct seq_file *p, void *v)
static void *lmv_tgt_seq_next(struct seq_file *p, void *v, loff_t *pos)
{
static void *lmv_tgt_seq_next(struct seq_file *p, void *v, loff_t *pos)
{
- struct obd_device *dev = p->private;
- struct lmv_obd *lmv = &dev->u.lmv;
+ struct obd_device *obd = p->private;
+ struct lmv_obd *lmv = &obd->u.lmv;
+ struct lu_tgt_desc *tgt;
++*pos;
++*pos;
- while (*pos < lmv->tgts_size) {
- if (lmv->tgts[*pos])
- return lmv->tgts[*pos];
+ while (*pos < lmv->lmv_mdt_descs.ltd_tgts_size) {
+ tgt = lmv_tgt(lmv, (__u32)*pos);
+ if (tgt)
+ return tgt;
+
++*pos;
}
++*pos;
}
- return
NULL;
+ return NULL;
}
static int lmv_tgt_seq_show(struct seq_file *p, void *v)
}
static int lmv_tgt_seq_show(struct seq_file *p, void *v)