Changes in uspace/lib/fs/libfs.c [2d884ab:fbcdeb8] in mainline


Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/fs/libfs.c

    r2d884ab rfbcdeb8  
    320320        if (rc != EOK) {
    321321                async_exchange_end(exch);
    322                 async_forget(req);
     322                async_wait_for(req, NULL);
    323323                return rc;
    324324        }
     
    339339         */
    340340        rc = async_share_in_start_0_0(exch, PLB_SIZE, (void *) &reg.plb_ro);
    341         if (reg.plb_ro == AS_MAP_FAILED) {
     341        if (reg.plb_ro == (void *) -1) {
    342342                async_exchange_end(exch);
    343                 async_forget(req);
     343                async_wait_for(req, NULL);
    344344                return ENOMEM;
    345345        }
     
    348348       
    349349        if (rc) {
    350                 async_forget(req);
     350                async_wait_for(req, NULL);
    351351                return rc;
    352352        }
     
    404404       
    405405        async_exch_t *exch = async_exchange_begin(mountee_sess);
    406         async_sess_t *sess = async_clone_establish(EXCHANGE_PARALLEL, exch);
     406        async_sess_t *sess = async_connect_me(EXCHANGE_PARALLEL, exch);
    407407       
    408408        if (!sess) {
     
    631631                                                async_answer_0(rid, rc);
    632632                                        } else {
    633                                                 (void) ops->node_put(cur);
    634                                                 cur = fn;
    635                                                 goto out_with_answer;
     633                                                aoff64_t size = ops->size_get(fn);
     634                                                async_answer_5(rid, fs_handle,
     635                                                    service_id,
     636                                                    ops->index_get(fn),
     637                                                    LOWER32(size),
     638                                                    UPPER32(size),
     639                                                    ops->lnkcnt_get(fn));
     640                                                (void) ops->node_put(fn);
    636641                                        }
    637642                                } else
     
    710715                                        async_answer_0(rid, rc);
    711716                                } else {
    712                                         (void) ops->node_put(cur);
    713                                         cur = fn;
    714                                         goto out_with_answer;
     717                                        aoff64_t size = ops->size_get(fn);
     718                                        async_answer_5(rid, fs_handle,
     719                                            service_id,
     720                                            ops->index_get(fn),
     721                                            LOWER32(size),
     722                                            UPPER32(size),
     723                                            ops->lnkcnt_get(fn));
     724                                        (void) ops->node_put(fn);
    715725                                }
    716726                        } else
Note: See TracChangeset for help on using the changeset viewer.