|
@@ -135,6 +135,12 @@ struct nilfs_bmap {
|
|
/* state */
|
|
/* state */
|
|
#define NILFS_BMAP_DIRTY 0x00000001
|
|
#define NILFS_BMAP_DIRTY 0x00000001
|
|
|
|
|
|
|
|
+struct nilfs_bmap_store {
|
|
|
|
+ __le64 data[NILFS_BMAP_SIZE / sizeof(__le64)];
|
|
|
|
+ __u64 last_allocated_key;
|
|
|
|
+ __u64 last_allocated_ptr;
|
|
|
|
+ int state;
|
|
|
|
+};
|
|
|
|
|
|
int nilfs_bmap_test_and_clear_dirty(struct nilfs_bmap *);
|
|
int nilfs_bmap_test_and_clear_dirty(struct nilfs_bmap *);
|
|
int nilfs_bmap_read(struct nilfs_bmap *, struct nilfs_inode *);
|
|
int nilfs_bmap_read(struct nilfs_bmap *, struct nilfs_inode *);
|
|
@@ -156,6 +162,8 @@ void nilfs_bmap_init_gc(struct nilfs_bmap *);
|
|
void nilfs_bmap_init_gcdat(struct nilfs_bmap *, struct nilfs_bmap *);
|
|
void nilfs_bmap_init_gcdat(struct nilfs_bmap *, struct nilfs_bmap *);
|
|
void nilfs_bmap_commit_gcdat(struct nilfs_bmap *, struct nilfs_bmap *);
|
|
void nilfs_bmap_commit_gcdat(struct nilfs_bmap *, struct nilfs_bmap *);
|
|
|
|
|
|
|
|
+void nilfs_bmap_save(const struct nilfs_bmap *, struct nilfs_bmap_store *);
|
|
|
|
+void nilfs_bmap_restore(struct nilfs_bmap *, const struct nilfs_bmap_store *);
|
|
|
|
|
|
static inline int nilfs_bmap_lookup(struct nilfs_bmap *bmap, __u64 key,
|
|
static inline int nilfs_bmap_lookup(struct nilfs_bmap *bmap, __u64 key,
|
|
__u64 *ptr)
|
|
__u64 *ptr)
|