Changeset cf2af94 in mainline for uspace/srv/fs/pipefs/pipefs_ops.c


Ignore:
Timestamp:
2011-02-09T11:46:47Z (14 years ago)
Author:
Martin Sucha <sucha14@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
cb15135a
Parents:
a49c4002 (diff), 0b37882 (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 mainline changes

Local modifications:

  • change pipefs and ext2 to build again (use async_* calls instead of ipc_*)
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/fs/pipefs/pipefs_ops.c

    ra49c4002 rcf2af94  
    3939#include "pipefs.h"
    4040#include "../../vfs/vfs.h"
    41 #include <ipc/ipc.h>
    4241#include <macros.h>
    4342#include <stdint.h>
     
    457456        rc = async_data_write_accept((void **) &opts, true, 0, 0, 0, NULL);
    458457        if (rc != EOK) {
    459                 ipc_answer_0(rid, rc);
     458                async_answer_0(rid, rc);
    460459                return;
    461460        }
     
    466465                (void) pipefs_node_put(rootfn);
    467466                free(opts);
    468                 ipc_answer_0(rid, EEXIST);
     467                async_answer_0(rid, EEXIST);
    469468                return;
    470469        }
     
    473472        if (!pipefs_instance_init(devmap_handle)) {
    474473                free(opts);
    475                 ipc_answer_0(rid, ENOMEM);
     474                async_answer_0(rid, ENOMEM);
    476475                return;
    477476        }
     
    480479        assert(rc == EOK);
    481480        pipefs_node_t *rootp = PIPEFS_NODE(rootfn);
    482         ipc_answer_3(rid, EOK, rootp->index, rootp->size, rootp->lnkcnt);
     481        async_answer_3(rid, EOK, rootp->index, rootp->size, rootp->lnkcnt);
    483482        free(opts);
    484483}
     
    494493
    495494        pipefs_instance_done(devmap_handle);
    496         ipc_answer_0(rid, EOK);
     495        async_answer_0(rid, EOK);
    497496}
    498497
     
    524523        hlp = hash_table_find(&nodes, key);
    525524        if (!hlp) {
    526                 ipc_answer_0(rid, ENOENT);
     525                async_answer_0(rid, ENOENT);
    527526                return;
    528527        }
     
    536535        size_t size;
    537536        if (!async_data_read_receive(&callid, &size)) {
    538                 ipc_answer_0(callid, EINVAL);
    539                 ipc_answer_0(rid, EINVAL);
     537                async_answer_0(callid, EINVAL);
     538                async_answer_0(rid, EINVAL);
    540539                return;
    541540        }
     
    548547                 */
    549548                if (pos < nodep->start) {
    550                         ipc_answer_0(callid, ENOTSUP);
    551                         ipc_answer_0(rid, ENOTSUP);
     549                        async_answer_0(callid, ENOTSUP);
     550                        async_answer_0(rid, ENOTSUP);
    552551                        return;
    553552                }
     
    606605                         * and remove this else clause
    607606                         */
    608                         ipc_answer_0(callid, ENOTSUP);
    609                         ipc_answer_1(rid, ENOTSUP, 0);
     607                        async_answer_0(callid, ENOTSUP);
     608                        async_answer_1(rid, ENOTSUP, 0);
    610609                        return;
    611610                }
     
    628627
    629628                if (lnk == &nodep->cs_head) {
    630                         ipc_answer_0(callid, ENOENT);
    631                         ipc_answer_1(rid, ENOENT, 0);
     629                        async_answer_0(callid, ENOENT);
     630                        async_answer_1(rid, ENOENT, 0);
    632631                        return;
    633632                }
     
    643642         * Answer the VFS_READ call.
    644643         */
    645         ipc_answer_1(rid, EOK, bytes);
     644        async_answer_1(rid, EOK, bytes);
    646645}
    647646
     
    663662        hlp = hash_table_find(&nodes, key);
    664663        if (!hlp) {
    665                 ipc_answer_0(rid, ENOENT);
     664                async_answer_0(rid, ENOENT);
    666665                return;
    667666        }
     
    675674        size_t size;
    676675        if (!async_data_write_receive(&callid, &size)) {
    677                 ipc_answer_0(callid, EINVAL);   
    678                 ipc_answer_0(rid, EINVAL);
     676                async_answer_0(callid, EINVAL);
     677                async_answer_0(rid, EINVAL);
    679678                return;
    680679        }
     
    684683         */
    685684        if (pos != nodep->size) {
    686                 ipc_answer_0(callid, ENOTSUP);
    687                 ipc_answer_2(rid, EOK, 0, nodep->size);
     685                async_answer_0(callid, ENOTSUP);
     686                async_answer_2(rid, EOK, 0, nodep->size);
    688687                return;
    689688        }
     
    696695        void *newdata = malloc(size);
    697696        if (!newdata) {
    698                 ipc_answer_0(callid, ENOMEM);
    699                 ipc_answer_2(rid, EOK, 0, nodep->size);
     697                async_answer_0(callid, ENOMEM);
     698                async_answer_2(rid, EOK, 0, nodep->size);
    700699                return;
    701700        }
     
    705704        if (!newblock) {
    706705                free(newdata);
    707                 ipc_answer_0(callid, ENOMEM);
    708                 ipc_answer_2(rid, EOK, 0, nodep->size);
     706                async_answer_0(callid, ENOMEM);
     707                async_answer_2(rid, EOK, 0, nodep->size);
    709708                return;
    710709        }
     
    715714                free(newblock);
    716715                free(newdata);
    717                 ipc_answer_0(callid, rc);
    718                 ipc_answer_2(rid, EOK, 0, nodep->size);
     716                async_answer_0(callid, rc);
     717                async_answer_2(rid, EOK, 0, nodep->size);
    719718                return;
    720719        }
     
    727726        nodep->size += size;
    728727       
    729         ipc_answer_2(rid, EOK, size, nodep->size);
     728        async_answer_2(rid, EOK, size, nodep->size);
    730729}
    731730
     
    735734         * PIPEFS does not support resizing of files
    736735         */
    737         ipc_answer_0(rid, ENOTSUP);
     736        async_answer_0(rid, ENOTSUP);
    738737}
    739738
    740739void pipefs_close(ipc_callid_t rid, ipc_call_t *request)
    741740{
    742         ipc_answer_0(rid, EOK);
     741        async_answer_0(rid, EOK);
    743742}
    744743
     
    756755        hlp = hash_table_find(&nodes, key);
    757756        if (!hlp) {
    758                 ipc_answer_0(rid, ENOENT);
     757                async_answer_0(rid, ENOENT);
    759758                return;
    760759        }
     
    762761            nh_link);
    763762        rc = pipefs_destroy_node(FS_NODE(nodep));
    764         ipc_answer_0(rid, rc);
     763        async_answer_0(rid, rc);
    765764}
    766765
     
    781780         * thus the sync operation is a no-op.
    782781         */
    783         ipc_answer_0(rid, EOK);
     782        async_answer_0(rid, EOK);
    784783}
    785784
Note: See TracChangeset for help on using the changeset viewer.