diff options
Diffstat (limited to 'fs/afs/super.c')
-rw-r--r-- | fs/afs/super.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/fs/afs/super.c b/fs/afs/super.c index e62fb1bdadc6..3d53b78b350d 100644 --- a/fs/afs/super.c +++ b/fs/afs/super.c | |||
@@ -200,10 +200,11 @@ static int afs_parse_options(struct afs_mount_params *params, | |||
200 | token = match_token(p, afs_options_list, args); | 200 | token = match_token(p, afs_options_list, args); |
201 | switch (token) { | 201 | switch (token) { |
202 | case afs_opt_cell: | 202 | case afs_opt_cell: |
203 | cell = afs_cell_lookup(params->net, | 203 | rcu_read_lock(); |
204 | args[0].from, | 204 | cell = afs_lookup_cell_rcu(params->net, |
205 | args[0].to - args[0].from, | 205 | args[0].from, |
206 | false); | 206 | args[0].to - args[0].from); |
207 | rcu_read_unlock(); | ||
207 | if (IS_ERR(cell)) | 208 | if (IS_ERR(cell)) |
208 | return PTR_ERR(cell); | 209 | return PTR_ERR(cell); |
209 | afs_put_cell(params->net, params->cell); | 210 | afs_put_cell(params->net, params->cell); |
@@ -308,7 +309,8 @@ static int afs_parse_device_name(struct afs_mount_params *params, | |||
308 | 309 | ||
309 | /* lookup the cell record */ | 310 | /* lookup the cell record */ |
310 | if (cellname || !params->cell) { | 311 | if (cellname || !params->cell) { |
311 | cell = afs_cell_lookup(params->net, cellname, cellnamesz, true); | 312 | cell = afs_lookup_cell(params->net, cellname, cellnamesz, |
313 | NULL, false); | ||
312 | if (IS_ERR(cell)) { | 314 | if (IS_ERR(cell)) { |
313 | printk(KERN_ERR "kAFS: unable to lookup cell '%*.*s'\n", | 315 | printk(KERN_ERR "kAFS: unable to lookup cell '%*.*s'\n", |
314 | cellnamesz, cellnamesz, cellname ?: ""); | 316 | cellnamesz, cellnamesz, cellname ?: ""); |