Changeset 01ab41b in mainline for uspace/lib/ext4/libext4_filesystem.c
- Timestamp:
- 2011-10-03T11:57:14Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 9c0c0e1
- Parents:
- 54935cf6
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/ext4/libext4_filesystem.c
r54935cf6 r01ab41b 37 37 38 38 #include <errno.h> 39 #include <malloc.h> 39 40 #include "libext4_filesystem.h" 40 41 42 /** 43 * TODO doxy 44 */ 41 45 int ext4_filesystem_init(ext4_filesystem_t *fs, service_id_t service_id) 42 46 { 47 48 int rc; 49 ext4_superblock_t *temp_superblock; 50 size_t block_size; 51 52 fs->device = service_id; 53 54 // TODO block size !!! 55 rc = block_init(EXCHANGE_SERIALIZE, fs->device, 2048); 56 if (rc != EOK) { 57 return rc; 58 } 59 60 rc = ext4_superblock_read_direct(fs->device, &temp_superblock); 61 if (rc != EOK) { 62 block_fini(fs->device); 63 return rc; 64 } 65 66 block_size = ext4_superblock_get_block_size(temp_superblock); 67 68 if (block_size > EXT4_MAX_BLOCK_SIZE) { 69 block_fini(fs->device); 70 return ENOTSUP; 71 } 72 73 rc = block_cache_init(service_id, block_size, 0, CACHE_MODE_WT); 74 if (rc != EOK) { 75 block_fini(fs->device); 76 return rc; 77 } 78 79 fs->superblock = temp_superblock; 80 81 43 82 // TODO 44 83 return EOK; 45 84 } 46 85 86 /** 87 * TODO doxy 88 */ 47 89 int ext4_filesystem_check_sanity(ext4_filesystem_t *fs) 48 90 { 49 // TODO 91 int rc; 92 93 rc = ext4_superblock_check_sanity(fs->superblock); 94 if (rc != EOK) { 95 return rc; 96 } 97 50 98 return EOK; 51 99 } 52 100 101 /** 102 * TODO doxy 103 */ 53 104 int ext4_filesystem_check_flags(ext4_filesystem_t *fs, bool *o_read_only) 54 105 { … … 57 108 } 58 109 110 /** 111 * TODO doxy 112 */ 59 113 void ext4_filesystem_fini(ext4_filesystem_t *fs) 60 114 { 61 // TODO 115 free(fs->superblock); 116 block_fini(fs->device); 62 117 } 63 118
Note:
See TracChangeset
for help on using the changeset viewer.