bcb4e51a409d94ae670de96afb8483a4f7855294 |
|
01-Jan-2018 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
Updated copyright notices to include the year 2018. |
5f08b0309190ec818d46bfe0e497468b30714a93 |
|
29-Dec-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: Rename timing API to stats-dist API
The API wasn't really about timings specifically, but about statistics in
general. The new stats service was already using it for tracking statistics
for non-timing related numbers. |
fc59aba4be5d2f57908e84f0f7477c467a72d567 |
|
13-Dec-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-fs: Add fs_file/iter_init_with_event()
Use the event for logging critical errors |
6d1218e68ce883735ffde9d7907e626ab81b9fb5 |
|
13-Dec-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-fs: Add fs_file/iter_init_parent() |
4110f968c96680d61ca47bd7a903a254b911adda |
|
13-Dec-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-fs: Set fs_iter.flags immediately in fs_iter_init()
This way backends don't need to set it. |
4d71d712b42285afbd2a997f3408142ef0d5f899 |
|
13-Dec-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-fs: Split allocation from fs.iter_init() to a separate fs.iter_alloc() |
86ad48a2e740bd63a9b7299d7f3e229831d9b303 |
|
13-Dec-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-fs: Split allocation from fs.file_init() to a separate fs.file_alloc() |
0a222deffd3f48e43aa61ceb73a4faeeeea5e12c |
|
15-Nov-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: Replace o_stream_ignore_last_errors() with o_stream_abort() wherever possible |
7603577788c59274c81dd9e4f6661dfdb5f87f4f |
|
01-Nov-2017 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
lib-fs: Fix spelling mistakes
Original work by @jsoref |
ad9afb64630511d5e25bc5bc11c5304986156928 |
|
30-Oct-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: Replace o_stream_nfinish() with o_stream_finish() whenever possible |
c69b62e5d86e153dfbbfcb99d115f34a25902908 |
|
09-Jul-2017 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
lib-fs: Add init function that can use fs string directly
This avoids doing splitting the fs driver and args
everywhere and ensures that separators are consistent. |
15fa038377f9e3da24d088aa8a908919581c60a6 |
|
30-Mar-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-fs: Add FS_METADATA_ORIG_PATH
This allows fs backends to keep track of the original filename and use it
for logging purposes and such. |
8f900bf5b01a78ac9be748e7502aad7cf3486420 |
|
30-Mar-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-fs: Allow fs_set_metadata() to update already added metadata.
Previously we were just appending the metadata multiple times with different
values, which could have caused problems. |
2454dfa32c93c20a8522c6ed42fe057baaac9f9a |
|
01-Jan-2017 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
Updated copyright notices to include the year 2017. |
efe78d3ba24fc866af1c79b9223dc0809ba26cad |
|
24-Dec-2016 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
global: Replaced all instances of memset(p, 0, sizeof(*p)) with the new i_zero() macro.
Used the following script:
C_FILES=`git ls-files *.c`
H_FILES=`git ls-files *.h`
for F in "$C_FILES $H_FILES"; do
echo "$F"
perl -p -i -e 's/safe_memset\(&\(?([^,]*)\)?,\s*0,\s*sizeof\(\g1\)\)/i_zero_safe(&$1)/g' $F
perl -p -i -e 's/safe_memset\(([^,]*),\s*0,\s*sizeof\(\*\g1\)\)/i_zero_safe($1)/g' $F
perl -p -i -e 's/memset\(&\(?([^,]*)\)?,\s*0,\s*sizeof\(\g1\)\)/i_zero(&$1)/g' $F
perl -p -i -e 's/memset\(([^,]*),\s*0,\s*sizeof\(\*\g1\)\)/i_zero($1)/g' $F
done |
8add900109e3782e6441d820d8808b72b20600fb |
|
18-Oct-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-fs: Fixed fs_metadata_find() to actually work |
5b302b077a61204beb6852b89927952840458ccb |
|
16-Oct-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-fs: Added internal fs_metadata_find() helper function |
4c649f0338c2031afdd62a503c336e3f74bc9954 |
|
16-Oct-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-fs: Optimize changing FS_METADATA_INTERNAL_PREFIX metadata.
file->metadata_changed doesn't need to change in that situation. It's used
by fs-metawrap to find out if it needs to rewrite metadata during a write,
but internal metadata isn't written to its header. |
46e5bbded013e2bc415e8277a0d937b59ca59785 |
|
17-Oct-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-fs: Lazily initialize timings to save memory. |
fdef08644ba66b9db8fe4fc041ecc31a1ec9524b |
|
06-Sep-2016 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
fs-api: Retrieve errno before dest->copy_output is NULL'ed
CID 10144: When aborting output, errno retrieval
is attempted after dest->copy_output has already
been unreffed. Found by coverity. |
1d8622b44b8ba6009429cd500eee03d20a7ad118 |
|
23-Aug-2016 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
lib-fs: abort parent in fs_file_write_stream_abort_parent |
72e25ec1e51eeeaf038584835171fcad0203497f |
|
23-Aug-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-fs: Fixes to previous fs_write_stream_abort*() changes. |
0c1f911643fd8542fb488bfe23a54000372cde80 |
|
23-Aug-2016 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
lib-fs: Add fs_write_stream_abort_parent and use it
Will do all the things abort_error does, but leaves
error untouched. You are expected to set one yourself. |
6d035effc27b2556393e6b26fbe1a846741cdb8e |
|
23-Aug-2016 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
lib-fs: Remove fs_write_stream_abort
Do not use fs_write_stream_abort anymore, instead use
fs_write_stream_abort_error to provide upstream some
reason when it's used. |
be6fab2b1eded6b57d6688c6aa5a7c784f943865 |
|
23-Aug-2016 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
fs-api: Add and use fs_write_stream_abort_error
This lets caller to specify error instead of setting it
with fs_error. Doing it like this lets us percolate the
error upwards. |
a63cd84128875485e40ed804dbf0b0945526989c |
|
02-Aug-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-fs: Added fs_get_nlinks()
Although fs_stat() could return this, its caller can't indicate whether
it actually wants the link count. Usually fs_stat() is used only to get
the file's size. In some backends it's not cheap to get the link count,
so adding this function allows the caller to explicitly ask for it. |
185f63aeffefe857e823bc4eeaea53898f574d57 |
|
11-Jul-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-fs: Added fs_metadata_init_or_clear() helper |
507dcd9fee9b8f032a60af3ea35de4da0e5653c9 |
|
14-Jun-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-fs: Added write_bytes to statistics |
8296531314913c7f9d4ab1857c6f79ff1308a12f |
|
13-Jun-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-fs: Added fs_switch_ioloop() |
d34b8a75f3b74e26adc85b6436d033b1dcfaf9da |
|
13-Jun-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-fs: fs_wait_async() can't fail, so make it return void.
The individual requests can timeout, but not the waiting itself. |
3927a2114ac30fcc747741dc08151fe70e400463 |
|
03-Jun-2016 |
Baofeng Wang <baofeng.wang@dovecot.fi> |
lib-fs: do NOT feed i_strconcat() with NULL
fill the string with valid content beforehand. |
98ff8998f6ddd019d22db541cdb316df2c37f15d |
|
01-Jun-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-fs: Added more asserts |
a0cf7d3924dec409e6eadaf3237fcecd4194ec75 |
|
01-Jun-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-fs: Clarified fs_write_stream_abort() API and dropped its _async().
We can't handle an abort after an async fs_write_stream_finish() is already
going. |
adb9f4a606df2df9fdd6502cfffa6fc5de92843f |
|
01-Jun-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-fs: Added fs_write_stream_abort_async() |
378e6cb162b355d6f103526505bc00b9a78962e7 |
|
30-May-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
o_stream_send_istream() API changed again
The new API enforces the caller to correctly handle all the possible
situations. It also makes in unambiguous whether to wait for input or
output stream. |
d04f3e064ceb2ba1d734182937a7115739ebadbe |
|
18-May-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: Simplify code with the new o_stream_send_istream() API |
f339a8e73beea7684ea634941ea82593dea522ee |
|
18-May-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: Don't assume o_stream_send_istream() return bytes sent.
This won't be true soon after its API changes. |
573424407a2d3c1453638a643583a7cf10c129e1 |
|
16-May-2016 |
Phil Carmody <phil@dovecot.fi> |
lib: istream - more migration to i_stream_read_bytes()
This time a coccinelle semantic patch, again hand checked:
git grep 'i_stream_read_data' | sed s/:.*// | \
while read f; do spatch --sp-file istream.cocci --in-place "$f" ; done
-- 8< --- istream.cocci ---
@@
expression e1, e2, e3, e4;
@@
- i_stream_read_data(e1, e2, e3, e4 - 1)
+ i_stream_read_bytes(e1, e2, e3, e4)
-- 8< --- end
Signed-off-by: Phil Carmody <phil@dovecot.fi> |
3858a7a5da361c35f1e6e50c8e3214dc0cf379d6 |
|
16-May-2016 |
Phil Carmody <phil@dovecot.fi> |
lib: istream - migrate to i_stream_read_more()
Scripted to find all the low-hanging-fruit (single line calls), but hand-checked:
git grep i_stream_read_data.*,\ 0\) | sed s/:.*// | \
xargs sed -i -e 's/i_stream_read_data(\(.*\), \(.*\), \(.*\), 0)/i_stream_read_more(\1, \2, \3)/'
Signed-off-by: Phil Carmody <phil@dovecot.fi> |
526af69146c11a7a2c429f026e69fd66be845949 |
|
12-May-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-fs: Minor code cleanup |
eaac2584903d75da935eeee5098a7baa904f1afd |
|
12-May-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-fs: Set fs error on fs_write_stream_abort()
Probably would be nice for fs_write_stream_abort() to have an error string
parameter, which could be used instead of this generic error. |
d4a85e170c276969ba14c598a3efdbfaf33c7fc6 |
|
12-May-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-fs: Added asserts to make sure async writes are finished before close |
fece64e92adf33622ff6238f4050100f305fc007 |
|
05-May-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-fs: Fixes to stats count tracking
fs_exists(), fs_copy(), fs_rename() and fs_delete() could have increased the
count multiple times on async operations. |
0ed8bcc501d6f4839076353081408ee1a7710106 |
|
27-Apr-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-fs: Allow multiple fs_read_stream() calls to seekable istreams.
This fixes for example calling fs_default_copy() for an istream which was
already opened:
Panic: file fs-api.c: line 528 (fs_read_stream): assertion failed: (!file->istream_open) |
db5d7fbdb3eaf8b588633f874190aa34363e5597 |
|
27-Apr-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-fs: Fixed multiple concurrent fs_read_stream() calls
Return a new limit-istream, so each istream can have its own independent
offset. |
0ee52dafcc5b25c031e289d1d65ecccc859ebd3c |
|
23-Apr-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-fs: Assert-crash if file's istream isn't closed at fs_file_close()
Some backends can't guarantee that the istream stays usable after the file
is closed. |
140afad728d78c56fb4c0256f94eb81a213688db |
|
23-Apr-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-fs: Added fs-test backend for helping with creation of fs-wrapper unit tests. |
741a7e61d484bcc975b4d47a51548ac76334e1c1 |
|
18-Jan-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-fs: Added default implementations for fs_iter_*(), fs_copy() and fs_stat()
The backends can now leave them as NULL, and the callers will get an error
that they're not supported. |
02c335c23bf5fa225a467c19f2c063fb0dc7b8c3 |
|
12-Jan-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: freshen copyright
git ls-files | xargs perl -p -i -e 's/(\d+)-201[0-5]/$1-2016/g;s/ (201[0-5]) Dovecot/ $1-2016 Dovecot/' |
3d2d3501736ff917f2de8a38f253c741c6f84e1e |
|
19-Nov-2015 |
Timo Sirainen <tss@iki.fi> |
lib-fs: Added fs_stats_get_read/write_usecs()
These can be easily used to sum up all the timings for read and write
categories. |
3b4b517a554cdaa004c583b6f330893b94188d5e |
|
17-Nov-2015 |
Timo Sirainen <tss@iki.fi> |
lib-fs: Added asserts to fs_set_metadata() to make sure key and value are non-NULL
Otherwise the bug would be noticed only much later when trying to
dereference NULL pointer. |
12d31981c521a7e5520423b2960acc602fb669b7 |
|
22-Sep-2015 |
Timo Sirainen <tss@iki.fi> |
lib-fs: debug and enable_timing settings weren't being permanently copied to fs->set |
db6fe1b4c478231f9b63cca9069e2ab8fc70da2e |
|
17-Sep-2015 |
Timo Sirainen <tss@iki.fi> |
lib-fs: timing_deinit()s was called too late - fs was already freed. |
1c244f6fdbb509cca857982368f5d426e999f2d1 |
|
15-Sep-2015 |
Timo Sirainen <tss@iki.fi> |
lib-fs: Track operation timing statistics if enable_timing setting is set. |
6c0d8dc7cad70a336b01bd1978b3eee84a63b3b7 |
|
31-Aug-2015 |
Timo Sirainen <tss@iki.fi> |
lib-fs: Added "dict" backend, which is a wrapper to using lib-dict. |
8f8858ba3f4b14d3f651e091b5790f633e7f9fe5 |
|
16-Aug-2015 |
Timo Sirainen <tss@iki.fi> |
lib-fs: Fix to earlier write_stream_finish() commit
2f1378beeef6 accidentally reversed == and != check. |
1445b15b4d2d69a74ffa1cbe47e8e6558d72f8b4 |
|
16-Aug-2015 |
Timo Sirainen <tss@iki.fi> |
lib-fs: fs_copy*() didn't update metadata_changed correctly.
It was supposed to be (only) set when the copying actually finished. |
825e349a826ee2a984069edf394460bed5bc3426 |
|
16-Aug-2015 |
Timo Sirainen <tss@iki.fi> |
lib-fs: Small code cleanup for handling write_stream_finish() |
b76b97a5b240ecfdd38d34645caa930d0de2ff27 |
|
16-Aug-2015 |
Timo Sirainen <tss@iki.fi> |
lib-fs: fs_write() didn't update stats.write_count correctly.
If backend implemented asynchronous write(), the write_count was updated multiple
times. If backend didn't implement write(), then it was counted twice. |
4244105be4eee427a90983d17070b438f6e2cdec |
|
16-Jun-2015 |
Timo Sirainen <tss@iki.fi> |
lib-fs: Call o_stream_nfinish() automatically for all backends in fs_write_stream_finish()
Otherwise each backend needs to do it internally. fs-metawrap for example
was missing this and causing assert-crashes. |
5a441a6d97225cbdc67dad7bdd80de3c7bfedaab |
|
16-Jun-2015 |
Timo Sirainen <tss@iki.fi> |
lib-fs: Added "randomfail" driver.
Using this in front of fs drivers allows randomly injecting failures. For
example:
mail_attachment_fs = randomfail:all=10,read=30,read-range=2000-3000:sis posix
This means that all FS operations have a 10% chance of failing, except reads
have a 30% chance of failing. If the read fails, it'll fail somewhere
between offsets 2000-3000 (the default is 0, so it'll fail at the start of
file).
The supported operations are: wait metadata prefetch read write lock exists
stat copy rename delete iter. "all" applies to all of them.
The supported ranges are: read-range, write-range, iter-range. |
9750790dae6365365366e6fcaa3ab0c2e76b0507 |
|
29-May-2015 |
Timo Sirainen <tss@iki.fi> |
lib-fs: fs_write_stream_abort() now ignores missing o_stream_nfinish() call |
af8e9722500efbba1bb58a96302a71977e1dbe92 |
|
29-May-2015 |
Timo Sirainen <tss@iki.fi> |
lib-fs: fs_write_stream() now automatically corks the ostream and uncorks at _finish(). |
29b8c2bd69b2b2d688fdbf6b8383c7abff0f276b |
|
07-May-2015 |
Timo Sirainen <tss@iki.fi> |
lib-fs: Fixed fs-compress code to actually build and run.
It's a plugin (because it depends on extra compression libraries). We want
to register it only when it's explicitly attempted to be used, not before. |
d0c3964c88496a3c476a649c21f2abf8d81fd7ab |
|
07-May-2015 |
Timo Sirainen <tss@iki.fi> |
lib-fs: Added fs-compress wrapper.
Future TODO could include automatically detecting the format of the input
file, but this should be optional. |
70f202ae74b6981ced5776a69b1070274313c6c8 |
|
04-May-2015 |
Timo Sirainen <tss@iki.fi> |
lib-fs: Forgot to initialize refcount in previous commit |
e853125eceafe8c3e286ce9b4176f6df4b806ace |
|
04-May-2015 |
Timo Sirainen <tss@iki.fi> |
lib-fs: Added fs_ref() and fs_unref() for reference counting. |
e0593474ae2d8b1d4ec8c70c4fd84ea2bfede75a |
|
24-Apr-2015 |
Timo Sirainen <tss@iki.fi> |
lib-fs: Use the new t_str_replace() instead of doing it ourself. |
60eda49183dbec5f3d5ec18b38433581e28e2eba |
|
16-Apr-2015 |
Timo Sirainen <tss@iki.fi> |
lib-fs: fs_class_register() can now be called externally. |
ea19bfdfc2205af178a70915054c809ed2b8709e |
|
22-Mar-2015 |
Timo Sirainen <tss@iki.fi> |
lib-fs: Added support for module_contexts in fs.
They could also be added to fs_file if needed, but for now I didn't bother
adding it. |
0bf2d5782f1637e6816efa82865ca7eacbadd20c |
|
22-Mar-2015 |
Timo Sirainen <tss@iki.fi> |
lib-fs: When autoloading fs plugins with '-' in the name, translate them to '_'
It's not possible for the function names to contain '-' in any case. Also
Dovecot in general uses '-' instead of '_' in the configuration names. This
change actually allows using either of them. |
4dfd8a717fe2e1c01aeddd2992bc9745ca8e0abb |
|
06-Mar-2015 |
Timo Sirainen <tss@iki.fi> |
lib-fs: Minor code cleanup: Merge read_counted & prefetch_counted into read_or_prefetch_counted |
302167a8a77cf3597f0b33e644a1805aa3313a8c |
|
05-Mar-2015 |
Timo Sirainen <tss@iki.fi> |
lib-fs: Track how many different operations have been done on the fs. |
4c827a0925f5f77d1067e646fc2f615678c50d66 |
|
05-Mar-2015 |
Timo Sirainen <tss@iki.fi> |
lib-fs: Added fs_get_parent() and fs_get_driver()
These can be used to iterate through fs wrappers and see what they are. |
8656b625c110d849ece2d040d7880eec20058694 |
|
17-Feb-2015 |
Timo Sirainen <tss@iki.fi> |
lib-fs: Added flag for iteration returning object IDs.
The flag is only allowed to be used if FS_PROPERTY_OBJECTIDS is set
(to avoid writing extra code for backends that don't support this). |
7cb128dc4cae2a03a742f63ba7afee23c78e3af0 |
|
05-Jan-2015 |
Phil Carmody <phil@dovecot.fi> |
global: freshen copyright
Robomatically:
git ls-files | xargs perl -p -i -e 's/(\d+)-201[0-4]/$1-2015/g;s/ (201[0-4]) Dovecot/ $1-2015 Dovecot/'
Happy 2015 everyone!
Signed-off-by: Phil Carmody <phil@dovecot.fi> |
9a1ab9488c75f8a68871d0fcdff4e0d0e3543299 |
|
15-Nov-2014 |
Timo Sirainen <tss@iki.fi> |
lib-fs: Added fs_lookup_metadata() wrapper to fs_get_metadata() |
46453c751e7714dbe2b57752b34b5a3427375ccf |
|
24-Oct-2014 |
Timo Sirainen <tss@iki.fi> |
lib-fs: Improved error logging |
e13e798694ba1b0d0a5cf471600168eeaa8d2af4 |
|
15-Sep-2014 |
Timo Sirainen <tss@iki.fi> |
lib-fs: Keep track of all fs_iters in fs. |
5804ddddad82319839785885fdacbba60e0c9581 |
|
15-Sep-2014 |
Timo Sirainen <tss@iki.fi> |
lib-fs: Added wait_ioloop/prev_ioloop helpers to struct fs. |
92093e6d8bdddeac59e169bcde6d0080a17e66ef |
|
28-Aug-2014 |
Timo Sirainen <tss@iki.fi> |
lib-fs: Keep a linked list of all files within fs to help debugging. |
392538eef147981f6d818cd14cabc94cf8049d8e |
|
10-Jul-2014 |
Timo Sirainen <tss@iki.fi> |
lib-fs: Added FS_PROPERTY_COPY_METADATA and fs_set_metadata() tracking. |
02cc28525a97ee60cb512c8eb15908082743bfe9 |
|
09-Jul-2014 |
Timo Sirainen <tss@iki.fi> |
lib-fs: Added username and session_id to struct fs directly. |
5e9e9f07ba5177d4208581b77434ec6368cdaa8a |
|
13-May-2014 |
Timo Sirainen <tss@iki.fi> |
lib-fs: Make sure we don't leak data stack. |
a8c5a86d183db25a57bf193c06b41e092ec2e151 |
|
04-Feb-2014 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2014. |
60fe2f162e61eae1c2821bf9705c7ff7987c8ade |
|
05-Oct-2013 |
Timo Sirainen <tss@iki.fi> |
lib-fs: Added FS_OPEN_FLAG_ASYNC_NOQUEUE |
b6ecc96ac80d70e25a5e83d14383e2b8e17d29dd |
|
13-Sep-2013 |
Timo Sirainen <tss@iki.fi> |
lib-fs: If backend doesn't implement exists(), emulate it with stat(). |
9c45f33d0e0ca0b8f87f9a3318dd505a78fd198e |
|
10-Sep-2013 |
Timo Sirainen <tss@iki.fi> |
lib-fs: Added support for asynchronous fs iteration. |
67a163f3a07593446fab1cbbb8f92a89d4c6cb57 |
|
09-Sep-2013 |
Timo Sirainen <tss@iki.fi> |
lib-fs: Added support for giving a hash of the written data to be verified by storage. |
237a6211c7fc4d6dbb58dd0467da6dba1b8f21f6 |
|
13-Jun-2013 |
Timo Sirainen <tss@iki.fi> |
Memory leak fixes. |
1424de6d63c9166d8091a3b3ea3c1c15e5beda1e |
|
01-Jun-2013 |
Timo Sirainen <tss@iki.fi> |
lib-fs: If fs_default_copy() fails, close the copy stream immediately.
The stream's origin may already be freed by the time the fs_file_close() is
trying to close the stream. |
75a2a8361aafd27d01eef00c23d784e329b695c2 |
|
28-May-2013 |
Timo Sirainen <tss@iki.fi> |
lib-fs: Added fs_get_root_driver() |
0b32a8d139f6a4f2b18a6444fc66d31b4a1b0da6 |
|
10-Apr-2013 |
Timo Sirainen <tss@iki.fi> |
lib-fs: Added fs_file_close() to explicitly close all streams that the file has open. |
e062a4b1f8d94929f6fb9e6d27acfddf50439437 |
|
10-Apr-2013 |
Timo Sirainen <tss@iki.fi> |
lib-fs: Add data stack frames to most API calls, so the backends/callers don't need to. |
c4e3c997c04eb6f93f782c5fa53354390ed07a02 |
|
27-Mar-2013 |
Timo Sirainen <tss@iki.fi> |
lib-fs: Always keep the error in the parentmost fs.
This fixes problems with getting the correct error message when wrapper
filesystems are used. |
3010259e7834bdad8cb77e8bcbb9fc5c700897a2 |
|
20-Mar-2013 |
Timo Sirainen <tss@iki.fi> |
lib-fs: Fixed fs_default_copy() to work with async writes. |
4948718872b7dacb239e7db20393cd232bf4568b |
|
26-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
lib-fs: If fs_read_stream() creates a seekable stream, keep it open for future reads. |
459b43463e1d652e5e2b8274246f1fa5ecf54d32 |
|
26-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
fs-api: Fixed fs_copy() generic implementation's error messages |
ef064b29e237d6093727e18f997f680881567771 |
|
05-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
lib-fs: Avoid memory leaks if file was closed before fs_read()/fs_copy() was finished. |
a06af8e117e14e2ddc5835bcbe0d2f0370cbc0a1 |
|
04-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
lib-fs: Added FS_OPEN_FLAG_SEEKABLE. Globally handle fs_read_stream() seekability and waits. |
f6754d90ea6bbe1386eb4d39f603cf01edde4ef1 |
|
03-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
lib-fs: fs_write_stream_finish(file, NULL) is now alias to fs_write_stream_finish_async(file)
This makes wrapper implementations easier. |
5a580c3a38ced62d4bcc95b8ac7c4f2935b5d294 |
|
02-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
Oops :) Update copyrights to 2013 without breaking all .c files. |
cca4ba2a504d70a9fe9fee37f8433997359de52c |
|
02-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2013. |
84669c712403b742cc07ae70229725c486ef1235 |
|
21-Jan-2013 |
Timo Sirainen <tss@iki.fi> |
lib-fs: Added "metawrap" wrapper to implement metadata as headers in the file content. |
3dcb9fd82c1edd40bea1ad572ed39f024686e463 |
|
21-Jan-2013 |
Timo Sirainen <tss@iki.fi> |
lib-fs: fs_file_path() is now a virtual function.
This fixes it returning the correct filename when file was created using
FS_OPEN_MODE_CREATE_UNIQUE_128 and a wrapper fs. |
63e94e8f57920b510fcdc479c5482ba9f4337a5c |
|
21-Jan-2013 |
Timo Sirainen <tss@iki.fi> |
lib-fs: Added flags to iteration, and FS_ITER_FLAG_DIRS as the first flag. |
251457b81928bab1ad25193e8a09bda829abe9ee |
|
04-Dec-2012 |
Timo Sirainen <tss@iki.fi> |
lib-fs: Added a default fs_read() implementation using the fs_read_stream(). |
0fb5804c1c6023fecccd979fdb25d2affda934a4 |
|
04-Dec-2012 |
Timo Sirainen <tss@iki.fi> |
lib-fs: Added a default fs_write() implementation using the fs_write_stream*(). |
898e99166f46b4f37ae45fe5594ed952b5befe6d |
|
28-Nov-2012 |
Timo Sirainen <tss@iki.fi> |
lib-fs: Don't crash when trying to initialize nonexistent fs driver. |
6e8fce0589289d10e6dcd9b71fde763492bb29b8 |
|
26-Nov-2012 |
Timo Sirainen <tss@iki.fi> |
lib-fs: Automatically try to load missing driver as plugin. |
2766f1de8141c09767a959d2d2c3065c5a300bf0 |
|
26-Nov-2012 |
Timo Sirainen <tss@iki.fi> |
lib-fs: fs_wait_async() can now return an error. |
ba886767d3817d210b20e1d42983078d189fb13c |
|
21-Oct-2012 |
Timo Sirainen <tss@iki.fi> |
lib-fs: Fixes to async APIs. |
c59b9c273b41f7bcf51f6803110b67813879ff05 |
|
11-Oct-2012 |
Timo Sirainen <tss@iki.fi> |
lib-fs API cleanups and improvements |
c9160ac09e52d21532017e0b4144babc65f43194 |
|
25-Sep-2012 |
Timo Sirainen <tss@iki.fi> |
lib-fs: Fix to previous change |
463072825056eabcbed7aaa943c98655ce173ce5 |
|
25-Sep-2012 |
Timo Sirainen <tss@iki.fi> |
lib-fs: Minor code cleanup |
533bf074afe5a5e96208c75fd3dcba49302e244f |
|
18-Sep-2012 |
Timo Sirainen <tss@iki.fi> |
lib-fs: Fix to previous API change |
d4c3d55021bcbf2b062f4782b1cde9115d35aefc |
|
17-Sep-2012 |
Timo Sirainen <tss@iki.fi> |
lib-fs: fs_init() API changed to allow returning an error. |
5f5870385cff47efd2f58e7892f251cf13761528 |
|
12-Feb-2012 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2012. |
2e37d45867d081db150ab78dad303b9077aea24f |
|
04-Mar-2011 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2011. |
183bea41fa640dc8117f3eb45ff935cd81377a84 |
|
04-Mar-2011 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2011. |
c33d3f93abf8392fdc60e12bea41ffd12cc85a8d |
|
19-Oct-2010 |
Timo Sirainen <tss@iki.fi> |
Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends. |