Lines 121-133
dump_openstate(void)
Link Here
|
121 |
{ |
121 |
{ |
122 |
struct nfsd_dumplist dumplist; |
122 |
struct nfsd_dumplist dumplist; |
123 |
int cnt, i; |
123 |
int cnt, i; |
|
|
124 |
char nbuf[INET6_ADDRSTRLEN]; |
124 |
|
125 |
|
125 |
dumplist.ndl_size = DUMPSIZE; |
126 |
dumplist.ndl_size = DUMPSIZE; |
126 |
dumplist.ndl_list = (void *)dp; |
127 |
dumplist.ndl_list = (void *)dp; |
127 |
if (nfssvc(NFSSVC_DUMPCLIENTS, &dumplist) < 0) |
128 |
if (nfssvc(NFSSVC_DUMPCLIENTS, &dumplist) < 0) |
128 |
errx(1, "Can't perform dump clients syscall"); |
129 |
errx(1, "Can't perform dump clients syscall"); |
129 |
|
130 |
|
130 |
printf("%-13s %9.9s %9.9s %9.9s %9.9s %9.9s %9.9s %-15s %s\n", |
131 |
printf("%-13s %9.9s %9.9s %9.9s %9.9s %9.9s %9.9s %-45s %s\n", |
131 |
"Flags", "OpenOwner", "Open", "LockOwner", |
132 |
"Flags", "OpenOwner", "Open", "LockOwner", |
132 |
"Lock", "Deleg", "OldDeleg", "Clientaddr", "ClientID"); |
133 |
"Lock", "Deleg", "OldDeleg", "Clientaddr", "ClientID"); |
133 |
/* |
134 |
/* |
Lines 144-151
dump_openstate(void)
Link Here
|
144 |
dp[cnt].ndcl_ndelegs, |
145 |
dp[cnt].ndcl_ndelegs, |
145 |
dp[cnt].ndcl_nolddelegs); |
146 |
dp[cnt].ndcl_nolddelegs); |
146 |
if (dp[cnt].ndcl_addrfam == AF_INET) |
147 |
if (dp[cnt].ndcl_addrfam == AF_INET) |
147 |
printf("%-15s ", |
148 |
printf("%-45s ", |
148 |
inet_ntoa(dp[cnt].ndcl_cbaddr.sin_addr)); |
149 |
inet_ntoa(dp[cnt].ndcl_cbaddr.sin_addr)); |
|
|
150 |
else if (dp[cnt].ndcl_addrfam == AF_INET6 && |
151 |
inet_ntop(AF_INET6, &dp[cnt].ndcl_cbaddr.sin6_addr, nbuf, |
152 |
sizeof(nbuf)) != NULL) |
153 |
printf("%-45s ", nbuf); |
154 |
else |
155 |
printf("%-45s ", " "); |
149 |
for (i = 0; i < dp[cnt].ndcl_clid.nclid_idlen; i++) |
156 |
for (i = 0; i < dp[cnt].ndcl_clid.nclid_idlen; i++) |
150 |
printf("%02x", dp[cnt].ndcl_clid.nclid_id[i]); |
157 |
printf("%02x", dp[cnt].ndcl_clid.nclid_id[i]); |
151 |
printf("\n"); |
158 |
printf("\n"); |