dovecot-2.2: lib-fs: Added FS_OPEN_FLAG_ASYNC_NOQUEUE

dovecot at dovecot.org dovecot at dovecot.org
Sat Oct 5 13:29:54 EEST 2013


details:   http://hg.dovecot.org/dovecot-2.2/rev/5672c40cf421
changeset: 16835:5672c40cf421
user:      Timo Sirainen <tss at iki.fi>
date:      Sat Oct 05 13:29:26 2013 +0300
description:
lib-fs: Added FS_OPEN_FLAG_ASYNC_NOQUEUE

diffstat:

 src/lib-fs/fs-api.c |  2 ++
 src/lib-fs/fs-api.h |  7 ++++++-
 2 files changed, 8 insertions(+), 1 deletions(-)

diffs (29 lines):

diff -r 74b3f504d797 -r 5672c40cf421 src/lib-fs/fs-api.c
--- a/src/lib-fs/fs-api.c	Thu Oct 03 14:56:23 2013 +0300
+++ b/src/lib-fs/fs-api.c	Sat Oct 05 13:29:26 2013 +0300
@@ -159,6 +159,8 @@
 	struct fs_file *file;
 
 	i_assert(path != NULL);
+	i_assert((mode_flags & FS_OPEN_FLAG_ASYNC_NOQUEUE) == 0 ||
+		 (mode_flags & FS_OPEN_FLAG_ASYNC) != 0);
 
 	T_BEGIN {
 		file = fs->v.file_init(fs, path, mode_flags & FS_OPEN_MODE_MASK,
diff -r 74b3f504d797 -r 5672c40cf421 src/lib-fs/fs-api.h
--- a/src/lib-fs/fs-api.h	Thu Oct 03 14:56:23 2013 +0300
+++ b/src/lib-fs/fs-api.h	Sat Oct 05 13:29:26 2013 +0300
@@ -54,7 +54,12 @@
 	   finished and fs_read_stream() returns a nonblocking stream. */
 	FS_OPEN_FLAG_ASYNC		= 0x20,
 	/* fs_read_stream() must return a seekable input stream */
-	FS_OPEN_FLAG_SEEKABLE		= 0x40
+	FS_OPEN_FLAG_SEEKABLE		= 0x40,
+	/* Backend should handle this file's operations immediately without
+	   any additional command queueing. The caller is assumed to be the one
+	   doing any rate limiting if needed. This flag can only be used with
+	   ASYNC flag, synchronous requests are never queued. */
+	FS_OPEN_FLAG_ASYNC_NOQUEUE	= 0x80
 };
 
 enum fs_iter_flags {


More information about the dovecot-cvs mailing list