summaryrefslogtreecommitdiff
path: root/source3/librpc/idl
diff options
context:
space:
mode:
authorVolker Lendecke <vl@sernet.de>2007-10-22 18:14:57 +0200
committerVolker Lendecke <vl@samba.org>2008-01-15 11:01:18 +0100
commit57cc992e0f9a5d729ecf3c8effc862542ef7a84e (patch)
treed1edd79c94965ffbf4d6a0cb4d70fd1da0db16b7 /source3/librpc/idl
parente00e080034124805092e7f888e3a1cf61cf85a5b (diff)
downloadsamba-57cc992e0f9a5d729ecf3c8effc862542ef7a84e.tar.gz
samba-57cc992e0f9a5d729ecf3c8effc862542ef7a84e.tar.bz2
samba-57cc992e0f9a5d729ecf3c8effc862542ef7a84e.zip
Implement vfs_ea_tdb
This is an option for file systems that do not implement xattrs: in lockdir/eas.tdb an array of xatts per inode is stored. It can not solve the problem that xattrs might reappear if a posix-level process deletes a file and happens to re-create it under the same name. On file systems with birthtime we might have a chance to detect this, but not with standard posix. A future version might put relief on file systems that do have xattrs but where these are severely limited in size/speed/whatever: We can put a simple marker as a native xattr, but the xattrs proper are stored in the tdb. Volker (This used to be commit 2036b4c5ad677b8a477b34b0f076febab0abff5e)
Diffstat (limited to 'source3/librpc/idl')
-rw-r--r--source3/librpc/idl/xattr.idl23
1 files changed, 23 insertions, 0 deletions
diff --git a/source3/librpc/idl/xattr.idl b/source3/librpc/idl/xattr.idl
new file mode 100644
index 0000000000..ec230a4efb
--- /dev/null
+++ b/source3/librpc/idl/xattr.idl
@@ -0,0 +1,23 @@
+#include "idl_types.h"
+
+/*
+ IDL structures for xattrs
+*/
+
+[
+ pointer_default(unique)
+]
+interface xattr
+{
+ /* xattrs for file systems that don't have any */
+
+ typedef [public] struct {
+ utf8string name;
+ DATA_BLOB value;
+ } tdb_xattr;
+
+ typedef [public] struct {
+ uint32 num_xattrs;
+ tdb_xattr xattrs[num_xattrs];
+ } tdb_xattrs;
+}