[4458] in Athena Bugs

home help back first fref pref prev next nref lref last post

nfsc and mapping reference counts

daemon@ATHENA.MIT.EDU (John Carr)
Thu Mar 8 03:58:27 1990

To: bugs@ATHENA.MIT.EDU
Date: Thu, 08 Mar 90 03:58:09 EST
From: John Carr <jfc@ATHENA.MIT.EDU>

This message contains changes to make nfsc print reference counts of
mappings when the "list" option is used.

[Reference: changes.70 #95]

*** /source/bsd-4.3/common/usr.etc/nfsc/nfsc.c	Mon Sep 18 09:36:45 1989
--- nfsc.c	Thu Mar  8 03:50:51 1990
***************
*** 186,192 ****
  	} else {
  		/* should add something to tables.. */
  		printf("add: ");
! 		print_cred(&sin.sin_addr, uid, credp);
  	}
  	return;
  usage:
--- 186,192 ----
  	} else {
  		/* should add something to tables.. */
  		printf("add: ");
! 		print_cred(&sin.sin_addr, uid, credp, 0);
  	}
  	return;
  usage:
***************
*** 198,204 ****
  #endif
  }
  
! void print_cred(addr, uid, credp)
  	struct in_addr *addr;
  	rpc_uid_t uid;
  	struct authunix_parms *credp;
--- 198,204 ----
  #endif
  }
  
! void print_cred(addr, uid, credp, cnt)
  	struct in_addr *addr;
  	rpc_uid_t uid;
  	struct authunix_parms *credp;
***************
*** 222,229 ****
  			printf(" %s",
  			       getgroupbygid(credp->aup_gids[i]));
  		}
! 		printf("]\n");
! 	} else printf("no credential\n");
  }
  
  
--- 222,233 ----
  			printf(" %s",
  			       getgroupbygid(credp->aup_gids[i]));
  		}
! 		printf("]");
! 	} else printf("no credential");
! 	if(cnt > 0)
! 	  printf(", reference count %d\n", cnt);
! 	else
! 	  printf("\n");
  }
  
  
***************
*** 255,261 ****
  		ss_perror(ss_idx, errno, (char *)0);
  		goto usage;
  	} else if (credp == NULL) printf("get: no credential returned.\n");
! 	else print_cred(&sin.sin_addr, uid, credp);
  	return (0);
  usage:
  	printf("Usage: get host [user|uid]\n");
--- 259,265 ----
  		ss_perror(ss_idx, errno, (char *)0);
  		goto usage;
  	} else if (credp == NULL) printf("get: no credential returned.\n");
! 	else print_cred(&sin.sin_addr, uid, credp, 0);
  	return (0);
  usage:
  	printf("Usage: get host [user|uid]\n");


*** /source/bsd-4.3/common/usr.etc/nfsc/nfsc_show.c	Tue Feb  2 13:44:52 1988
--- nfsc_show.c	Thu Mar  8 03:52:16 1990
***************
*** 43,48 ****
--- 43,49 ----
  	struct sockaddr e_sock;
  	int e_len;
  	struct authunix_parms *e_credp;
+ 	u_short e_rfcnt;
  };
  
  struct nfsmap_ent *nfsmap_htable[256];
***************
*** 122,128 ****
  	};
  	sock = (struct sockaddr_in *)&ent->e_sock;
  	(*print_func)((char *)&(sock->sin_addr.s_addr),
! 		      (rpc_uid_t)ent->e_uid, credp);
  	if (credp) {
  		if (credp->aup_gids) free((char *)(credp->aup_gids));
  		free ((char *)credp);
--- 123,129 ----
  	};
  	sock = (struct sockaddr_in *)&ent->e_sock;
  	(*print_func)((char *)&(sock->sin_addr.s_addr),
! 		      (rpc_uid_t)ent->e_uid, credp,ent->e_rfcnt);
  	if (credp) {
  		if (credp->aup_gids) free((char *)(credp->aup_gids));
  		free ((char *)credp);
***************
*** 179,188 ****
  	return(1);
  }
  
! static void dump_cred(addr, uid, credp)
  	struct in_addr *addr;
  	rpc_uid_t uid;
  	struct authunix_parms *credp;
  {
  	char *s;
  	extern char *inet_ntoa();
--- 180,190 ----
  	return(1);
  }
  
! static void dump_cred(addr, uid, credp, cnt)
  	struct in_addr *addr;
  	rpc_uid_t uid;
  	struct authunix_parms *credp;
+ 	int cnt;
  {
  	char *s;
  	extern char *inet_ntoa();

home help back first fref pref prev next nref lref last post