-#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 6, 50, 0)
- if (exp->exp_need_mne_swab)
- lustre_swab_mgs_nidtbl_entry(last_in_unit);
-#endif
- rc += bytes_in_unit;
- buf += bytes_in_unit;
- last_in_unit = NULL;
- }
- LASSERT((rc & (unit_size - 1)) == 0);
-
- if (units_in_page == 0) {
- /* allocate a new page */
- pages[index] = cfs_alloc_page(CFS_ALLOC_STD);
- if (pages[index] == NULL) {
- rc = -ENOMEM;
- break;
- }
-
- /* destroy previous map */
- if (index > 0)
- cfs_kunmap(pages[index - 1]);
-
- /* reassign buffer */
- buf = cfs_kmap(pages[index]);
- ++index;
-
- units_in_page = CFS_PAGE_SIZE / unit_size;
- LASSERT(units_in_page > 0);
- }
-
- /* allocate an unit */
- LASSERT(((long)buf & (unit_size - 1)) == 0);
- bytes_in_unit = unit_size;
- --units_in_page;
- --units_total;
- }
-
- /* fill in entry. */
- entry = (struct mgs_nidtbl_entry *)buf;
- entry->mne_version = tgt->mnt_version;
- entry->mne_instance = mti->mti_instance;
- entry->mne_index = mti->mti_stripe_index;
- entry->mne_length = entry_len;
- entry->mne_type = tgt->mnt_type;
- entry->mne_nid_type = 0;
- entry->mne_nid_size = sizeof(lnet_nid_t);
- entry->mne_nid_count = mti->mti_nid_count;
- memcpy(entry->u.nids, mti->mti_nids,
- mti->mti_nid_count * sizeof(lnet_nid_t));
-
-#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 6, 50, 0)
- /* For LU-1644, swab entry for 2.2 clients. */
- if (exp->exp_need_mne_swab)
- lustre_swab_mgs_nidtbl_entry(entry);
-#endif
-
- version = tgt->mnt_version;
- rc += entry_len;
- buf += entry_len;
-
- bytes_in_unit -= entry_len;
- last_in_unit = entry;
-
- CDEBUG(D_MGS, "fsname %s, entry size %d, pages %d/%d/%d/%d.\n",
- tbl->mn_fsdb->fsdb_name, entry_len,
- bytes_in_unit, index, nrpages, units_total);
- }
- if (index > 0)
- cfs_kunmap(pages[index - 1]);
+ rc += bytes_in_unit;
+ buf += bytes_in_unit;
+ last_in_unit = NULL;
+ }
+ LASSERT((rc & (unit_size - 1)) == 0);
+
+ if (units_in_page == 0) {
+ /* allocate a new page */
+ pages[index] = alloc_page(GFP_KERNEL);
+ if (!pages[index]) {
+ rc = -ENOMEM;
+ break;
+ }
+
+ /* destroy previous map */
+ if (index > 0)
+ kunmap(pages[index - 1]);
+
+ /* reassign buffer */
+ buf = kmap(pages[index]);
+ ++index;
+
+ units_in_page = PAGE_SIZE / unit_size;
+ LASSERT(units_in_page > 0);
+ }
+
+ /* allocate an unit */
+ LASSERT(((long)buf & (unit_size - 1)) == 0);
+ bytes_in_unit = unit_size;
+ --units_in_page;
+ --units_total;
+ }
+
+ /* fill in entry. */
+ entry = (struct mgs_nidtbl_entry *)buf;
+ entry->mne_version = tgt->mnt_version;
+ entry->mne_instance = mti->mti_instance;
+ entry->mne_index = mti->mti_stripe_index;
+ entry->mne_length = entry_len;
+ entry->mne_type = tgt->mnt_type;
+ entry->mne_nid_type = 0;
+ entry->mne_nid_size = sizeof(lnet_nid_t);
+ entry->mne_nid_count = mti->mti_nid_count;
+ memcpy(entry->u.nids, mti->mti_nids,
+ mti->mti_nid_count * sizeof(lnet_nid_t));
+
+ version = tgt->mnt_version;
+ rc += entry_len;
+ buf += entry_len;
+
+ bytes_in_unit -= entry_len;
+ last_in_unit = entry;
+
+ CDEBUG(D_MGS, "fsname %s, entry size %d, pages %d/%d/%d/%d.\n",
+ tbl->mn_fsdb->fsdb_name, entry_len,
+ bytes_in_unit, index, nrpages, units_total);
+ }
+ if (index > 0)
+ kunmap(pages[index - 1]);