* nscd/mem.c (mempool_alloc): Use posix_fallocate instead of ftruncate.
authorUlrich Drepper <drepper@redhat.com>
Mon, 8 Aug 2005 20:42:33 +0000 (20:42 +0000)
committerUlrich Drepper <drepper@redhat.com>
Mon, 8 Aug 2005 20:42:33 +0000 (20:42 +0000)
* nscd/connections.c (nscd_init): Likewise.

ChangeLog
nscd/connections.c
nscd/mem.c

index 489320e..10e1378 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2005-08-08  Ulrich Drepper  <drepper@redhat.com>
+
+       * nscd/mem.c (mempool_alloc): Use posix_fallocate instead of ftruncate.
+       * nscd/connections.c (nscd_init): Likewise.
+
 2005-08-08  Jakub Jelinek  <jakub@redhat.com>
 
        * stdio-common/fxprintf.c: Include libioP.h.
index 808ea33..7ead3fd 100644 (file)
@@ -638,7 +638,7 @@ cannot create read-only descriptor for \"%s\"; no mmap"),
 
                if ((TEMP_FAILURE_RETRY (write (fd, &head, sizeof (head)))
                     != sizeof (head))
-                   || ftruncate (fd, total) != 0
+                   || posix_fallocate (fd, 0, total) != 0
                    || (mem = mmap (NULL, total, PROT_READ | PROT_WRITE,
                                    MAP_SHARED, fd, 0)) == MAP_FAILED)
                  {
index a1108f3..823eda1 100644 (file)
@@ -21,6 +21,7 @@
 #include <assert.h>
 #include <errno.h>
 #include <error.h>
+#include <fcntl.h>
 #include <inttypes.h>
 #include <libintl.h>
 #include <limits.h>
@@ -488,7 +489,8 @@ mempool_alloc (struct database_dyn *db, size_t len)
                             + db->head->module * sizeof (ref_t)
                             + new_data_size);
 
-         if ((!db->mmap_used || ftruncate (db->wr_fd, newtotal) != 0)
+         if ((!db->mmap_used
+              || posix_fallocate (db->wr_fd, oldtotal, newtotal) != 0)
              /* Try to resize the mapping.  Note: no MREMAP_MAYMOVE.  */
              && mremap (db->head, oldtotal, newtotal, 0) == 0)
            {