]> mj.ucw.cz Git - libucw.git/blobdiff - lib/bucket.h
If have GET_O and GET_P, we should have PUT_O and PUT_P as well.
[libucw.git] / lib / bucket.h
index 73ceafaf09677080e764972ff3ef9388852835d4..759ef0e4761e4b035d8242a7bc57339bdb4f1280 100644 (file)
@@ -39,7 +39,6 @@ struct fastbuf;
 void obuck_init(int writeable);        /* Initialize the bucket module */
 void obuck_cleanup(void);      /* Clean up the bucket module */
 void obuck_sync(void);         /* Flush all buffers to disk */
-sh_off_t obuck_size(void);     /* Returns current size of bucket file */
 
 /* Searching for buckets */
 void obuck_find_by_oid(struct obuck_header *hdrp);
@@ -56,3 +55,13 @@ void obuck_create_end(struct fastbuf *b, struct obuck_header *hdrp);
 
 /* Deleting buckets */
 void obuck_delete(oid_t oid);
+
+/* Convert bucket ID to file position (for size limitations etc.) */
+
+static inline sh_off_t obuck_get_pos(oid_t oid)
+{
+  return ((sh_off_t) oid) << OBUCK_SHIFT;
+}
+
+/* Shaking down bucket file */
+void obuck_shakedown(int (*kibitz)(struct obuck_header *old, oid_t new, byte *buck));