X-Git-Url: http://git.vrable.net/?a=blobdiff_plain;f=bluesky%2Fbluesky.h;h=69f215ac6b5933fff2d9acbf05542d1b8ca1fc82;hb=4d0f19140e01c9119d9e73ba24f8ef04e0434a5a;hp=bf01abe1471f149ac82ee278a8d73cc72d97c18a;hpb=f53cd8284a0461840cea01c7c6dbc875c52fac50;p=bluesky.git diff --git a/bluesky/bluesky.h b/bluesky/bluesky.h index bf01abe..69f215a 100644 --- a/bluesky/bluesky.h +++ b/bluesky/bluesky.h @@ -20,10 +20,10 @@ extern "C" { /* Various options to tweak for performance benchmarking purposes. */ typedef struct { - /* Perform all get/put operations synchronously. */ + /* OBSOLETE: Perform all get/put operations synchronously. */ int synchronous_stores; - /* Write data in cache immediately after file is modified. */ + /* OBSOLETE: Write data in cache immediately after file is modified. */ int writethrough_cache; /* Can inodes be fetched asynchronously? (Inode object is initially @@ -37,6 +37,20 @@ typedef struct { /* Target size of the disk cache at the proxy, in kilobytes. */ int cache_size; + + /* Full segment fetches (1) or use range requests (0) for fetching segments + * from cloud? */ + int full_segment_fetches; + + /* Disable aggregating of data into log segments. Each object will be + * stored in a separate segment. */ + int disable_aggregation; + + /* Disable cryptography. This is for benchmarking purposes. */ + int disable_crypto; + + /* Disable aggregation of read requests. Fetch items individually. */ + int disable_read_aggregation; } BlueSkyOptions; extern BlueSkyOptions bluesky_options; @@ -54,6 +68,7 @@ struct bluesky_stats { struct bluesky_stats *bluesky_stats_new(const char *name); void bluesky_stats_add(struct bluesky_stats *stats, int64_t value); void bluesky_stats_dump_all(); +void bluesky_stats_run_periodic_dump(FILE *f); /* BlueSky status and error codes. Various frontends should translate these to * the appropriate error code for whatever protocol they implement. */ @@ -356,6 +371,7 @@ void bluesky_file_read(BlueSkyInode *inode, uint64_t offset, char *buf, gint len); void bluesky_inode_fetch(BlueSkyFS *fs, uint64_t inum); +void bluesky_inode_prefetch(BlueSkyFS *fs, uint64_t inum); gint bluesky_dirent_compare(gconstpointer a, gconstpointer b, gpointer unused); @@ -369,6 +385,7 @@ void bluesky_debug_dump(BlueSkyFS *fs); /* Request response time tracking. */ typedef struct BlueSkyProfile { + int magic; GMutex *lock; char *description; GList *events;