mirror of
https://github.com/torvalds/linux.git
synced 2026-06-07 14:04:54 +02:00
staging: lustre: mgc: add nid iteration
mgc_apply_recover_logs use only first nid from entry, this could be the problem for a cluster with several network address for a one node. Signed-off-by: Alexander Boyko <alexander.boyko@seagate.com> Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5950 Xyratex-bug-id: MRP-2255 Reviewed-on: http://review.whamcloud.com/12829 Reviewed-by: Andreas Dilger <andreas.dilger@intel.com> Reviewed-by: Mike Pershin <mike.pershin@intel.com> Reviewed-by: Ann Koehler <amk@cray.com> Signed-off-by: James Simmons <jsimmons@infradead.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
d09cfb0061
commit
bc875120b9
|
|
@ -1159,7 +1159,7 @@ static int mgc_apply_recover_logs(struct obd_device *mgc,
|
|||
|
||||
while (datalen > 0) {
|
||||
int entry_len = sizeof(*entry);
|
||||
int is_ost;
|
||||
int is_ost, i;
|
||||
struct obd_device *obd;
|
||||
char *obdname;
|
||||
char *cname;
|
||||
|
|
@ -1265,11 +1265,17 @@ static int mgc_apply_recover_logs(struct obd_device *mgc,
|
|||
continue;
|
||||
}
|
||||
|
||||
/* TODO: iterate all nids to find one */
|
||||
/* iterate all nids to find one */
|
||||
/* find uuid by nid */
|
||||
rc = client_import_find_conn(obd->u.cli.cl_import,
|
||||
entry->u.nids[0],
|
||||
(struct obd_uuid *)uuid);
|
||||
rc = -ENOENT;
|
||||
for (i = 0; i < entry->mne_nid_count; i++) {
|
||||
rc = client_import_find_conn(obd->u.cli.cl_import,
|
||||
entry->u.nids[0],
|
||||
(struct obd_uuid *)uuid);
|
||||
if (!rc)
|
||||
break;
|
||||
}
|
||||
|
||||
up_read(&obd->u.cli.cl_sem);
|
||||
if (rc < 0) {
|
||||
CERROR("mgc: cannot find uuid by nid %s\n",
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user