Log more error messages.
authorMartin Pool <mbp@samba.org>
Mon, 10 Dec 2001 07:02:24 +0000 (07:02 +0000)
committerMartin Pool <mbp@samba.org>
Mon, 10 Dec 2001 07:02:24 +0000 (07:02 +0000)
source/tdb/tdb.c

index 1ca297459118820c86f0aa623fa845f96e7fb7dc..ac1901649d361c99c819c8d87673d62cd091cfbf 100644 (file)
@@ -1469,7 +1469,10 @@ TDB_CONTEXT *tdb_open_ex(char *name, int hash_size, int tdb_flags,
        if ((locked = (tdb_brlock(tdb, ACTIVE_LOCK, F_WRLCK, F_SETLK, 0) == 0))
            && (tdb_flags & TDB_CLEAR_IF_FIRST)) {
                open_flags |= O_CREAT;
-               if (ftruncate(tdb->fd, 0) == -1)
+               if (ftruncate(tdb->fd, 0) == -1) {
+                       TDB_LOG((tdb, 0, "tdb_open_ex: "
+                                "failed to truncate %s: %s\n",
+                                name, strerror(errno)));
                        goto fail; /* errno set by ftruncate */
        }
 
@@ -1507,6 +1510,9 @@ TDB_CONTEXT *tdb_open_ex(char *name, int hash_size, int tdb_flags,
        tdb->inode = st.st_ino;
        tdb->locked = calloc(tdb->header.hash_size+1, sizeof(tdb->locked[0]));
        if (!tdb->locked) {
+               TDB_LOG((tdb, 2, "tdb_open_ex: "
+                        "failed to allocate lock structure for %s\n",
+                        name));
                errno = ENOMEM;
                goto fail;
        }
@@ -1514,8 +1520,12 @@ TDB_CONTEXT *tdb_open_ex(char *name, int hash_size, int tdb_flags,
        if (locked) {
                if (!tdb->read_only)
                        tdb_clear_spinlocks(tdb);
-               if (tdb_brlock(tdb, ACTIVE_LOCK, F_UNLCK, F_SETLK, 0) == -1)
+               if (tdb_brlock(tdb, ACTIVE_LOCK, F_UNLCK, F_SETLK, 0) == -1) {
+                       TDB_LOG((tdb, 0, "tdb_open_ex: "
+                                "failed to take ACTIVE_LOCK on %s: %s\n",
+                                name, strerror(errno)));
                        goto fail;
+               }
        }
        /* leave this lock in place to indicate it's in use */
        if (tdb_brlock(tdb, ACTIVE_LOCK, F_RDLCK, F_SETLKW, 0) == -1)