changeset 1325:e026f8e4d241 HEAD

Handle EDQUOT errno as "not enough disk space" like ENOSPC.
author Timo Sirainen <tss@iki.fi>
date Sun, 30 Mar 2003 15:48:36 +0300
parents 13d8f69d4f1a
children baf63e166aeb
files src/lib-index/mail-custom-flags.c src/lib-index/mail-index-compress.c src/lib-index/mail-index-data.c src/lib-index/mail-index-util.c src/lib-index/mail-modifylog.c src/lib-index/mail-tree.c src/lib-index/maildir/maildir-index.c src/lib-storage/index/index-save.c src/lib-storage/index/maildir/maildir-save.c src/lib-storage/index/mbox/mbox-save.c src/lib/compat.h
diffstat 11 files changed, 19 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-index/mail-custom-flags.c	Sat Mar 29 10:56:45 2003 +0200
+++ b/src/lib-index/mail-custom-flags.c	Sun Mar 30 15:48:36 2003 +0300
@@ -45,7 +45,7 @@
 {
 	i_assert(function != NULL);
 
-	if (errno == ENOSPC) {
+	if (ENOSPACE(errno)) {
 		mcf->index->nodiskspace = TRUE;
 		return FALSE;
 	}
--- a/src/lib-index/mail-index-compress.c	Sat Mar 29 10:56:45 2003 +0200
+++ b/src/lib-index/mail-index-compress.c	Sun Mar 30 15:48:36 2003 +0300
@@ -226,7 +226,7 @@
 
 		datapath = t_strconcat(index->filepath, DATA_FILE_PREFIX, NULL);
 		if (rename(temppath, datapath) < 0) {
-			if (errno == ENOSPC)
+			if (ENOSPACE(errno))
 				index->nodiskspace = TRUE;
 
 			index_set_error(index, "rename(%s, %s) failed: %m",
--- a/src/lib-index/mail-index-data.c	Sat Mar 29 10:56:45 2003 +0200
+++ b/src/lib-index/mail-index-data.c	Sun Mar 30 15:48:36 2003 +0300
@@ -66,7 +66,7 @@
 {
 	i_assert(function != NULL);
 
-	if (errno == ENOSPC) {
+	if (ENOSPACE(errno)) {
 		data->index->nodiskspace = TRUE;
 		return FALSE;
 	}
--- a/src/lib-index/mail-index-util.c	Sat Mar 29 10:56:45 2003 +0200
+++ b/src/lib-index/mail-index-util.c	Sun Mar 30 15:48:36 2003 +0300
@@ -52,7 +52,7 @@
 {
 	i_assert(function != NULL);
 
-	if (errno == ENOSPC) {
+	if (ENOSPACE(errno)) {
 		index->nodiskspace = TRUE;
 		return FALSE;
 	}
@@ -68,7 +68,7 @@
 	i_assert(filepath != NULL);
 	i_assert(function != NULL);
 
-	if (errno == ENOSPC) {
+	if (ENOSPACE(errno)) {
 		index->nodiskspace = TRUE;
 		return FALSE;
 	}
@@ -109,7 +109,7 @@
 	   can't be helped. */
 	fd = open(*path, O_RDWR | O_CREAT | O_EXCL, 0660);
 	if (fd == -1) {
-		if (errno == ENOSPC)
+		if (ENOSPACE(errno))
 			index->nodiskspace = TRUE;
 		else {
 			index_set_error(index, "Can't create temp index %s: %m",
--- a/src/lib-index/mail-modifylog.c	Sat Mar 29 10:56:45 2003 +0200
+++ b/src/lib-index/mail-modifylog.c	Sun Mar 30 15:48:36 2003 +0300
@@ -72,7 +72,7 @@
 {
 	i_assert(function != NULL);
 
-	if (errno == ENOSPC) {
+	if (ENOSPACE(errno)) {
 		file->log->index->nodiskspace = TRUE;
 		return FALSE;
 	}
--- a/src/lib-index/mail-tree.c	Sat Mar 29 10:56:45 2003 +0200
+++ b/src/lib-index/mail-tree.c	Sun Mar 30 15:48:36 2003 +0300
@@ -19,7 +19,7 @@
 {
 	i_assert(function != NULL);
 
-	if (errno == ENOSPC) {
+	if (ENOSPACE(errno)) {
 		tree->index->nodiskspace = TRUE;
 		return FALSE;
 	}
--- a/src/lib-index/maildir/maildir-index.c	Sat Mar 29 10:56:45 2003 +0200
+++ b/src/lib-index/maildir/maildir-index.c	Sun Mar 30 15:48:36 2003 +0300
@@ -225,7 +225,7 @@
 
 		/* minor problem: new_path is overwritten if it exists.. */
 		if (rename(old_path, new_path) < 0) {
-			if (errno == ENOSPC)
+			if (ENOSPACE(errno))
 				index->nodiskspace = TRUE;
 
 			index_set_error(index, "maildir flags update: "
--- a/src/lib-storage/index/index-save.c	Sat Mar 29 10:56:45 2003 +0200
+++ b/src/lib-storage/index/index-save.c	Sun Mar 30 15:48:36 2003 +0300
@@ -82,7 +82,7 @@
 			    struct ostream *output, const char *path)
 {
 	errno = output->stream_errno;
-	if (errno == ENOSPC)
+	if (ENOSPACE(errno))
 		mail_storage_set_error(storage, "Not enough disk space");
 	else {
 		mail_storage_set_critical(storage,
--- a/src/lib-storage/index/maildir/maildir-save.c	Sat Mar 29 10:56:45 2003 +0200
+++ b/src/lib-storage/index/maildir/maildir-save.c	Sun Mar 30 15:48:36 2003 +0300
@@ -72,7 +72,7 @@
 
 	*fname = t_strdup(tmp_fname);
 	if (fd == -1) {
-		if (errno == ENOSPC) {
+		if (ENOSPACE(errno)) {
 			mail_storage_set_error(storage,
 				"Not enough disk space");
 		} else {
@@ -131,7 +131,7 @@
 		failed = FALSE;
 	else {
 		failed = TRUE;
-		if (errno == ENOSPC) {
+		if (ENOSPACE(errno)) {
 			mail_storage_set_error(ctx->ibox->box.storage,
 					       "Not enough disk space");
 		} else {
--- a/src/lib-storage/index/mbox/mbox-save.c	Sat Mar 29 10:56:45 2003 +0200
+++ b/src/lib-storage/index/mbox/mbox-save.c	Sun Mar 30 15:48:36 2003 +0300
@@ -39,7 +39,7 @@
 
 static int write_error(struct mail_save_context *ctx)
 {
-	if (errno == ENOSPC) {
+	if (ENOSPACE(errno)) {
 		mail_storage_set_error(ctx->ibox->box.storage,
 				       "Not enough disk space");
 	} else {
--- a/src/lib/compat.h	Sat Mar 29 10:56:45 2003 +0200
+++ b/src/lib/compat.h	Sun Mar 30 15:48:36 2003 +0300
@@ -116,4 +116,10 @@
 #  define EOVERFLOW EINVAL
 #endif
 
+#ifdef EDQUOT
+#  define ENOSPACE(errno) ((errno) == ENOSPC || (errno) == EDQUOT)
+#else
+#  define ENOSPACE(errno) ((errno) == ENOSPC)
 #endif
+
+#endif