Changes in uspace/srv/fs/ext4fs/ext4fs_ops.c [2f591127:cc8044e] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/fs/ext4fs/ext4fs_ops.c
r2f591127 rcc8044e 259 259 rc = ext4fs_node_get_core(rfn, eparent->instance, inode); 260 260 if (rc != EOK) 261 goto exit; 262 263 exit: 264 ; 265 261 return rc; 262 266 263 /* Destroy search result structure */ 267 int const rc2 = ext4_directory_destroy_result(&result); 268 return rc == EOK ? rc2 : rc; 264 return ext4_directory_destroy_result(&result); 269 265 } 270 266 … … 1006 1002 *lnkcnt = 1; 1007 1003 1008 return ext4fs_node_put(root_node); 1004 ext4fs_node_put(root_node); 1005 1006 return EOK; 1009 1007 } 1010 1008 … … 1095 1093 } 1096 1094 1097 int const rc2 =ext4_filesystem_put_inode_ref(inode_ref);1098 1099 return rc == EOK ? rc2 : rc;1095 ext4_filesystem_put_inode_ref(inode_ref); 1096 1097 return rc; 1100 1098 } 1101 1099 … … 1270 1268 memset(buffer, 0, bytes); 1271 1269 1272 rc =async_data_read_finalize(callid, buffer, bytes);1270 async_data_read_finalize(callid, buffer, bytes); 1273 1271 *rbytes = bytes; 1274 1272 1275 1273 free(buffer); 1276 return rc;1274 return EOK; 1277 1275 } 1278 1276 … … 1286 1284 1287 1285 assert(offset_in_block + bytes <= block_size); 1288 rc = async_data_read_finalize(callid, block->data + offset_in_block, bytes); 1289 if (rc != EOK) { 1290 block_put(block); 1291 return rc; 1292 } 1286 async_data_read_finalize(callid, block->data + offset_in_block, bytes); 1293 1287 1294 1288 rc = block_put(block); … … 1322 1316 size_t len; 1323 1317 if (!async_data_write_receive(&callid, &len)) { 1324 rc = EINVAL;1325 async_answer_0(callid, rc);1326 goto exit;1318 ext4fs_node_put(fn); 1319 async_answer_0(callid, EINVAL); 1320 return EINVAL; 1327 1321 } 1328 1322 … … 1347 1341 &fblock); 1348 1342 if (rc != EOK) { 1343 ext4fs_node_put(fn); 1349 1344 async_answer_0(callid, rc); 1350 goto exit;1345 return rc; 1351 1346 } 1352 1347 … … 1364 1359 &fblock, true); 1365 1360 if (rc != EOK) { 1361 ext4fs_node_put(fn); 1366 1362 async_answer_0(callid, rc); 1367 goto exit;1363 return rc; 1368 1364 } 1369 1365 } … … 1372 1368 &fblock, false); 1373 1369 if (rc != EOK) { 1370 ext4fs_node_put(fn); 1374 1371 async_answer_0(callid, rc); 1375 goto exit;1372 return rc; 1376 1373 } 1377 1374 } else { 1378 1375 rc = ext4_balloc_alloc_block(inode_ref, &fblock); 1379 1376 if (rc != EOK) { 1377 ext4fs_node_put(fn); 1380 1378 async_answer_0(callid, rc); 1381 goto exit;1379 return rc; 1382 1380 } 1383 1381 … … 1386 1384 if (rc != EOK) { 1387 1385 ext4_balloc_free_block(inode_ref, fblock); 1386 ext4fs_node_put(fn); 1388 1387 async_answer_0(callid, rc); 1389 goto exit;1388 return rc; 1390 1389 } 1391 1390 } … … 1399 1398 rc = block_get(&write_block, service_id, fblock, flags); 1400 1399 if (rc != EOK) { 1400 ext4fs_node_put(fn); 1401 1401 async_answer_0(callid, rc); 1402 goto exit;1403 } 1404 1405 if (flags == BLOCK_FLAGS_NOREAD) {1402 return rc; 1403 } 1404 1405 if (flags == BLOCK_FLAGS_NOREAD) 1406 1406 memset(write_block->data, 0, block_size); 1407 write_block->dirty = true; 1408 } 1409 1407 1410 1408 rc = async_data_write_finalize(callid, write_block->data + 1411 1409 (pos % block_size), bytes); 1412 1410 if (rc != EOK) { 1413 block_put(write_block); 1414 goto exit; 1415 } 1416 1411 ext4fs_node_put(fn); 1412 return rc; 1413 } 1414 1415 write_block->dirty = true; 1416 1417 1417 rc = block_put(write_block); 1418 if (rc != EOK) 1419 goto exit; 1420 1418 if (rc != EOK) { 1419 ext4fs_node_put(fn); 1420 return rc; 1421 } 1422 1421 1423 /* Do some counting */ 1422 1424 uint32_t old_inode_size = ext4_inode_get_size(fs->superblock, … … 1426 1428 inode_ref->dirty = true; 1427 1429 } 1428 1430 1429 1431 *nsize = ext4_inode_get_size(fs->superblock, inode_ref->inode); 1430 1432 *wbytes = bytes; 1431 1432 exit: 1433 ; 1434 1435 int const rc2 = ext4fs_node_put(fn); 1436 return rc == EOK ? rc2 : rc; 1433 1434 return ext4fs_node_put(fn); 1437 1435 } 1438 1436 … … 1460 1458 1461 1459 rc = ext4_filesystem_truncate_inode(inode_ref, new_size); 1462 int const rc2 =ext4fs_node_put(fn);1463 1464 return rc == EOK ? rc2 : rc;1460 ext4fs_node_put(fn); 1461 1462 return rc; 1465 1463 } 1466 1464
Note:
See TracChangeset
for help on using the changeset viewer.