Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

afs: Retain more of the VLDB record for alias detection

Save more bits from the volume location database record obtained for a
server so that we can use this information in cell alias detection.

Signed-off-by: David Howells <dhowells@redhat.com>

+5 -1
+2 -1
fs/afs/internal.h
··· 546 546 }; 547 547 548 548 /* 549 - * Replaceable server list. 549 + * Replaceable volume server list. 550 550 */ 551 551 struct afs_server_entry { 552 552 struct afs_server *server; ··· 554 554 }; 555 555 556 556 struct afs_server_list { 557 + afs_volid_t vids[AFS_MAXTYPES]; /* Volume IDs */ 557 558 refcount_t usage; 558 559 unsigned char nr_servers; 559 560 unsigned char preferred; /* Preferred server */
+3
fs/afs/server_list.c
··· 46 46 refcount_set(&slist->usage, 1); 47 47 rwlock_init(&slist->lock); 48 48 49 + for (i = 0; i < AFS_MAXTYPES; i++) 50 + slist->vids[i] = vldb->vid[i]; 51 + 49 52 /* Make sure a records exists for each server in the list. */ 50 53 for (i = 0; i < vldb->nr_servers; i++) { 51 54 if (!(vldb->fs_mask[i] & type_mask))