88 *
99 *
1010 * IDENTIFICATION
11- * $Header: /cvsroot/pgsql/src/backend/storage/smgr/md.c,v 1.67 2000/04/12 17:15:41 momjian Exp $
11+ * $Header: /cvsroot/pgsql/src/backend/storage/smgr/md.c,v 1.68 2000/05/25 23:30:20 tgl Exp $
1212 *
1313 *-------------------------------------------------------------------------
1414 */
15+ #include <errno.h>
1516#include <unistd.h>
1617#include <fcntl.h>
1718#include <sys/file.h>
@@ -609,8 +610,11 @@ mdblindwrt(char *dbname,
609610seekpos = (long ) (BLCKSZ * (blkno ));
610611#endif
611612
613+ errno = 0 ;
614+
612615if (lseek (fd ,seekpos ,SEEK_SET )!= seekpos )
613616{
617+ elog (DEBUG ,"mdblindwrt: lseek(%ld) failed: %m" ,seekpos );
614618close (fd );
615619return SM_FAIL ;
616620}
@@ -619,13 +623,22 @@ mdblindwrt(char *dbname,
619623
620624/* write and optionally sync the block */
621625if (write (fd ,buffer ,BLCKSZ )!= BLCKSZ )
626+ {
627+ elog (DEBUG ,"mdblindwrt: write() failed: %m" );
622628status = SM_FAIL ;
629+ }
623630else if (dofsync &&
624631pg_fsync (fd )< 0 )
632+ {
633+ elog (DEBUG ,"mdblindwrt: fsync() failed: %m" );
625634status = SM_FAIL ;
635+ }
626636
627637if (close (fd )< 0 )
638+ {
639+ elog (DEBUG ,"mdblindwrt: close() failed: %m" );
628640status = SM_FAIL ;
641+ }
629642
630643return status ;
631644}
@@ -1122,6 +1135,9 @@ _mdfd_blind_getseg(char *dbname, char *relname, Oid dbid, Oid relid,
11221135fd = open (path ,O_RDWR |O_BINARY ,0600 );
11231136#endif
11241137
1138+ if (fd < 0 )
1139+ elog (DEBUG ,"_mdfd_blind_getseg: couldn't open %s: %m" ,path );
1140+
11251141pfree (path );
11261142
11271143return fd ;