]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-storage: Actually use MAIL_READ_BLOCK_SIZE sized blocks when reading mails.
authorTimo Sirainen <tss@iki.fi>
Thu, 13 Aug 2009 16:23:44 +0000 (12:23 -0400)
committerTimo Sirainen <tss@iki.fi>
Thu, 13 Aug 2009 16:23:44 +0000 (12:23 -0400)
--HG--
branch : HEAD

src/lib-storage/index/cydir/cydir-mail.c
src/lib-storage/index/dbox/dbox-file.c
src/lib-storage/index/maildir/maildir-mail.c
src/lib-storage/index/mbox/mbox-file.c
src/lib-storage/index/raw/raw-storage.c

index 8f23fb581b0bae794d76bad2e18fbc636b4a2819..06d2071d2fc62057bff2e0ba44d67dbec99743e6 100644 (file)
@@ -114,6 +114,8 @@ cydir_mail_get_stream(struct mail *_mail, struct message_size *hdr_size,
                }
                mail->data.stream =
                        i_stream_create_fd(fd, MAIL_READ_BLOCK_SIZE, TRUE);
+               i_stream_set_init_buffer_size(mail->data.stream,
+                                             MAIL_READ_BLOCK_SIZE);
        }
 
        return index_mail_init_stream(mail, hdr_size, body_size, stream_r);
index 7a0d54fd8accbb6a0900bf9fb0133f28cf2acde7..ae2a5f246ae333c8d126f76124cfa1da5f2a3941 100644 (file)
@@ -428,6 +428,7 @@ int dbox_file_open(struct dbox_file *file, bool *deleted_r)
        }
 
        file->input = i_stream_create_fd(file->fd, MAIL_READ_BLOCK_SIZE, FALSE);
+       i_stream_set_init_buffer_size(file->input, MAIL_READ_BLOCK_SIZE);
        return file->maildir_file ? 1 :
                dbox_file_read_header(file);
 }
index 1acd7e2188fc58c471134cefa93d123c18838d10..8ca6d075dd59e7579789c09bac3f3d2b47f23a25 100644 (file)
@@ -45,6 +45,7 @@ maildir_open_mail(struct maildir_mailbox *mbox, struct mail *mail,
                  bool *deleted_r)
 {
        struct mail_private *p = (struct mail_private *)mail;
+       struct istream *input;
        const char *path;
        int fd = -1;
 
@@ -65,7 +66,9 @@ maildir_open_mail(struct maildir_mailbox *mbox, struct mail *mail,
                return NULL;
        }
 
-       return i_stream_create_fd(fd, MAIL_READ_BLOCK_SIZE, TRUE);
+       input = i_stream_create_fd(fd, MAIL_READ_BLOCK_SIZE, TRUE);
+       i_stream_set_init_buffer_size(input, MAIL_READ_BLOCK_SIZE);
+       return input;
 }
 
 static int maildir_mail_stat(struct mail *mail, struct stat *st)
index 9149cbc325bf2ec5026a6ab5fb77e07f3ca45dab..4eb05bac2ce60ecfdeb93b60691d39277379eb5f 100644 (file)
@@ -80,6 +80,8 @@ int mbox_file_open_stream(struct mbox_mailbox *mbox)
                        mbox->mbox_file_stream =
                                i_stream_create_fd(mbox->mbox_fd,
                                                   MAIL_READ_BLOCK_SIZE, FALSE);
+                       i_stream_set_init_buffer_size(mbox->mbox_file_stream,
+                                                     MAIL_READ_BLOCK_SIZE);
                }
        }
 
index 36c600dd5068fb376b30dc163a494871f0ee063d..69a41a3ee6bebc18ca6aa6ce140f31f9b7d2fa55 100644 (file)
@@ -86,6 +86,7 @@ static int raw_mailbox_open(struct mailbox *box)
                return -1;
        }
        box->input = i_stream_create_fd(fd, MAIL_READ_BLOCK_SIZE, TRUE);
+       i_stream_set_init_buffer_size(box->input, MAIL_READ_BLOCK_SIZE);
        return index_storage_mailbox_open(box);
 }