R: [Postgresql-it] error 58030

  • From: "Giulio Renzi" <g.renzi@xxxxxxxxxxx>
  • To: <postgresql-it@xxxxxxxxxxxxxxxxx>
  • Date: Tue, 19 Apr 2005 12:54:44 +0200

Ti ringrazio e ho avuto conferma che l'errore è dovuto al bus scsi o al
disco... Dopo aver ravanato un po’ nel sistema (AIX non è così semplice);)
Giulio


Dovrebbe essere un problema di disco, ti posto qui sotto il codice che
dovrebbe generarti quell'errore.

Ciao Enrico

        /*
         * Zero-fill the file.  We have to do this the hard way to ensure
that
         * all the file space has really been allocated --- on platforms
that
         * allow "holes" in files, just seeking to the end doesn't allocate
         * intermediate space.  This way, we know that we have all the space
         * and (after the fsync below) that all the indirect blocks are down
         * on disk.  Therefore, fdatasync(2) or O_DSYNC will be sufficient
to
         * sync future writes to the log file.
         */
        MemSet(zbuffer, 0, sizeof(zbuffer));
        for (nbytes = 0; nbytes < XLogSegSize; nbytes += sizeof(zbuffer))
        {
                errno = 0;
                if ((int) write(fd, zbuffer, sizeof(zbuffer)) != (int)
sizeof(zbuffer))
                {
                        int                     save_errno = errno;

                        /*
                         * If we fail to make the file, delete it to release
disk
                         * space
                         */
                        unlink(tmppath);
                        /* if write didn't set errno, assume problem is no
disk space */
                        errno = save_errno ? save_errno : ENOSPC;

                        ereport(PANIC,
                                        (errcode_for_file_access(),
                                         errmsg("could not write to file
\"%s\": %m", tmppath)));
                }
        }

        if (pg_fsync(fd) != 0)
                ereport(PANIC,
                                (errcode_for_file_access(),
                                 errmsg("could not fsync file \"%s\": %m",
tmppath)));

        close(fd);
_______________________________________________
Postgresql-it mailing list
Postgresql-it@xxxxxxxxxxxxxxxxx
http://www.linuxtime.it/mailman/listinfo/postgresql-it



Other related posts: