forked from luck/tmp_suning_uos_patched
afs: Fix cell specification to permit an empty address list
Fix the cell specification mechanism to allow cells to be pre-created without having to specify at least one address (the addresses will be upcalled for). This allows the cell information preload service to avoid the need to issue loads of DNS lookups during boot to get the addresses for each cell (500+ lookups for the 'standard' cell list[*]). The lookups can be done later as each cell is accessed through the filesystem. Also remove the print statement that prints a line every time a new cell is added. [*] There are 144 cells in the list. Each cell is first looked up for an SRV record, and if that fails, for an AFSDB record. These get a list of server names, each of which then has to be looked up to get the addresses for that server. E.g.: dig srv _afs3-vlserver._udp.grand.central.org Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
3d0e7a9e00
commit
ecfe951f0c
|
@ -98,13 +98,13 @@ static int afs_proc_cells_write(struct file *file, char *buf, size_t size)
|
|||
goto inval;
|
||||
|
||||
args = strchr(name, ' ');
|
||||
if (!args)
|
||||
goto inval;
|
||||
do {
|
||||
*args++ = 0;
|
||||
} while(*args == ' ');
|
||||
if (!*args)
|
||||
goto inval;
|
||||
if (args) {
|
||||
do {
|
||||
*args++ = 0;
|
||||
} while(*args == ' ');
|
||||
if (!*args)
|
||||
goto inval;
|
||||
}
|
||||
|
||||
/* determine command to perform */
|
||||
_debug("cmd=%s name=%s args=%s", buf, name, args);
|
||||
|
@ -120,7 +120,6 @@ static int afs_proc_cells_write(struct file *file, char *buf, size_t size)
|
|||
|
||||
if (test_and_set_bit(AFS_CELL_FL_NO_GC, &cell->flags))
|
||||
afs_put_cell(net, cell);
|
||||
printk("kAFS: Added new cell '%s'\n", name);
|
||||
} else {
|
||||
goto inval;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user