projects
/
bluesky.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Improve cleaner performance.
[bluesky.git]
/
bluesky
/
cloudlog.c
diff --git
a/bluesky/cloudlog.c
b/bluesky/cloudlog.c
index
e50c269
..
ec168e8
100644
(file)
--- a/
bluesky/cloudlog.c
+++ b/
bluesky/cloudlog.c
@@
-147,7
+147,10
@@
void bluesky_cloudlog_unref(BlueSkyCloudLog *log)
return;
}
return;
}
- g_hash_table_remove(fs->locations, &log->id);
+ if (!g_hash_table_remove(fs->locations, &log->id)) {
+ if (bluesky_verbose)
+ g_warning("Could not find and remove cloud log item from hash table!");
+ }
g_mutex_unlock(fs->lock);
bluesky_cloudlog_stats_update(log, -1);
g_mutex_unlock(fs->lock);
bluesky_cloudlog_stats_update(log, -1);
@@
-202,6
+205,9
@@
void bluesky_cloudlog_erase(BlueSkyCloudLog *log)
{
g_assert(log->data_lock_count == 0);
{
g_assert(log->data_lock_count == 0);
+ if (log->type == LOGTYPE_UNKNOWN)
+ return;
+
log->type = LOGTYPE_UNKNOWN;
log->data_size = 0;
bluesky_string_unref(log->data);
log->type = LOGTYPE_UNKNOWN;
log->data_size = 0;
bluesky_string_unref(log->data);
@@
-253,7
+259,7
@@
BlueSkyCloudLog *bluesky_cloudlog_get(BlueSkyFS *fs, BlueSkyCloudID id)
item = g_hash_table_lookup(fs->locations, &id);
if (item == NULL) {
item = bluesky_cloudlog_new(fs, &id);
item = g_hash_table_lookup(fs->locations, &id);
if (item == NULL) {
item = bluesky_cloudlog_new(fs, &id);
-
g_hash_table_insert(fs->locations, &id,
item);
+
bluesky_cloudlog_insert_locked(
item);
} else {
bluesky_cloudlog_ref(item);
}
} else {
bluesky_cloudlog_ref(item);
}
@@
-383,8
+389,6
@@
BlueSkyCloudPointer bluesky_cloudlog_serialize(BlueSkyCloudLog *log,
g_mutex_lock(fs->lock);
InodeMapEntry *entry = bluesky_inode_map_lookup(fs->inode_map,
log->inum, 1);
g_mutex_lock(fs->lock);
InodeMapEntry *entry = bluesky_inode_map_lookup(fs->inode_map,
log->inum, 1);
- entry->id = log->id;
- entry->location = log->location;
entry->item = log;
bluesky_cloudlog_ref(entry->item);
g_mutex_unlock(fs->lock);
entry->item = log;
bluesky_cloudlog_ref(entry->item);
g_mutex_unlock(fs->lock);