diff options
| author | Grzegorz Kostka <kostka.grzegorz@gmail.com> | 2017-02-17 13:44:05 +0100 |
|---|---|---|
| committer | Grzegorz Kostka <kostka.grzegorz@gmail.com> | 2017-02-17 13:49:14 +0100 |
| commit | 803375001a1985ae323c86fa3f6f2c4eff14e1e9 (patch) | |
| tree | e7f7f77d31b728d550370e03bcd7ec22cea2cbea /src | |
| parent | 8321f180e635400137d052270e3c463a81738c1f (diff) | |
ext4: remove dynamic block cache allocation in ext4_mount
Diffstat (limited to 'src')
| -rw-r--r-- | src/ext4.c | 12 |
1 files changed, 6 insertions, 6 deletions
@@ -91,6 +91,9 @@ struct ext4_mountpoint { /**@brief Journal.*/ struct jbd_journal jbd_journal; + + /**@brief Block cache.*/ + struct ext4_bcache bc; }; /**@brief Block devices descriptor.*/ @@ -414,12 +417,10 @@ int ext4_mount(const char *dev_name, const char *mount_point, bsize = ext4_sb_get_block_size(&mp->fs.sb); ext4_block_set_lb_size(bd, bsize); - - bc = ext4_malloc(sizeof(struct ext4_bcache)); + bc = &mp->bc; r = ext4_bcache_init_dynamic(bc, CONFIG_BLOCK_DEV_CACHE_SIZE, bsize); if (r != EOK) { - ext4_free(bc); ext4_block_fini(bd); return r; } @@ -433,11 +434,10 @@ int ext4_mount(const char *dev_name, const char *mount_point, ext4_bcache_cleanup(bc); ext4_block_fini(bd); ext4_bcache_fini_dynamic(bc); - ext4_free(bc); return r; } - bd->fs = &mp->fs; + bd->fs = &mp->fs; return r; } @@ -466,7 +466,7 @@ int ext4_umount(const char *mount_point) ext4_bcache_cleanup(mp->fs.bdev->bc); ext4_bcache_fini_dynamic(mp->fs.bdev->bc); - ext4_free(mp->fs.bdev->bc); + r = ext4_block_fini(mp->fs.bdev); Finish: mp->fs.bdev->fs = NULL; |
