X-Git-Url: http://git.vrable.net/?a=blobdiff_plain;f=bluesky%2Ffile.c;h=7b11e70e4512d0ef169d465aa13557e8da6e3012;hb=6955b27db8185d222adb07e57d207f7f421037e6;hp=0c92e69a18b543ff43d87f0320e9444a8f28a711;hpb=870ff381b99c54615457d1cea92e710bc68e194b;p=bluesky.git diff --git a/bluesky/file.c b/bluesky/file.c index 0c92e69..7b11e70 100644 --- a/bluesky/file.c +++ b/bluesky/file.c @@ -93,7 +93,7 @@ void bluesky_file_truncate(BlueSkyInode *inode, uint64_t size) g_array_set_size(inode->blocks, blocks); } else if (blocks < inode->blocks->len) { /* Delete blocks from a file. Must reclaim memory. */ - for (guint i = inode->blocks->len; i < blocks; i++) { + for (guint i = blocks; i < inode->blocks->len; i++) { BlueSkyBlock *b = &g_array_index(inode->blocks, BlueSkyBlock, i); if (b->type == BLUESKY_BLOCK_DIRTY) g_atomic_int_add(&inode->fs->cache_dirty, -1); @@ -241,7 +241,7 @@ void bluesky_block_flush(BlueSkyInode *inode, BlueSkyBlock *block, g_assert(block->ref == NULL); - BlueSkyCloudLog *cloudlog = bluesky_cloudlog_new(fs); + BlueSkyCloudLog *cloudlog = bluesky_cloudlog_new(fs, NULL); cloudlog->type = LOGTYPE_DATA; cloudlog->inum = inode->inum; cloudlog->data = block->dirty; // String ownership is transferred @@ -287,9 +287,6 @@ void bluesky_file_drop_cached(BlueSkyInode *inode) b->ref->data = NULL; bluesky_cloudlog_stats_update(b->ref, 1); } - if (b->ref->location_flags & CLOUDLOG_CLOUD) { - b->ref->location_flags &= ~CLOUDLOG_JOURNAL; - } g_mutex_unlock(b->ref->lock); } }