diff options
author | Andreas Baumann <abaumann@yahoo.com> | 2012-04-18 10:22:11 +0200 |
---|---|---|
committer | Andreas Baumann <abaumann@yahoo.com> | 2012-04-18 10:22:11 +0200 |
commit | 6e8858e71000ef3c72b7ba1d696f8ea6f39f7202 (patch) | |
tree | 9171979e66a564cb611346008cdadcce3da3d259 /TODO | |
parent | d0cc5e0f24a961549edb1cbcffc87f9b922a8904 (diff) | |
download | pgfuse-6e8858e71000ef3c72b7ba1d696f8ea6f39f7202.tar.gz pgfuse-6e8858e71000ef3c72b7ba1d696f8ea6f39f7202.tar.bz2 |
more detailed DEVELOPERS documentation (guidelines and design decisions)
small fixes in BUGS and manpage
updated TODO list and reprioritization
Diffstat (limited to 'TODO')
-rw-r--r-- | TODO | 23 |
1 files changed, 4 insertions, 19 deletions
@@ -6,33 +6,18 @@ TODO list (in order of priority) per-user or root mounts? think about security here! - extended attributes +- remove the size limitations, change the storage to + a bytea (in blocks) as in mysqlfs. - pooling of PQconn - our own, thread-synchronized pooling? - use pgpool? has secondary benefits like a replicated filesystem for free +- thread-synchronization (we can ommit the -s flag) - replace dir.path with a range search tree algo in DB - rename (after a redo of the dir table) -- thread-synchronization (we can ommit the -s flag) - use of asynchonous read/writes - what is a transaction? couple to fsync/fdatasync for files? other ideas? customizable? -- how to store binary data? - - bytea complete: needs memory on client and server, - ok for small files - - split bytea (in blocks, as mysqlfs): should give - good average performance - - BLOBs: streamable, no referencial integrity though, - have a weak security model - => most likely a split bytea with tunable blocksize - (with a small block cache on the side of pgfuse - is the way to go) -- is there a way to implement streams (append to - file, or sequential read) efficient together - with random access? Use COPY TO/COPY FROM? - => most likely not worth the hazzle. Most streams - (but for BLOBS) are mere abstractions in the - database binding of the programming language - => sticking to traditional libpq C way - use prepared statements, measure performance gain - establish self-containment (with respect to a temporarily unavailable Postgresql server) @@ -43,7 +28,7 @@ TODO list (in order of priority) lsetxattr("file.sgml", "security.selinux", "system_u:object_r:httpd_sys_content_t:s0", 41, 0) = -1 EOPNOTSUPP (Operation not supported) - investigate SELinux races - make some performance tests, see http://archive09.linux.com/feature/127055 -- opimize using .flag_nullpath_ok = 1, check functions if they can live without +- optimize using .flag_nullpath_ok = 1, check functions if they can live without path (but for verbosity and error messages), maybe add path to PgFuseFile - make table names options, in order to store many pgfuse filesystems in one database |