Re: [PATCH 03/10] Add yaffs2 file system: checkpoint streaming

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux