dovecot-2.2: lib-fs: Added FS_METADATA_OBJECTID macro.
dovecot at dovecot.org
dovecot at dovecot.org
Tue Feb 17 18:44:33 UTC 2015
details: http://hg.dovecot.org/dovecot-2.2/rev/a27eed623099
changeset: 18258:a27eed623099
user: Timo Sirainen <tss at iki.fi>
date: Tue Feb 17 20:43:57 2015 +0200
description:
lib-fs: Added FS_METADATA_OBJECTID macro.
diffstat:
src/lib-fs/fs-api.h | 7 +++++++
src/lib-fs/fs-metawrap.c | 4 ++++
2 files changed, 11 insertions(+), 0 deletions(-)
diffs (31 lines):
diff -r 29bd2bcd56d6 -r a27eed623099 src/lib-fs/fs-api.h
--- a/src/lib-fs/fs-api.h Tue Feb 17 20:42:59 2015 +0200
+++ b/src/lib-fs/fs-api.h Tue Feb 17 20:43:57 2015 +0200
@@ -7,6 +7,13 @@
struct fs_lock;
struct hash_method;
+/* Metadata with this prefix shouldn't actually be sent to storage. */
+#define FS_METADATA_INTERNAL_PREFIX ":/X-Dovecot-fs-api-"
+/* fs_write*() may return a hex-encoded object ID after write is finished.
+ This can be later on used to optimize reads by setting it before reading
+ the file. */
+#define FS_METADATA_OBJECTID FS_METADATA_INTERNAL_PREFIX"ObjectID"
+
enum fs_properties {
FS_PROPERTY_METADATA = 0x01,
FS_PROPERTY_LOCKS = 0x02,
diff -r 29bd2bcd56d6 -r a27eed623099 src/lib-fs/fs-metawrap.c
--- a/src/lib-fs/fs-metawrap.c Tue Feb 17 20:42:59 2015 +0200
+++ b/src/lib-fs/fs-metawrap.c Tue Feb 17 20:43:57 2015 +0200
@@ -286,6 +286,10 @@
const struct fs_metadata *metadata;
array_foreach(&file->file.metadata, metadata) {
+ if (strncmp(metadata->key, FS_METADATA_INTERNAL_PREFIX,
+ strlen(FS_METADATA_INTERNAL_PREFIX)) == 0)
+ continue;
+
str_append_tabescaped(str, metadata->key);
str_append_c(str, ':');
str_append_tabescaped(str, metadata->value);
More information about the dovecot-cvs
mailing list