2004-09-10  Ulrich Drepper  <drepper@redhat.com>

	* nscd/nscd_stat.c: Improve output by also printing .shared and
	.persistent.

	* nscd/connections.c: Allow cache sharing to be really disabled.
This commit is contained in:
Ulrich Drepper 2004-09-10 20:31:41 +00:00
parent c0097ea1eb
commit d13a3c5792
3 changed files with 31 additions and 9 deletions

View File

@ -1,3 +1,10 @@
2004-09-10 Ulrich Drepper <drepper@redhat.com>
* nscd/nscd_stat.c: Improve output by also printing .shared and
.persistent.
* nscd/connections.c: Allow cache sharing to be really disabled.
2004-09-10 Jakub Jelinek <jakub@redhat.com>
* malloc/malloc.c (_int_free): Only do arena boundary check for

View File

@ -258,14 +258,16 @@ nscd_init (void)
dbnames[cnt]);
dbs[cnt].wr_fd = fd;
dbs[cnt].ro_fd = open (dbs[cnt].db_filename, O_RDONLY);
fd = -1;
/* We also need a read-only descriptor. */
dbs[cnt].ro_fd = open (dbs[cnt].db_filename, O_RDONLY);
if (dbs[cnt].ro_fd == -1)
dbg_log (_("\
if (dbs[cnt].shared)
{
dbs[cnt].ro_fd = open (dbs[cnt].db_filename, O_RDONLY);
if (dbs[cnt].ro_fd == -1)
dbg_log (_("\
cannot create read-only descriptor for \"%s\"; no mmap"),
dbs[cnt].db_filename);
dbs[cnt].db_filename);
}
// XXX Shall we test whether the descriptors actually
// XXX point to the same file?
@ -299,7 +301,7 @@ cannot create read-only descriptor for \"%s\"; no mmap"),
fd = open (dbs[cnt].db_filename,
O_RDWR | O_CREAT | O_EXCL | O_TRUNC,
S_IRUSR | S_IWUSR);
if (fd != -1)
if (fd != -1 && dbs[cnt].shared)
ro_fd = open (dbs[cnt].db_filename, O_RDONLY);
}
else
@ -312,7 +314,7 @@ cannot create read-only descriptor for \"%s\"; no mmap"),
/* We do not need the file name anymore after we
opened another file descriptor in read-only mode. */
if (fd != -1)
if (fd != -1 && dbs[cnt].shared)
{
ro_fd = open (fname, O_RDONLY);
@ -344,7 +346,7 @@ cannot create read-only descriptor for \"%s\"; no mmap"),
{
/* Tell the user if we could not create the read-only
descriptor. */
if (ro_fd == -1)
if (ro_fd == -1 && dbs[cnt].shared)
dbg_log (_("\
cannot create read-only descriptor for \"%s\"; no mmap"),
dbs[cnt].db_filename);

View File

@ -38,6 +38,8 @@ struct dbstat
{
int enabled;
int check_file;
int shared;
int persistent;
size_t module;
unsigned long int postimeout;
@ -88,6 +90,8 @@ send_stats (int fd, struct database_dyn dbs[lastdb])
{
data.dbs[cnt].enabled = dbs[cnt].enabled;
data.dbs[cnt].check_file = dbs[cnt].check_file;
data.dbs[cnt].shared = dbs[cnt].shared;
data.dbs[cnt].persistent = dbs[cnt].persistent;
data.dbs[cnt].module = dbs[cnt].head->module;
data.dbs[cnt].postimeout = dbs[cnt].postimeout;
data.dbs[cnt].negtimeout = dbs[cnt].negtimeout;
@ -213,6 +217,9 @@ receive_print_stats (void)
const char *enabled = nl_langinfo (data.dbs[i].enabled ? YESSTR : NOSTR);
const char *check_file = nl_langinfo (data.dbs[i].check_file
? YESSTR : NOSTR);
const char *shared = nl_langinfo (data.dbs[i].shared ? YESSTR : NOSTR);
const char *persistent = nl_langinfo (data.dbs[i].persistent
? YESSTR : NOSTR);
if (enabled[0] == '\0')
/* The locale does not provide this information so we have to
@ -221,6 +228,10 @@ receive_print_stats (void)
enabled = data.dbs[i].enabled ? _(" yes") : _(" no");
if (check_file[0] == '\0')
check_file = data.dbs[i].check_file ? _(" yes") : _(" no");
if (shared[0] == '\0')
shared = data.dbs[i].shared ? _(" yes") : _(" no");
if (persistent[0] == '\0')
persistent = data.dbs[i].persistent ? _(" yes") : _(" no");
if (all == 0)
/* If nothing happened so far report a 0% hit rate. */
@ -228,6 +239,8 @@ receive_print_stats (void)
printf (_("\n%s cache:\n\n"
"%15s cache is enabled\n"
"%15s cache is persistent\n"
"%15s cache is shared\n"
"%15zu suggested size\n"
"%15zu total data pool size\n"
"%15zu used data pool size\n"
@ -245,7 +258,7 @@ receive_print_stats (void)
"%15" PRIuMAX " number of delays on wrlock\n"
"%15" PRIuMAX " memory allocations failed\n"
"%15s check /etc/%s for changes\n"),
dbnames[i], enabled,
dbnames[i], enabled, persistent, shared,
data.dbs[i].module,
data.dbs[i].datasize, data.dbs[i].dataused,
data.dbs[i].postimeout, data.dbs[i].negtimeout,