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: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 10 Feb 2011 23:27:51 +0100 (CET)
From:	Jesper Juhl <jj@...osbits.net>
To:	Charles Manning <cdhmanning@...il.com>
cc:	linux-kernel@...r.kernel.org, linux-fsdevel@...r.kernel.org,
	ryan@...ewatersys.com, akpm@...ux-foundation.org
Subject: Re: [PATCH 03/10] Add yaffs2 file system: checkpoint streaming

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++) {


> +static void yaffs2_checkpt_find_erased_block(struct yaffs_dev *dev)
> +{
> +	int i;
> +	int blocks_avail = dev->n_erased_blocks - dev->param.n_reserved_blocks;
> +
> +	yaffs_trace(YAFFS_TRACE_CHECKPOINT,
> +		"allocating checkpt block: erased %d reserved %d avail %d next %d ",
> +		dev->n_erased_blocks, dev->param.n_reserved_blocks,
> +		blocks_avail, dev->checkpt_next_block);
> +
> +	if (dev->checkpt_next_block >= 0 &&
> +	    dev->checkpt_next_block <= dev->internal_end_block &&
> +	    blocks_avail > 0) {
> +
> +		for (i = dev->checkpt_next_block; i <= dev->internal_end_block;

'for scope' ?

> +static void yaffs2_checkpt_find_block(struct yaffs_dev *dev)
> +{
> +	int i;
> +	struct yaffs_ext_tags tags;
> +
> +	yaffs_trace(YAFFS_TRACE_CHECKPOINT,
> +		"find next checkpt block: start:  blocks %d next %d",
> +		dev->blocks_in_checkpt, dev->checkpt_next_block);
> +
> +	if (dev->blocks_in_checkpt < dev->checkpt_max_blocks)
> +		for (i = dev->checkpt_next_block; i <= dev->internal_end_block;

and here and elsewhere (can't be bothered to point out every one)...

-- 
Jesper Juhl <jj@...osbits.net>            http://www.chaosbits.net/
Plain text mails only, please.
Don't top-post http://www.catb.org/~esr/jargon/html/T/top-post.html

--
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