Skip to content
  • 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