2015-06-12 16:59:09

by Fabian Frédérick

[permalink] [raw]
Subject: [PATCH 1/1 linux-next] pnfs/flexfiles: use swap() in ff_layout_sort_mirrors()

Use kernel.h macro definition.

Thanks to Julia Lawall for Coccinelle scripting support.

Signed-off-by: Fabian Frederick <[email protected]>
---
fs/nfs/flexfilelayout/flexfilelayout.c | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/fs/nfs/flexfilelayout/flexfilelayout.c b/fs/nfs/flexfilelayout/flexfilelayout.c
index 7d05089..0f1410c 100644
--- a/fs/nfs/flexfilelayout/flexfilelayout.c
+++ b/fs/nfs/flexfilelayout/flexfilelayout.c
@@ -182,17 +182,14 @@ static void _ff_layout_free_lseg(struct nfs4_ff_layout_segment *fls)

static void ff_layout_sort_mirrors(struct nfs4_ff_layout_segment *fls)
{
- struct nfs4_ff_layout_mirror *tmp;
int i, j;

for (i = 0; i < fls->mirror_array_cnt - 1; i++) {
for (j = i + 1; j < fls->mirror_array_cnt; j++)
if (fls->mirror_array[i]->efficiency <
- fls->mirror_array[j]->efficiency) {
- tmp = fls->mirror_array[i];
- fls->mirror_array[i] = fls->mirror_array[j];
- fls->mirror_array[j] = tmp;
- }
+ fls->mirror_array[j]->efficiency)
+ swap(fls->mirror_array[i],
+ fls->mirror_array[j]);
}
}

--
2.4.2


2015-06-12 17:18:03

by Joe Perches

[permalink] [raw]
Subject: Re: [PATCH 1/1 linux-next] pnfs/flexfiles: use swap() in ff_layout_sort_mirrors()

On Fri, 2015-06-12 at 18:58 +0200, Fabian Frederick wrote:
> Use kernel.h macro definition.

A lot of these conversions seem to be for bubble sorts.
Maybe it'd be useful to add a generic one somewhere.

> diff --git a/fs/nfs/flexfilelayout/flexfilelayout.c b/fs/nfs/flexfilelayout/flexfilelayout.c
[]
> @@ -182,17 +182,14 @@ static void _ff_layout_free_lseg(struct nfs4_ff_layout_segment *fls)
>
> static void ff_layout_sort_mirrors(struct nfs4_ff_layout_segment *fls)
> {
> - struct nfs4_ff_layout_mirror *tmp;
> int i, j;
>
> for (i = 0; i < fls->mirror_array_cnt - 1; i++) {
> for (j = i + 1; j < fls->mirror_array_cnt; j++)
> if (fls->mirror_array[i]->efficiency <
> - fls->mirror_array[j]->efficiency) {
> - tmp = fls->mirror_array[i];
> - fls->mirror_array[i] = fls->mirror_array[j];
> - fls->mirror_array[j] = tmp;
> - }
> + fls->mirror_array[j]->efficiency)
> + swap(fls->mirror_array[i],
> + fls->mirror_array[j]);
> }
> }
>


2015-06-14 05:23:22

by Fabian Frédérick

[permalink] [raw]
Subject: Re: [PATCH 1/1 linux-next] pnfs/flexfiles: use swap() in ff_layout_sort_mirrors()



> On 12 June 2015 at 19:17 Joe Perches <[email protected]> wrote:
>
>
> On Fri, 2015-06-12 at 18:58 +0200, Fabian Frederick wrote:
> > Use kernel.h macro definition.
>
> A lot of these conversions seem to be for bubble sorts.
> Maybe it'd be useful to add a generic one somewhere.

Of course but those swap() conversions already do some smooth cleanup.
btw it will be easier to find sort occurences and replace them if necessary.

Regards,
Fabian
>
> > diff --git a/fs/nfs/flexfilelayout/flexfilelayout.c
> > b/fs/nfs/flexfilelayout/flexfilelayout.c
> []
> > @@ -182,17 +182,14 @@ static void _ff_layout_free_lseg(struct
> > nfs4_ff_layout_segment *fls)
> > 
> >  static void ff_layout_sort_mirrors(struct nfs4_ff_layout_segment *fls)
> >  {
> > -   struct nfs4_ff_layout_mirror *tmp;
> >     int i, j;
> > 
> >     for (i = 0; i < fls->mirror_array_cnt - 1; i++) {
> >             for (j = i + 1; j < fls->mirror_array_cnt; j++)
> >                     if (fls->mirror_array[i]->efficiency <
> > -                       fls->mirror_array[j]->efficiency) {
> > -                           tmp = fls->mirror_array[i];
> > -                           fls->mirror_array[i] = fls->mirror_array[j];
> > -                           fls->mirror_array[j] = tmp;
> > -                   }
> > +                       fls->mirror_array[j]->efficiency)
> > +                           swap(fls->mirror_array[i],
> > +                                fls->mirror_array[j]);
> >     }
> >  }
> > 
>
>
>