Changeset fe1776c2 in mainline for uspace/srv/fs/fat/fat_ops.c


Ignore:
Timestamp:
2011-02-11T12:41:11Z (13 years ago)
Author:
Matus Dekanek <smekideki@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
d81ef61c
Parents:
78d1525 (diff), 5d4193c (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

merge from usb/development

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/fs/fat/fat_ops.c

    r78d1525 rfe1776c2  
    4242#include <libfs.h>
    4343#include <libblock.h>
    44 #include <ipc/ipc.h>
    4544#include <ipc/services.h>
    4645#include <ipc/devmap.h>
     
    955954       
    956955        if (rc != EOK) {
    957                 ipc_answer_0(rid, rc);
     956                async_answer_0(rid, rc);
    958957                return;
    959958        }
     
    970969        rc = block_init(devmap_handle, BS_SIZE);
    971970        if (rc != EOK) {
    972                 ipc_answer_0(rid, rc);
     971                async_answer_0(rid, rc);
    973972                return;
    974973        }
     
    978977        if (rc != EOK) {
    979978                block_fini(devmap_handle);
    980                 ipc_answer_0(rid, rc);
     979                async_answer_0(rid, rc);
    981980                return;
    982981        }
     
    987986        if (BPS(bs) != BS_SIZE) {
    988987                block_fini(devmap_handle);
    989                 ipc_answer_0(rid, ENOTSUP);
     988                async_answer_0(rid, ENOTSUP);
    990989                return;
    991990        }
     
    995994        if (rc != EOK) {
    996995                block_fini(devmap_handle);
    997                 ipc_answer_0(rid, rc);
     996                async_answer_0(rid, rc);
    998997                return;
    999998        }
     
    10041003                (void) block_cache_fini(devmap_handle);
    10051004                block_fini(devmap_handle);
    1006                 ipc_answer_0(rid, rc);
     1005                async_answer_0(rid, rc);
    10071006                return;
    10081007        }
     
    10121011                (void) block_cache_fini(devmap_handle);
    10131012                block_fini(devmap_handle);
    1014                 ipc_answer_0(rid, rc);
     1013                async_answer_0(rid, rc);
    10151014                return;
    10161015        }
     
    10221021                block_fini(devmap_handle);
    10231022                fat_idx_fini_by_devmap_handle(devmap_handle);
    1024                 ipc_answer_0(rid, ENOMEM);
     1023                async_answer_0(rid, ENOMEM);
    10251024                return;
    10261025        }
     
    10321031                block_fini(devmap_handle);
    10331032                fat_idx_fini_by_devmap_handle(devmap_handle);
    1034                 ipc_answer_0(rid, ENOMEM);
     1033                async_answer_0(rid, ENOMEM);
    10351034                return;
    10361035        }
     
    10441043                block_fini(devmap_handle);
    10451044                fat_idx_fini_by_devmap_handle(devmap_handle);
    1046                 ipc_answer_0(rid, ENOMEM);
     1045                async_answer_0(rid, ENOMEM);
    10471046                return;
    10481047        }
     
    10621061        fibril_mutex_unlock(&ridxp->lock);
    10631062
    1064         ipc_answer_3(rid, EOK, ridxp->index, rootp->size, rootp->lnkcnt);
     1063        async_answer_3(rid, EOK, ridxp->index, rootp->size, rootp->lnkcnt);
    10651064}
    10661065
     
    10791078        rc = fat_root_get(&fn, devmap_handle);
    10801079        if (rc != EOK) {
    1081                 ipc_answer_0(rid, rc);
     1080                async_answer_0(rid, rc);
    10821081                return;
    10831082        }
     
    10901089        if (nodep->refcnt != 2) {
    10911090                (void) fat_node_put(fn);
    1092                 ipc_answer_0(rid, EBUSY);
     1091                async_answer_0(rid, EBUSY);
    10931092                return;
    10941093        }
     
    11101109        block_fini(devmap_handle);
    11111110
    1112         ipc_answer_0(rid, EOK);
     1111        async_answer_0(rid, EOK);
    11131112}
    11141113
     
    11381137        rc = fat_node_get(&fn, devmap_handle, index);
    11391138        if (rc != EOK) {
    1140                 ipc_answer_0(rid, rc);
     1139                async_answer_0(rid, rc);
    11411140                return;
    11421141        }
    11431142        if (!fn) {
    1144                 ipc_answer_0(rid, ENOENT);
     1143                async_answer_0(rid, ENOENT);
    11451144                return;
    11461145        }
     
    11511150        if (!async_data_read_receive(&callid, &len)) {
    11521151                fat_node_put(fn);
    1153                 ipc_answer_0(callid, EINVAL);
    1154                 ipc_answer_0(rid, EINVAL);
     1152                async_answer_0(callid, EINVAL);
     1153                async_answer_0(rid, EINVAL);
    11551154                return;
    11561155        }
     
    11751174                        if (rc != EOK) {
    11761175                                fat_node_put(fn);
    1177                                 ipc_answer_0(callid, rc);
    1178                                 ipc_answer_0(rid, rc);
     1176                                async_answer_0(callid, rc);
     1177                                async_answer_0(rid, rc);
    11791178                                return;
    11801179                        }
     
    11841183                        if (rc != EOK) {
    11851184                                fat_node_put(fn);
    1186                                 ipc_answer_0(rid, rc);
     1185                                async_answer_0(rid, rc);
    11871186                                return;
    11881187                        }
     
    12411240miss:
    12421241                rc = fat_node_put(fn);
    1243                 ipc_answer_0(callid, rc != EOK ? rc : ENOENT);
    1244                 ipc_answer_1(rid, rc != EOK ? rc : ENOENT, 0);
     1242                async_answer_0(callid, rc != EOK ? rc : ENOENT);
     1243                async_answer_1(rid, rc != EOK ? rc : ENOENT, 0);
    12451244                return;
    12461245
    12471246err:
    12481247                (void) fat_node_put(fn);
    1249                 ipc_answer_0(callid, rc);
    1250                 ipc_answer_0(rid, rc);
     1248                async_answer_0(callid, rc);
     1249                async_answer_0(rid, rc);
    12511250                return;
    12521251
     
    12571256
    12581257        rc = fat_node_put(fn);
    1259         ipc_answer_1(rid, rc, (sysarg_t)bytes);
     1258        async_answer_1(rid, rc, (sysarg_t)bytes);
    12601259}
    12611260
     
    12771276        rc = fat_node_get(&fn, devmap_handle, index);
    12781277        if (rc != EOK) {
    1279                 ipc_answer_0(rid, rc);
     1278                async_answer_0(rid, rc);
    12801279                return;
    12811280        }
    12821281        if (!fn) {
    1283                 ipc_answer_0(rid, ENOENT);
     1282                async_answer_0(rid, ENOENT);
    12841283                return;
    12851284        }
     
    12901289        if (!async_data_write_receive(&callid, &len)) {
    12911290                (void) fat_node_put(fn);
    1292                 ipc_answer_0(callid, EINVAL);
    1293                 ipc_answer_0(rid, EINVAL);
     1291                async_answer_0(callid, EINVAL);
     1292                async_answer_0(rid, EINVAL);
    12941293                return;
    12951294        }
     
    13191318                if (rc != EOK) {
    13201319                        (void) fat_node_put(fn);
    1321                         ipc_answer_0(callid, rc);
    1322                         ipc_answer_0(rid, rc);
     1320                        async_answer_0(callid, rc);
     1321                        async_answer_0(rid, rc);
    13231322                        return;
    13241323                }
     
    13261325                if (rc != EOK) {
    13271326                        (void) fat_node_put(fn);
    1328                         ipc_answer_0(callid, rc);
    1329                         ipc_answer_0(rid, rc);
     1327                        async_answer_0(callid, rc);
     1328                        async_answer_0(rid, rc);
    13301329                        return;
    13311330                }
     
    13361335                if (rc != EOK) {
    13371336                        (void) fat_node_put(fn);
    1338                         ipc_answer_0(rid, rc);
     1337                        async_answer_0(rid, rc);
    13391338                        return;
    13401339                }
     
    13451344                size = nodep->size;
    13461345                rc = fat_node_put(fn);
    1347                 ipc_answer_2(rid, rc, bytes, nodep->size);
     1346                async_answer_2(rid, rc, bytes, nodep->size);
    13481347                return;
    13491348        } else {
     
    13611360                        /* could not allocate a chain of nclsts clusters */
    13621361                        (void) fat_node_put(fn);
    1363                         ipc_answer_0(callid, rc);
    1364                         ipc_answer_0(rid, rc);
     1362                        async_answer_0(callid, rc);
     1363                        async_answer_0(rid, rc);
    13651364                        return;
    13661365                }
     
    13701369                        (void) fat_free_clusters(bs, devmap_handle, mcl);
    13711370                        (void) fat_node_put(fn);
    1372                         ipc_answer_0(callid, rc);
    1373                         ipc_answer_0(rid, rc);
     1371                        async_answer_0(callid, rc);
     1372                        async_answer_0(rid, rc);
    13741373                        return;
    13751374                }
     
    13791378                        (void) fat_free_clusters(bs, devmap_handle, mcl);
    13801379                        (void) fat_node_put(fn);
    1381                         ipc_answer_0(callid, rc);
    1382                         ipc_answer_0(rid, rc);
     1380                        async_answer_0(callid, rc);
     1381                        async_answer_0(rid, rc);
    13831382                        return;
    13841383                }
     
    13901389                        (void) fat_free_clusters(bs, devmap_handle, mcl);
    13911390                        (void) fat_node_put(fn);
    1392                         ipc_answer_0(rid, rc);
     1391                        async_answer_0(rid, rc);
    13931392                        return;
    13941393                }
     
    14011400                        (void) fat_free_clusters(bs, devmap_handle, mcl);
    14021401                        (void) fat_node_put(fn);
    1403                         ipc_answer_0(rid, rc);
     1402                        async_answer_0(rid, rc);
    14041403                        return;
    14051404                }
     
    14071406                nodep->dirty = true;            /* need to sync node */
    14081407                rc = fat_node_put(fn);
    1409                 ipc_answer_2(rid, rc, bytes, size);
     1408                async_answer_2(rid, rc, bytes, size);
    14101409                return;
    14111410        }
     
    14251424        rc = fat_node_get(&fn, devmap_handle, index);
    14261425        if (rc != EOK) {
    1427                 ipc_answer_0(rid, rc);
     1426                async_answer_0(rid, rc);
    14281427                return;
    14291428        }
    14301429        if (!fn) {
    1431                 ipc_answer_0(rid, ENOENT);
     1430                async_answer_0(rid, ENOENT);
    14321431                return;
    14331432        }
     
    14751474out:
    14761475        fat_node_put(fn);
    1477         ipc_answer_0(rid, rc);
     1476        async_answer_0(rid, rc);
    14781477        return;
    14791478}
     
    14811480void fat_close(ipc_callid_t rid, ipc_call_t *request)
    14821481{
    1483         ipc_answer_0(rid, EOK);
     1482        async_answer_0(rid, EOK);
    14841483}
    14851484
     
    14931492        rc = fat_node_get(&fn, devmap_handle, index);
    14941493        if (rc != EOK) {
    1495                 ipc_answer_0(rid, rc);
     1494                async_answer_0(rid, rc);
    14961495                return;
    14971496        }
    14981497        if (!fn) {
    1499                 ipc_answer_0(rid, ENOENT);
     1498                async_answer_0(rid, ENOENT);
    15001499                return;
    15011500        }
    15021501
    15031502        rc = fat_destroy_node(fn);
    1504         ipc_answer_0(rid, rc);
     1503        async_answer_0(rid, rc);
    15051504}
    15061505
     
    15231522        int rc = fat_node_get(&fn, devmap_handle, index);
    15241523        if (rc != EOK) {
    1525                 ipc_answer_0(rid, rc);
     1524                async_answer_0(rid, rc);
    15261525                return;
    15271526        }
    15281527        if (!fn) {
    1529                 ipc_answer_0(rid, ENOENT);
     1528                async_answer_0(rid, ENOENT);
    15301529                return;
    15311530        }
     
    15371536       
    15381537        fat_node_put(fn);
    1539         ipc_answer_0(rid, rc);
     1538        async_answer_0(rid, rc);
    15401539}
    15411540
Note: See TracChangeset for help on using the changeset viewer.