lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <201102111150.31375.manningc2@actrix.gen.nz>
Date:	Fri, 11 Feb 2011 11:50:31 +1300
From:	Charles Manning <manningc2@...rix.gen.nz>
To:	Jesper Juhl <jj@...osbits.net>
Cc:	Ryan Mallon <ryan@...ewatersys.com>,
	Charles Manning <cdhmanning@...il.com>,
	linux-kernel@...r.kernel.org, linux-fsdevel@...r.kernel.org,
	akpm@...ux-foundation.org
Subject: Re: [PATCH 03/10] Add yaffs2 file system: checkpoint streaming

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@...il.com>
> >> ---
> >>  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@...ph1.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_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@...wi: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-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ