dbuf.dptr = NULL;
- tdb_lockchain(posix_pending_close_tdb, kbuf);
dbuf = tdb_fetch(posix_pending_close_tdb, kbuf);
dbuf.dptr = Realloc(dbuf.dptr, dbuf.dsize + sizeof(int));
if (!dbuf.dptr) {
DEBUG(0,("add_fd_to_close_entry: Realloc fail !\n"));
- tdb_unlockchain(posix_pending_close_tdb, kbuf);
return False;
}
memcpy(dbuf.dptr + dbuf.dsize, &fsp->fd, sizeof(int));
}
free(dbuf.dptr);
- tdb_unlockchain(posix_pending_close_tdb, kbuf);
return True;
}
{
TDB_DATA kbuf = locking_key_fsp(fsp);
- tdb_lockchain(posix_pending_close_tdb, kbuf);
if (tdb_delete(posix_pending_close_tdb, kbuf) == -1)
DEBUG(0,("delete_close_entries: tdb_delete fail !\n"));
- tdb_unlockchain(posix_pending_close_tdb, kbuf);
}
/****************************************************************************
*entries = NULL;
dbuf.dptr = NULL;
- tdb_lockchain(posix_pending_close_tdb, kbuf);
dbuf = tdb_fetch(posix_pending_close_tdb, kbuf);
if (!dbuf.dptr) {
- tdb_unlockchain(posix_pending_close_tdb, kbuf);
return 0;
}
*entries = (int *)dbuf.dptr;
count = (size_t)(dbuf.dsize / sizeof(int));
- tdb_unlockchain(posix_pending_close_tdb, kbuf);
-
return count;
}
dbuf.dptr = NULL;
- tdb_lockchain(posix_lock_tdb, kbuf);
dbuf = tdb_fetch(posix_lock_tdb, kbuf);
if (!dbuf.dptr) {
- tdb_unlockchain(posix_lock_tdb, kbuf);
return 0;
}
*entries = (struct posix_lock *)dbuf.dptr;
count = (size_t)(dbuf.dsize / sizeof(struct posix_lock));
- tdb_unlockchain(posix_lock_tdb, kbuf);
-
return count;
}
dbuf.dptr = NULL;
- tdb_lockchain(posix_lock_tdb, kbuf);
dbuf = tdb_fetch(posix_lock_tdb, kbuf);
dbuf.dptr = Realloc(dbuf.dptr, dbuf.dsize + sizeof(pl));
}
free(dbuf.dptr);
- tdb_unlockchain(posix_lock_tdb, kbuf);
DEBUG(10,("add_posix_lock: File %s: type = %s: start=%.0f size=%.0f:dev=%.0f inode=%.0f\n",
fsp->fsp_name, posix_lock_type_name(lock_type), (double)start, (double)size,
fail:
if (dbuf.dptr)
free(dbuf.dptr);
- tdb_unlockchain(posix_lock_tdb, kbuf);
return False;
}
dbuf.dptr = NULL;
- tdb_lockchain(posix_lock_tdb, kbuf);
dbuf = tdb_fetch(posix_lock_tdb, kbuf);
if (!dbuf.dptr) {
}
free(dbuf.dptr);
- tdb_unlockchain(posix_lock_tdb, kbuf);
return True;
}
}
fail:
if (dbuf.dptr)
free(dbuf.dptr);
- tdb_unlockchain(posix_lock_tdb, kbuf);
return False;
}
dbuf.dptr = NULL;
- tdb_lockchain(posix_lock_tdb, kbuf);
dbuf = tdb_fetch(posix_lock_tdb, kbuf);
if (!dbuf.dptr) {
- tdb_unlockchain(posix_lock_tdb, kbuf);
return ulhead;
}
} /* end for ( ul_curr = ulhead; ul_curr;) */
} /* end for (i=0; i<num_locks && ul_head; i++) */
- tdb_unlockchain(posix_lock_tdb, kbuf);
-
if (dbuf.dptr)
free(dbuf.dptr);
{
TDB_DATA kbuf = locking_key_fsp(fsp);
- tdb_lockchain(posix_lock_tdb, kbuf);
if (tdb_delete(posix_lock_tdb, kbuf) == -1)
DEBUG(0,("delete_close_entries: tdb_delete fail !\n"));
- tdb_unlockchain(posix_lock_tdb, kbuf);
+}
+
+/****************************************************************************
+ Debug function.
+****************************************************************************/
+
+void dump_entry(struct posix_lock *pl)
+{
+ DEBUG(10,("entry: start=%.0f, size=%.0f, type=%d, fd=%i\n",
+ (double)pl->start, (double)pl->size, (int)pl->lock_type, pl->fd ));
}
/****************************************************************************
for (i = 0; i < count; i++) {
if (entries[i].fd != fsp->fd )
break;
+
+ dump_entry(&entries[i]);
}
if (i == count) {