aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/nfs4namespace.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/nfs/nfs4namespace.c')
-rw-r--r--fs/nfs/nfs4namespace.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/fs/nfs/nfs4namespace.c b/fs/nfs/nfs4namespace.c
index bd1b1617905d..5f9ba41ed5bf 100644
--- a/fs/nfs/nfs4namespace.c
+++ b/fs/nfs/nfs4namespace.c
@@ -172,7 +172,10 @@ static struct vfsmount *nfs_follow_referral(const struct vfsmount *mnt_parent,
172 172
173 s = 0; 173 s = 0;
174 while (s < location->nservers) { 174 while (s < location->nservers) {
175 struct sockaddr_in addr = {}; 175 struct sockaddr_in addr = {
176 .sin_family = AF_INET,
177 .sin_port = htons(NFS_PORT),
178 };
176 179
177 if (location->servers[s].len <= 0 || 180 if (location->servers[s].len <= 0 ||
178 valid_ipaddr4(location->servers[s].data) < 0) { 181 valid_ipaddr4(location->servers[s].data) < 0) {
@@ -181,10 +184,9 @@ static struct vfsmount *nfs_follow_referral(const struct vfsmount *mnt_parent,
181 } 184 }
182 185
183 mountdata.hostname = location->servers[s].data; 186 mountdata.hostname = location->servers[s].data;
184 addr.sin_addr.s_addr = in_aton(mountdata.hostname); 187 addr.sin_addr.s_addr = in_aton(mountdata.hostname),
185 addr.sin_family = AF_INET; 188 mountdata.addr = (struct sockaddr *)&addr;
186 addr.sin_port = htons(NFS_PORT); 189 mountdata.addrlen = sizeof(addr);
187 mountdata.addr = &addr;
188 190
189 snprintf(page, PAGE_SIZE, "%s:%s", 191 snprintf(page, PAGE_SIZE, "%s:%s",
190 mountdata.hostname, 192 mountdata.hostname,