Index: openafs/src/viced/afsfileprocs.c diff -c openafs/src/viced/afsfileprocs.c:1.81.2.43 openafs/src/viced/afsfileprocs.c:1.81.2.43.2.1 *** openafs/src/viced/afsfileprocs.c:1.81.2.43 Tue Aug 21 04:28:37 2007 --- openafs/src/viced/afsfileprocs.c Thu Dec 13 15:59:29 2007 *************** *** 29,35 **** #include RCSID ! ("$Header: /cvs/openafs/src/viced/afsfileprocs.c,v 1.81.2.43 2007/08/21 08:28:37 jaltman Exp $"); #include #include --- 29,35 ---- #include RCSID ! ("$Header: /cvs/openafs/src/viced/afsfileprocs.c,v 1.81.2.43.2.1 2007/12/13 20:59:29 shadow Exp $"); #include #include *************** *** 6112,6118 **** --- 6112,6120 ---- (tcon->peer ? tcon->peer->host : 0))); errorCode = GetClient(tcon, &client); if (!errorCode) { + H_LOCK; DeleteAllCallBacks_r(client->host, 1); + H_UNLOCK; PutClient(&client); } } else { Index: openafs/src/viced/callback.c diff -c openafs/src/viced/callback.c:1.55.2.18 openafs/src/viced/callback.c:1.55.2.18.2.2 *** openafs/src/viced/callback.c:1.55.2.18 Wed Oct 24 11:37:32 2007 --- openafs/src/viced/callback.c Thu Dec 13 15:57:11 2007 *************** *** 83,89 **** #include RCSID ! ("$Header: /cvs/openafs/src/viced/callback.c,v 1.55.2.18 2007/10/24 15:37:32 shadow Exp $"); #include #include /* for malloc() */ --- 83,89 ---- #include RCSID ! ("$Header: /cvs/openafs/src/viced/callback.c,v 1.55.2.18.2.2 2007/12/13 20:57:11 shadow Exp $"); #include #include /* for malloc() */ *************** *** 493,499 **** CcdelB++; *cbp = cb->cnext; FreeCB(cb); ! if (deletefe && (--fe->ncbs == 0)) FDel(fe); return 0; } --- 493,499 ---- CcdelB++; *cbp = cb->cnext; FreeCB(cb); ! if ((--fe->ncbs == 0) && deletefe) FDel(fe); return 0; } *************** *** 1030,1035 **** --- 1030,1036 ---- TDel(cb); HDel(cb); FreeCB(cb); + fe->ncbs--; } FDel(fe); H_UNLOCK; *************** *** 1860,1866 **** read(fd, &tfirst, sizeof(tfirst)); read(fd, &freelisthead, sizeof(freelisthead)); CB = ((struct CallBack ! *)(calloc(cbstuff.nblks, sizeof(struct FileEntry)))) - 1; FE = ((struct FileEntry *)(calloc(cbstuff.nblks, sizeof(struct FileEntry)))) - 1; CBfree = (struct CallBack *)itocb(freelisthead); --- 1861,1867 ---- read(fd, &tfirst, sizeof(tfirst)); read(fd, &freelisthead, sizeof(freelisthead)); CB = ((struct CallBack ! *)(calloc(cbstuff.nblks, sizeof(struct CallBack)))) - 1; FE = ((struct FileEntry *)(calloc(cbstuff.nblks, sizeof(struct FileEntry)))) - 1; CBfree = (struct CallBack *)itocb(freelisthead); Index: openafs/src/viced/host.c diff -c openafs/src/viced/host.c:1.57.2.49 openafs/src/viced/host.c:1.57.2.49.2.1 *** openafs/src/viced/host.c:1.57.2.49 Thu Sep 6 23:55:40 2007 --- openafs/src/viced/host.c Thu Dec 13 15:55:42 2007 *************** *** 11,17 **** #include RCSID ! ("$Header: /cvs/openafs/src/viced/host.c,v 1.57.2.49 2007/09/07 03:55:40 shadow Exp $"); #include #include --- 11,17 ---- #include RCSID ! ("$Header: /cvs/openafs/src/viced/host.c,v 1.57.2.49.2.1 2007/12/13 20:55:42 shadow Exp $"); #include #include *************** *** 1558,1563 **** --- 1558,1564 ---- host->interface ? uuid2 : "")); /* The host in the cache is not the host for this connection */ + h_Lock_r(host); host->hostFlags |= HOSTDELETED; host->hostFlags &= ~HWHO_INPROGRESS; h_Unlock_r(host); Index: openafs/src/viced/viced.c diff -c openafs/src/viced/viced.c:1.58.2.19 openafs/src/viced/viced.c:1.58.2.19.2.1 *** openafs/src/viced/viced.c:1.58.2.19 Fri Jan 12 00:23:44 2007 --- openafs/src/viced/viced.c Thu Dec 13 16:00:43 2007 *************** *** 20,26 **** #include RCSID ! ("$Header: /cvs/openafs/src/viced/viced.c,v 1.58.2.19 2007/01/12 05:23:44 shadow Exp $"); #include #include --- 20,26 ---- #include RCSID ! ("$Header: /cvs/openafs/src/viced/viced.c,v 1.58.2.19.2.1 2007/12/13 21:00:43 shadow Exp $"); #include #include *************** *** 699,704 **** --- 699,707 ---- } } + if (dopanic) + assert(0); + exit(0); } /*ShutDown */ Index: openafs/src/vol/partition.c diff -c openafs/src/vol/partition.c:1.30.2.4 openafs/src/vol/partition.c:1.30.2.4.2.1 *** openafs/src/vol/partition.c:1.30.2.4 Thu May 10 18:44:12 2007 --- openafs/src/vol/partition.c Thu Dec 13 16:01:58 2007 *************** *** 21,27 **** #include RCSID ! ("$Header: /cvs/openafs/src/vol/partition.c,v 1.30.2.4 2007/05/10 22:44:12 shadow Exp $"); #include #ifdef AFS_NT40_ENV --- 21,27 ---- #include RCSID ! ("$Header: /cvs/openafs/src/vol/partition.c,v 1.30.2.4.2.1 2007/12/13 21:01:58 shadow Exp $"); #include #ifdef AFS_NT40_ENV *************** *** 440,446 **** /* but allow zfs too if we're in the NAMEI environment */ if ( #ifdef AFS_NAMEI_ENV ! ((!(strcmp(mnt.mnt_fstype, "ufs") && strcmp(mnt.mnt_fstype, "zfs")))) #else (strcmp(mnt.mnt_fstype, "ufs") != 0) --- 440,446 ---- /* but allow zfs too if we're in the NAMEI environment */ if ( #ifdef AFS_NAMEI_ENV ! (((strcmp(mnt.mnt_fstype, "ufs") && strcmp(mnt.mnt_fstype, "zfs")))) #else (strcmp(mnt.mnt_fstype, "ufs") != 0)