Changeset 63bcbbc in mainline for uspace/srv/fs/exfat/exfat_ops.c


Ignore:
Timestamp:
2011-12-12T20:23:53Z (12 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
1df224c
Parents:
bf84871 (diff), 80ec9b8 (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 lp:exfat-helenos.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/fs/exfat/exfat_ops.c

    rbf84871 r63bcbbc  
    657657                        return rc;
    658658                }
     659
     660                rc = exfat_zero_cluster(bs, service_id, nodep->firstc);
     661                if (rc != EOK) {
     662                        (void) exfat_node_put(FS_NODE(nodep));
     663                        return rc;
     664                }
     665
    659666                nodep->size = BPC(bs);
    660667        } else {
     
    739746         */
    740747        rc = exfat_directory_write_file(&di, name);
    741         if (rc != EOK)
    742                 return rc;
     748        if (rc != EOK) {
     749                (void) exfat_directory_close(&di);
     750                fibril_mutex_unlock(&parentp->idx->lock);
     751                return rc;
     752        }
    743753        rc = exfat_directory_close(&di);
    744         if (rc != EOK)
    745                 return rc;
     754        if (rc != EOK) {
     755                fibril_mutex_unlock(&parentp->idx->lock);
     756                return rc;
     757        }
    746758
    747759        fibril_mutex_unlock(&parentp->idx->lock);
     
    12581270                exfat_directory_t di;
    12591271                rc = exfat_directory_open(nodep, &di);
    1260                 if (rc != EOK) goto err;
     1272                if (rc != EOK)
     1273                        goto err;
     1274
    12611275                rc = exfat_directory_seek(&di, pos);
    12621276                if (rc != EOK) {
     
    12681282                    &df, &ds);
    12691283                if (rc == EOK)
    1270                     goto hit;
    1271                 if (rc == ENOENT)
    1272                     goto miss;
     1284                        goto hit;
     1285                else if (rc == ENOENT)
     1286                        goto miss;
     1287
     1288                (void) exfat_directory_close(&di);
    12731289
    12741290err:
     
    12791295miss:
    12801296                rc = exfat_directory_close(&di);
    1281                 if (rc!=EOK)
     1297                if (rc != EOK)
    12821298                        goto err;
    12831299                rc = exfat_node_put(fn);
     
    13971413
    13981414        (void) async_data_write_finalize(callid,
    1399                 b->data + pos % BPS(bs), bytes);
     1415            b->data + pos % BPS(bs), bytes);
    14001416        b->dirty = true;                /* need to sync block */
    14011417        rc = block_put(b);
Note: See TracChangeset for help on using the changeset viewer.