diff --git a/fs/ubifs/tnc.c b/fs/ubifs/tnc.c index 2df56bbc6865..7e34e8e2c0a7 100644 --- a/fs/ubifs/tnc.c +++ b/fs/ubifs/tnc.c @@ -265,7 +265,10 @@ static struct ubifs_znode *dirty_cow_znode(struct ubifs_info *c, return zn; if (zbr->len) { - err = insert_old_idx(c, zbr->lnum, zbr->offs); + if (znode->level == 0) + err = -ENOMEM; + else + err = insert_old_idx(c, zbr->lnum, zbr->offs); if (unlikely(err)) return ERR_PTR(err); err = add_idx_dirt(c, zbr->lnum, zbr->len);