Mercurial > ecos-v3_0-branch
changeset 1816:658319b65ae3
* src/fs-ecos.c (jffs2_open): Call iput on dir node if
jffs2_create fails.
* src/fs-ecos.c (jffs2_umount): use jffs2_free_full_dirent instead
of free.
| author | asl |
|---|---|
| date | Thu, 21 Oct 2004 18:13:44 +0000 |
| parents | 9e7b53448092 |
| children | df5dcf4cdc1a |
| files | packages/fs/jffs2/current/ChangeLog packages/fs/jffs2/current/src/fs-ecos.c |
| diffstat | 2 files changed, 11 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/packages/fs/jffs2/current/ChangeLog +++ b/packages/fs/jffs2/current/ChangeLog @@ -1,3 +1,10 @@ +2004-10-20 Per Hedblom <perhedblom@abem.se> + + * src/fs-ecos.c (jffs2_open): Call iput on dir node if + jffs2_create fails. + * src/fs-ecos.c (jffs2_umount): use jffs2_free_full_dirent instead + of free. + 2004-10-07 Knud Woehler <knud.woehler@microplex.de> * src/fs-ecos.c (find_entry): jffs2_lookup may return error codes.
--- a/packages/fs/jffs2/current/src/fs-ecos.c +++ b/packages/fs/jffs2/current/src/fs-ecos.c @@ -647,7 +647,7 @@ static int jffs2_umount(cyg_mtab_entry * // free directory entries for (fd = root->jffs2_i.dents; fd; fd = next) { next=fd->next; - free(fd); + jffs2_free_full_dirent(fd); } free(root); @@ -714,8 +714,9 @@ static int jffs2_open(cyg_mtab_entry * m err = jffs2_create(ds.dir, ds.name, S_IRUGO|S_IXUGO|S_IWUSR|S_IFREG, &node); if (err != 0) { - //Possible orphaned inode on the flash - but will be gc'd - return err; + //Possible orphaned inode on the flash - but will be gc'd + jffs2_iput(ds.dir); + return err; } err = ENOERR;
