Changeset 0c243b4 in mainline


Ignore:
Timestamp:
2008-11-02T10:32:42Z (15 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
f1ba5d6
Parents:
6284978
Message:

block_read() should return the real error code.

Location:
uspace
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/libblock/libblock.c

    r6284978 r0c243b4  
    177177{
    178178        void *bb_buf;
     179        int rc;
    179180
    180181        devcon_t *devcon = devcon_search(dev_handle);
     
    189190        off_t bufpos = 0;
    190191        size_t buflen = 0;
    191         if (!block_read(dev_handle, &bufpos, &buflen, &off,
    192             bb_buf, size, size)) {
     192        rc = block_read(dev_handle, &bufpos, &buflen, &off,
     193            bb_buf, size, size);
     194        if (rc != EOK) {
    193195                free(bb_buf);
    194                 return EIO;     /* XXX real error code */
     196                return rc;
    195197        }
    196198        devcon->bb_buf = bb_buf;
     
    220222 * @param block_size    Block size to be used for the transfer.
    221223 *
    222  * @return              True on success, false on failure.
     224 * @return              EOK on success or a negative return code on failure.
    223225 */
    224 bool
     226int
    225227block_read(int dev_handle, off_t *bufpos, size_t *buflen, off_t *pos, void *dst,
    226228    size_t size, size_t block_size)
     
    257259                            *pos / block_size, block_size, &retval);
    258260                        if ((rc != EOK) || (retval != EOK))
    259                                 return false;
     261                                return (rc != EOK ? rc : retval);
    260262                       
    261263                        *bufpos = 0;
     
    264266        }
    265267       
    266         return true;
     268        return EOK;
    267269}
    268270
     
    286288        b->size = bs;
    287289
    288         if (!block_read(dev_handle, &bufpos, &buflen, &pos, b->data,
    289             bs, bs)) {
     290        if (block_read(dev_handle, &bufpos, &buflen, &pos, b->data,
     291            bs, bs) != EOK) {
    290292                free(b->data);
    291293                free(b);
  • uspace/lib/libblock/libblock.h

    r6284978 r0c243b4  
    7777extern void block_put(block_t *);
    7878
    79 extern bool block_read(int, off_t *, size_t *, off_t *, void *, size_t, size_t);
     79extern int block_read(int, off_t *, size_t *, off_t *, void *, size_t, size_t);
    8080
    8181#endif
  • uspace/srv/fs/tmpfs/tmpfs_dump.c

    r6284978 r0c243b4  
    6666                uint32_t size;
    6767               
    68                 if (!block_read(dev, bufpos, buflen, pos, &entry, sizeof(entry),
    69                     TMPFS_BLOCK_SIZE))
     68                if (block_read(dev, bufpos, buflen, pos, &entry, sizeof(entry),
     69                    TMPFS_BLOCK_SIZE) != EOK)
    7070                        return false;
    7171               
     
    8686                        }
    8787                       
    88                         if (!block_read(dev, bufpos, buflen, pos, fname,
    89                             entry.len, TMPFS_BLOCK_SIZE)) {
     88                        if (block_read(dev, bufpos, buflen, pos, fname,
     89                            entry.len, TMPFS_BLOCK_SIZE) != EOK) {
    9090                                ops->destroy((void *) node);
    9191                                free(fname);
     
    101101                        free(fname);
    102102                       
    103                         if (!block_read(dev, bufpos, buflen, pos, &size,
    104                             sizeof(size), TMPFS_BLOCK_SIZE))
     103                        if (block_read(dev, bufpos, buflen, pos, &size,
     104                            sizeof(size), TMPFS_BLOCK_SIZE) != EOK)
    105105                                return false;
    106106                       
     
    112112                       
    113113                        node->size = size;
    114                         if (!block_read(dev, bufpos, buflen, pos, node->data,
    115                             size, TMPFS_BLOCK_SIZE))
     114                        if (block_read(dev, bufpos, buflen, pos, node->data,
     115                            size, TMPFS_BLOCK_SIZE) != EOK)
    116116                                return false;
    117117                       
     
    128128                        }
    129129                       
    130                         if (!block_read(dev, bufpos, buflen, pos,
    131                             fname, entry.len, TMPFS_BLOCK_SIZE)) {
     130                        if (block_read(dev, bufpos, buflen, pos, fname,
     131                            entry.len, TMPFS_BLOCK_SIZE) != EOK) {
    132132                                ops->destroy((void *) node);
    133133                                free(fname);
     
    170170       
    171171        char tag[6];
    172         if (!block_read(dev, &bufpos, &buflen, &pos, tag, 5,
    173             TMPFS_BLOCK_SIZE))
     172        if (block_read(dev, &bufpos, &buflen, &pos, tag, 5,
     173            TMPFS_BLOCK_SIZE) != EOK)
    174174                goto error;
    175175       
Note: See TracChangeset for help on using the changeset viewer.