Exemple #1
0
int yaffs_wr_chunk_tags_nand(struct yaffs_dev *dev,
				int nand_chunk,
				const u8 *buffer, struct yaffs_ext_tags *tags)
{
	int result;
	int flash_chunk = nand_chunk - dev->chunk_offset;

	dev->n_page_writes++;

	if (tags) {
		tags->seq_number = dev->seq_number;
		tags->chunk_used = 1;
		yaffs_trace(YAFFS_TRACE_WRITE,
			"Writing chunk %d tags %d %d",
			nand_chunk, tags->obj_id, tags->chunk_id);
	} else {
		yaffs_trace(YAFFS_TRACE_ERROR, "Writing with no tags");
		BUG();
		return YAFFS_FAIL;
	}

	if (dev->param.write_chunk_tags_fn)
		result = dev->param.write_chunk_tags_fn(dev, flash_chunk,
							buffer, tags);
	else
		result = yaffs_tags_compat_wr(dev, flash_chunk, buffer, tags);

	yaffs_summary_add(dev, tags, nand_chunk);

	return result;
}
Exemple #2
0
int yaffs_wr_chunk_tags_nand(struct yaffs_dev* dev, int nand_chunk, const u8* buffer, struct yaffs_ext_tags* tags)
{
    int result;
    int flash_chunk = apply_chunk_offset(dev, nand_chunk);

    dev->n_page_writes++;

    if (!tags)
    {
        yaffs_trace(YAFFS_TRACE_ERROR, "Writing with no tags");
        BUG();
        return YAFFS_FAIL;
    }

    tags->seq_number = dev->seq_number;
    tags->chunk_used = 1;
    yaffs_tracef(YAFFS_TRACE_WRITE, "Writing chunk %d tags %d %d", nand_chunk, tags->obj_id, tags->chunk_id);

    result = dev->tagger.write_chunk_tags_fn(dev, flash_chunk, buffer, tags);

    yaffs_summary_add(dev, tags, nand_chunk);

    return result;
}