On Friday 11 February 2011 11:44:43 Ryan Mallon wrote: > On 02/11/2011 11:27 AM, Jesper Juhl wrote: > > On Wed, 9 Feb 2011, Charles Manning wrote: > >> Signed-off-by: Charles Manning <cdhmanning@xxxxxxxxx> > >> --- > >> fs/yaffs2/yaffs_checkptrw.c | 408 > >> +++++++++++++++++++++++++++++++++++++++++++ fs/yaffs2/yaffs_checkptrw.h > >> | 33 ++++ > >> 2 files changed, 441 insertions(+), 0 deletions(-) > >> create mode 100644 fs/yaffs2/yaffs_checkptrw.c > >> create mode 100644 fs/yaffs2/yaffs_checkptrw.h > >> > >> diff --git a/fs/yaffs2/yaffs_checkptrw.c b/fs/yaffs2/yaffs_checkptrw.c > >> new file mode 100644 > >> index 0000000..997a618 > >> --- /dev/null > >> +++ b/fs/yaffs2/yaffs_checkptrw.c > >> @@ -0,0 +1,408 @@ > >> +/* > >> + * YAFFS: Yet Another Flash File System. A NAND-flash specific file > >> system. + * > >> + * Copyright (C) 2002-2011 Aleph One Ltd. > >> + * for Toby Churchill Ltd and Brightstar Engineering > >> + * > >> + * Created by Charles Manning <charles@xxxxxxxxxxxx> > >> + * > >> + * 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_checkptrw.h" > >> +#include "yaffs_getblockinfo.h" > >> + > >> +static int yaffs2_checkpt_space_ok(struct yaffs_dev *dev) > >> +{ > >> + int blocks_avail = dev->n_erased_blocks - > >> dev->param.n_reserved_blocks; + > >> + yaffs_trace(YAFFS_TRACE_CHECKPOINT, > >> + "checkpt blocks_avail = %d", blocks_avail); > >> + > >> + return (blocks_avail <= 0) ? 0 : 1; > >> +} > >> + > >> +static int yaffs_checkpt_erase(struct yaffs_dev *dev) > >> +{ > >> + int i; > >> + > >> + if (!dev->param.erase_fn) > >> + return 0; > >> + yaffs_trace(YAFFS_TRACE_CHECKPOINT, > >> + "checking blocks %d to %d", > >> + dev->internal_start_block, dev->internal_end_block); > >> + > >> + for (i = dev->internal_start_block; i <= dev->internal_end_block; i++) > >> { > > > > Why does 'i' need 'function scope'? can't it just have 'for scope'? > > > > for (int i = dev->internal_start_block; i <= > > dev->internal_end_block; i++) { > > Because we don't do that in kernel code. > > ryan@okiwi:linux-2.6$ grep "for (int" * -R | wc -l > 16 > > Those sixteen should be fixed :-). Half of them are in drivers/staging. It is also not very portable. For us older codgers it is also very ugly. -- Charles -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html