Patchwork UBI: fastmap break out of used PEB search

login
register
mail settings
Submitter Brian Pomerantz
Date May 2, 2013, 12:10 a.m.
Message ID <1367453444-12988-1-git-send-email-bapper@gmail.com>
Download mbox | patch
Permalink /patch/240867/
State Accepted
Commit 584d4623357db8f79029db76ec2b4953418018f0
Headers show

Comments

Brian Pomerantz - May 2, 2013, 12:10 a.m.
While searching for PEB matches for each volume in the used PEB list,
the search fails to stop when the PEB is found.  This patch adds
a break in the inner loop to stop the search when it is matched.

Signed-off-by: Brian Pomerantz <bapper@gmail.com>
---
 drivers/mtd/ubi/fastmap.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)
richard -rw- weinberger - May 2, 2013, 7:11 p.m.
On Thu, May 2, 2013 at 2:10 AM, Brian Pomerantz <bapper@gmail.com> wrote:
> While searching for PEB matches for each volume in the used PEB list,
> the search fails to stop when the PEB is found.  This patch adds
> a break in the inner loop to stop the search when it is matched.
>
> Signed-off-by: Brian Pomerantz <bapper@gmail.com>
> ---
>  drivers/mtd/ubi/fastmap.c |    4 +++-
>  1 files changed, 3 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/mtd/ubi/fastmap.c b/drivers/mtd/ubi/fastmap.c
> index 0648c69..1542751 100644
> --- a/drivers/mtd/ubi/fastmap.c
> +++ b/drivers/mtd/ubi/fastmap.c
> @@ -727,8 +727,10 @@ static int ubi_attach_fastmap(struct ubi_device *ubi,
>
>                         aeb = NULL;
>                         list_for_each_entry(tmp_aeb, &used, u.list) {
> -                               if (tmp_aeb->pnum == pnum)
> +                               if (tmp_aeb->pnum == pnum) {
>                                         aeb = tmp_aeb;
> +                                       break;
> +                               }
>                         }
>
>                         /* This can happen if a PEB is already in an EBA known
> --
> 1.7.0.1

Acked-by: Richard Weinberger <richard@nod.at>

--
Thanks,
//richard
Artem Bityutskiy - May 29, 2013, 1:50 p.m.
On Wed, 2013-05-01 at 17:10 -0700, Brian Pomerantz wrote:
> While searching for PEB matches for each volume in the used PEB list,
> the search fails to stop when the PEB is found.  This patch adds
> a break in the inner loop to stop the search when it is matched.
> 
> Signed-off-by: Brian Pomerantz <bapper@gmail.com>

Pushed to linux-ubi.git, thanks!

Patch

diff --git a/drivers/mtd/ubi/fastmap.c b/drivers/mtd/ubi/fastmap.c
index 0648c69..1542751 100644
--- a/drivers/mtd/ubi/fastmap.c
+++ b/drivers/mtd/ubi/fastmap.c
@@ -727,8 +727,10 @@  static int ubi_attach_fastmap(struct ubi_device *ubi,
 
 			aeb = NULL;
 			list_for_each_entry(tmp_aeb, &used, u.list) {
-				if (tmp_aeb->pnum == pnum)
+				if (tmp_aeb->pnum == pnum) {
 					aeb = tmp_aeb;
+					break;
+				}
 			}
 
 			/* This can happen if a PEB is already in an EBA known