• David Howells's avatar
    afs: Fix manually set volume location server list · 7d762d69
    David Howells authored
    When a cell with a volume location server list is added manually by
    echoing the details into /proc/net/afs/cells, a record is added but the
    flag saying it has been looked up isn't set.
    
    This causes the VL server rotation code to wait forever, with the top of
    /proc/pid/stack looking like:
    
    	afs_select_vlserver+0x3a6/0x6f3
    	afs_vl_lookup_vldb+0x4b/0x92
    	afs_create_volume+0x25/0x1b9
    	...
    
    with the thread stuck in afs_start_vl_iteration() waiting for
    AFS_CELL_FL_NO_LOOKUP_YET to be cleared.
    
    Fix this by clearing AFS_CELL_FL_NO_LOOKUP_YET when setting up a record
    if that record's details were supplied manually.
    
    Fixes: 0a5143f2 ("afs: Implement VL server rotation")
    Reported-by: default avatarDave Botsch <dwb7@cornell.edu>
    Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    7d762d69
Name
Last commit
Last update
..
Kconfig Loading commit data...
Makefile Loading commit data...
addr_list.c Loading commit data...
afs.h Loading commit data...
afs_cm.h Loading commit data...
afs_fs.h Loading commit data...
afs_vl.h Loading commit data...
cache.c Loading commit data...
callback.c Loading commit data...
cell.c Loading commit data...
cmservice.c Loading commit data...
dir.c Loading commit data...
dir_edit.c Loading commit data...
dynroot.c Loading commit data...
file.c Loading commit data...
flock.c Loading commit data...
fs_probe.c Loading commit data...
fsclient.c Loading commit data...
inode.c Loading commit data...
internal.h Loading commit data...
main.c Loading commit data...
misc.c Loading commit data...
mntpt.c Loading commit data...
netdevices.c Loading commit data...
proc.c Loading commit data...
protocol_yfs.h Loading commit data...
rotate.c Loading commit data...
rxrpc.c Loading commit data...
security.c Loading commit data...
server.c Loading commit data...
server_list.c Loading commit data...
super.c Loading commit data...
vl_list.c Loading commit data...
vl_probe.c Loading commit data...
vl_rotate.c Loading commit data...
vlclient.c Loading commit data...
volume.c Loading commit data...
write.c Loading commit data...
xattr.c Loading commit data...
xdr_fs.h Loading commit data...
yfsclient.c Loading commit data...