Optimize device/get_changes updates

- don't use folder/get_content but rely on parent information
 - add many more debugging information and sanity checks
 - ignore trash
 - correctly update local device revision using device_response
 - remove "visited" member and change housekeeping function to check for
   consistency of parents and children (and retrieve fix from remote if
   necessary)
 - print key and parent key in the debugging function
 - check for remote updates on every fs function
 - introduce global defines for key and filename length
 - add parent member, getters and setters to file.h
This commit is contained in:
josch
2014-09-27 13:53:44 +02:00
parent da914e67b1
commit b6f35763fa
11 changed files with 459 additions and 220 deletions

View File

@@ -88,6 +88,7 @@ static void usage(const char *progname)
static int mediafirefs_getattr(const char *path, struct stat *stbuf)
{
folder_tree_update(tree, conn);
return folder_tree_getattr(tree, path, stbuf);
}
@@ -98,6 +99,7 @@ static int mediafirefs_readdir(const char *path, void *buf,
(void)offset;
(void)info;
folder_tree_update(tree, conn);
return folder_tree_readdir(tree, path, buf, filldir);
}
@@ -187,7 +189,7 @@ int main(int argc, char *argv[])
//folder_tree_housekeep(tree);
folder_tree_debug(tree, NULL, 0);
//folder_tree_debug(tree, NULL, 0);
//folder_tree_destroy(tree);