Commit ecfe951f authored by David Howells's avatar David Howells Committed by Linus Torvalds

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: default avatarDavid Howells <dhowells@redhat.com>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 3d0e7a9e
...@@ -98,13 +98,13 @@ static int afs_proc_cells_write(struct file *file, char *buf, size_t size) ...@@ -98,13 +98,13 @@ static int afs_proc_cells_write(struct file *file, char *buf, size_t size)
goto inval; goto inval;
args = strchr(name, ' '); args = strchr(name, ' ');
if (!args) if (args) {
goto inval; do {
do { *args++ = 0;
*args++ = 0; } while(*args == ' ');
} while(*args == ' '); if (!*args)
if (!*args) goto inval;
goto inval; }
/* determine command to perform */ /* determine command to perform */
_debug("cmd=%s name=%s args=%s", buf, name, args); _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) ...@@ -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)) if (test_and_set_bit(AFS_CELL_FL_NO_GC, &cell->flags))
afs_put_cell(net, cell); afs_put_cell(net, cell);
printk("kAFS: Added new cell '%s'\n", name);
} else { } else {
goto inval; goto inval;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment