Lines Matching refs:fsloc
317 static void nfsd4_fslocs_free(struct nfsd4_fs_locations *fsloc)
319 struct nfsd4_fs_location *locations = fsloc->locations;
325 for (i = 0; i < fsloc->locations_count; i++) {
331 fsloc->locations = NULL;
418 fsloc_parse(char **mesg, char *buf, struct nfsd4_fs_locations *fsloc)
423 /* more than one fsloc */
424 if (fsloc->locations)
428 err = get_uint(mesg, &fsloc->locations_count);
431 if (fsloc->locations_count > MAX_FS_LOCATIONS)
433 if (fsloc->locations_count == 0)
436 fsloc->locations = kcalloc(fsloc->locations_count,
439 if (!fsloc->locations)
441 for (i=0; i < fsloc->locations_count; i++) {
448 fsloc->locations[i].hosts = kstrdup(buf, GFP_KERNEL);
449 if (!fsloc->locations[i].hosts)
457 fsloc->locations[i].path = kstrdup(buf, GFP_KERNEL);
458 if (!fsloc->locations[i].path)
468 fsloc->migrated = migrated;
471 nfsd4_fslocs_free(fsloc);
514 fsloc_parse(char **mesg, char *buf, struct nfsd4_fs_locations *fsloc){return 0;}
617 if (strcmp(buf, "fsloc") == 0)
1207 kuid_t anonu, kgid_t anong, struct nfsd4_fs_locations *fsloc)
1220 if (fsloc && fsloc->locations_count > 0) {
1221 char *loctype = (fsloc->migrated) ? "refer" : "replicas";
1225 seq_escape(m, fsloc->locations[0].path, ",;@ \t\n\\");
1227 seq_escape(m, fsloc->locations[0].hosts, ",;@ \t\n\\");
1228 for (i = 1; i < fsloc->locations_count; i++) {
1230 seq_escape(m, fsloc->locations[i].path, ",;@ \t\n\\");
1232 seq_escape(m, fsloc->locations[i].hosts, ",;@ \t\n\\");