r23977: Im prove the pwrite-patch to tdb_expand_file of r23972:
commite5051dd4a6657e265dd5baab828946d4ab52cc9f
authorMichael Adam <obnox@samba.org>
Fri, 20 Jul 2007 14:23:12 +0000 (20 14:23 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 17:28:51 +0000 (10 12:28 -0500)
tree4ea02c78198a8467c689f8861ca6869eebec4ce4
parent8ba1569eef3737b86e7072d1bb65ed6c37a28811
r23977: Im prove the pwrite-patch to tdb_expand_file of r23972:

* prevent infinite loops due to 0 bytes written:
  try once more. if we still get 0 as return,
  set errno to ENOSPC and return -1 (error)

* replace int by correct types (ssize_t and size_t).

* print a warning log message in case "written < requested to write"
  usually this means, that the next call to pwrite will fail
  with return value -1 and set errno accordingly.

  Note that the former error condition "written != requested to write"
  is not a correct error condition of write/pwrite. If this is due
  to an error, a subsequent call to (p)write will reveal the cause
  (typically "no space left on device" - ENOSPC).

Michael
(This used to be commit 5b8d53dfe1872621bf28c8351d87bfc53ef6e66b)
source3/lib/tdb/common/io.c