allow to change local files

- fuse/filecache:
     * add filecache_upload_patch
     * allow opening files in modes other than RDONLY
 - fuse/hashtbl:
     * add folder_tree_upload_patch
 - fuse/operations:
     * allow opening files in modes other than RDONLY
     * add members to private context which allow tracking of
       not-yet-uploaded files and files opened for writing and
       files opened in read-only mode
 - mfapi/apicalls/upload_patch:
     * supply x-filename and x-filesize headers
 - mfapi/apicalls/upload_simple:
     * do not supply the x-filehash header as it is not used by the
       server
 - utils/hash:
     * hex characters must be lower case for the server
 - utils/strings:
     * clean up unused functions strdup_join, strdup_substr,
       string_chomp
 - utils/stringv:
     * complete rewrite with different string vector implementation
This commit is contained in:
josch
2014-12-08 14:12:17 +01:00
parent 5bd9e418c4
commit 171fd815f2
16 changed files with 521 additions and 439 deletions

View File

@@ -24,6 +24,7 @@
#include <sys/types.h>
#include "../mfapi/mfconn.h"
#include "hashtbl.h"
#include "../utils/stringv.h"
struct mediafirefs_context_private {
mfconn *conn;
@@ -31,12 +32,14 @@ struct mediafirefs_context_private {
char *configfile;
char *dircache;
char *filecache;
/* stores all currently open temporary files which are to be uploaded when
* they are closed.
* we use a normal array because the number of open temporary files will
* never be very high but is limited by the number of threads */
char **tmpfiles;
size_t num_tmpfiles;
/* stores:
* - all currently open temporary files which are to be uploaded when
* they are closed.
* - all files that are opened for writing
*/
stringv *sv_writefiles;
/* stores all files that have been opened for reading only */
stringv *sv_readonlyfiles;
};
int mediafirefs_getattr(const char *path, struct stat *stbuf);