diff options
Diffstat (limited to 'fs/nfsd/export.c')
| -rw-r--r-- | fs/nfsd/export.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/fs/nfsd/export.c b/fs/nfsd/export.c index 30a739d896ff..c3e3b6e55ae2 100644 --- a/fs/nfsd/export.c +++ b/fs/nfsd/export.c | |||
| @@ -20,6 +20,7 @@ | |||
| 20 | #include "nfsd.h" | 20 | #include "nfsd.h" |
| 21 | #include "nfsfh.h" | 21 | #include "nfsfh.h" |
| 22 | #include "netns.h" | 22 | #include "netns.h" |
| 23 | #include "pnfs.h" | ||
| 23 | 24 | ||
| 24 | #define NFSDDBG_FACILITY NFSDDBG_EXPORT | 25 | #define NFSDDBG_FACILITY NFSDDBG_EXPORT |
| 25 | 26 | ||
| @@ -545,6 +546,7 @@ static int svc_export_parse(struct cache_detail *cd, char *mesg, int mlen) | |||
| 545 | 546 | ||
| 546 | exp.ex_client = dom; | 547 | exp.ex_client = dom; |
| 547 | exp.cd = cd; | 548 | exp.cd = cd; |
| 549 | exp.ex_devid_map = NULL; | ||
| 548 | 550 | ||
| 549 | /* expiry */ | 551 | /* expiry */ |
| 550 | err = -EINVAL; | 552 | err = -EINVAL; |
| @@ -621,6 +623,8 @@ static int svc_export_parse(struct cache_detail *cd, char *mesg, int mlen) | |||
| 621 | if (!gid_valid(exp.ex_anon_gid)) | 623 | if (!gid_valid(exp.ex_anon_gid)) |
| 622 | goto out4; | 624 | goto out4; |
| 623 | err = 0; | 625 | err = 0; |
| 626 | |||
| 627 | nfsd4_setup_layout_type(&exp); | ||
| 624 | } | 628 | } |
| 625 | 629 | ||
| 626 | expp = svc_export_lookup(&exp); | 630 | expp = svc_export_lookup(&exp); |
| @@ -703,6 +707,7 @@ static void svc_export_init(struct cache_head *cnew, struct cache_head *citem) | |||
| 703 | new->ex_fslocs.locations = NULL; | 707 | new->ex_fslocs.locations = NULL; |
| 704 | new->ex_fslocs.locations_count = 0; | 708 | new->ex_fslocs.locations_count = 0; |
| 705 | new->ex_fslocs.migrated = 0; | 709 | new->ex_fslocs.migrated = 0; |
| 710 | new->ex_layout_type = 0; | ||
| 706 | new->ex_uuid = NULL; | 711 | new->ex_uuid = NULL; |
| 707 | new->cd = item->cd; | 712 | new->cd = item->cd; |
| 708 | } | 713 | } |
| @@ -717,6 +722,8 @@ static void export_update(struct cache_head *cnew, struct cache_head *citem) | |||
| 717 | new->ex_anon_uid = item->ex_anon_uid; | 722 | new->ex_anon_uid = item->ex_anon_uid; |
| 718 | new->ex_anon_gid = item->ex_anon_gid; | 723 | new->ex_anon_gid = item->ex_anon_gid; |
| 719 | new->ex_fsid = item->ex_fsid; | 724 | new->ex_fsid = item->ex_fsid; |
| 725 | new->ex_devid_map = item->ex_devid_map; | ||
| 726 | item->ex_devid_map = NULL; | ||
| 720 | new->ex_uuid = item->ex_uuid; | 727 | new->ex_uuid = item->ex_uuid; |
| 721 | item->ex_uuid = NULL; | 728 | item->ex_uuid = NULL; |
| 722 | new->ex_fslocs.locations = item->ex_fslocs.locations; | 729 | new->ex_fslocs.locations = item->ex_fslocs.locations; |
| @@ -725,6 +732,7 @@ static void export_update(struct cache_head *cnew, struct cache_head *citem) | |||
| 725 | item->ex_fslocs.locations_count = 0; | 732 | item->ex_fslocs.locations_count = 0; |
| 726 | new->ex_fslocs.migrated = item->ex_fslocs.migrated; | 733 | new->ex_fslocs.migrated = item->ex_fslocs.migrated; |
| 727 | item->ex_fslocs.migrated = 0; | 734 | item->ex_fslocs.migrated = 0; |
| 735 | new->ex_layout_type = item->ex_layout_type; | ||
| 728 | new->ex_nflavors = item->ex_nflavors; | 736 | new->ex_nflavors = item->ex_nflavors; |
| 729 | for (i = 0; i < MAX_SECINFO_LIST; i++) { | 737 | for (i = 0; i < MAX_SECINFO_LIST; i++) { |
| 730 | new->ex_flavors[i] = item->ex_flavors[i]; | 738 | new->ex_flavors[i] = item->ex_flavors[i]; |
