Blame view
fs/yaffs2/yaffs_packedtags1.c
1.46 KB
0e8cc8bd9 YAFFS2 import |
1 2 3 |
/* * YAFFS: Yet Another Flash File System. A NAND-flash specific file system. * |
753ac6108 u-boot: Update ya... |
4 |
* Copyright (C) 2002-2011 Aleph One Ltd. |
0e8cc8bd9 YAFFS2 import |
5 6 7 8 9 10 11 12 13 14 15 |
* for Toby Churchill Ltd and Brightstar Engineering * * Created by Charles Manning <charles@aleph1.co.uk> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ #include "yaffs_packedtags1.h" #include "yportenv.h" |
753ac6108 u-boot: Update ya... |
16 17 18 19 20 21 22 23 24 25 |
static const u8 all_ff[20] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }; void yaffs_pack_tags1(struct yaffs_packed_tags1 *pt, const struct yaffs_ext_tags *t) |
0e8cc8bd9 YAFFS2 import |
26 |
{ |
753ac6108 u-boot: Update ya... |
27 28 29 30 |
pt->chunk_id = t->chunk_id; pt->serial_number = t->serial_number; pt->n_bytes = t->n_bytes; pt->obj_id = t->obj_id; |
0e8cc8bd9 YAFFS2 import |
31 |
pt->ecc = 0; |
753ac6108 u-boot: Update ya... |
32 33 34 |
pt->deleted = (t->is_deleted) ? 0 : 1; pt->unused_stuff = 0; pt->should_be_ff = 0xffffffff; |
0e8cc8bd9 YAFFS2 import |
35 |
} |
753ac6108 u-boot: Update ya... |
36 37 |
void yaffs_unpack_tags1(struct yaffs_ext_tags *t, const struct yaffs_packed_tags1 *pt) |
0e8cc8bd9 YAFFS2 import |
38 |
{ |
0e8cc8bd9 YAFFS2 import |
39 |
|
753ac6108 u-boot: Update ya... |
40 41 42 43 44 45 46 47 48 49 50 |
if (memcmp(all_ff, pt, sizeof(struct yaffs_packed_tags1))) { t->block_bad = 0; if (pt->should_be_ff != 0xffffffff) t->block_bad = 1; t->chunk_used = 1; t->obj_id = pt->obj_id; t->chunk_id = pt->chunk_id; t->n_bytes = pt->n_bytes; t->ecc_result = YAFFS_ECC_RESULT_NO_ERROR; t->is_deleted = (pt->deleted) ? 0 : 1; t->serial_number = pt->serial_number; |
0e8cc8bd9 YAFFS2 import |
51 |
} else { |
753ac6108 u-boot: Update ya... |
52 |
memset(t, 0, sizeof(struct yaffs_ext_tags)); |
0e8cc8bd9 YAFFS2 import |
53 54 |
} } |