* [PATCH 9/13] fs/xfs: Remove redundant test
@ 2008-12-21 15:40 ` Julia Lawall
0 siblings, 0 replies; 18+ messages in thread
From: Julia Lawall @ 2008-12-21 15:40 UTC (permalink / raw)
To: xfs-masters, xfs, linux-kernel, kernel-janitors
From: Julia Lawall <julia@diku.dk>
In fs/cifs/cifssmb.c, pLockData is tested for being NULL at the beginning
of the function, and not reassigned subsequently.
In fs/xfs/xfs_trans_buf.c, bp is tested for being NULL just a few lines
above.
A simplified version of the semantic patch that makes this change is as
follows: (http://www.emn.fr/x-info/coccinelle/)
// <smpl>
@r exists@
local idexpression x;
expression E;
position p1,p2;
@@
if (x@p1 = NULL || ...) { ... when forall
return ...; }
... when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\)
(
x@p2 = NULL
|
x@p2 != NULL
)
// another path to the test that is not through p1?
@s exists@
local idexpression r.x;
position r.p1,r.p2;
@@
... when != x@p1
(
x@p2 = NULL
|
x@p2 != NULL
)
@fix depends on !s@
position r.p1,r.p2;
expression x,E;
statement S1,S2;
@@
(
- if ((x@p2 != NULL) || ...)
S1
|
- if ((x@p2 = NULL) && ...) S1
|
- BUG_ON(x@p2 = NULL);
)
// </smpl>
Signed-off-by: Julia Lawall <julia@diku.dk>
---
fs/xfs/xfs_trans_buf.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/fs/xfs/xfs_trans_buf.c b/fs/xfs/xfs_trans_buf.c
index 8ee2f8c..22afe29 100644
--- a/fs/xfs/xfs_trans_buf.c
+++ b/fs/xfs/xfs_trans_buf.c
@@ -307,7 +307,7 @@ xfs_trans_read_buf(
return (flags & XFS_BUF_TRYLOCK) ?
EAGAIN : XFS_ERROR(ENOMEM);
- if ((bp != NULL) && (XFS_BUF_GETERROR(bp) != 0)) {
+ if (XFS_BUF_GETERROR(bp) != 0) {
xfs_ioerror_alert("xfs_trans_read_buf", mp,
bp, blkno);
error = XFS_BUF_GETERROR(bp);
^ permalink raw reply related [flat|nested] 18+ messages in thread* [PATCH 9/13] fs/xfs: Remove redundant test @ 2008-12-21 15:40 ` Julia Lawall 0 siblings, 0 replies; 18+ messages in thread From: Julia Lawall @ 2008-12-21 15:40 UTC (permalink / raw) To: xfs-masters, xfs, linux-kernel, kernel-janitors From: Julia Lawall <julia@diku.dk> In fs/cifs/cifssmb.c, pLockData is tested for being NULL at the beginning of the function, and not reassigned subsequently. In fs/xfs/xfs_trans_buf.c, bp is tested for being NULL just a few lines above. A simplified version of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @r exists@ local idexpression x; expression E; position p1,p2; @@ if (x@p1 == NULL || ...) { ... when forall return ...; } ... when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\) ( x@p2 == NULL | x@p2 != NULL ) // another path to the test that is not through p1? @s exists@ local idexpression r.x; position r.p1,r.p2; @@ ... when != x@p1 ( x@p2 == NULL | x@p2 != NULL ) @fix depends on !s@ position r.p1,r.p2; expression x,E; statement S1,S2; @@ ( - if ((x@p2 != NULL) || ...) S1 | - if ((x@p2 == NULL) && ...) S1 | - BUG_ON(x@p2 == NULL); ) // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> --- fs/xfs/xfs_trans_buf.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/fs/xfs/xfs_trans_buf.c b/fs/xfs/xfs_trans_buf.c index 8ee2f8c..22afe29 100644 --- a/fs/xfs/xfs_trans_buf.c +++ b/fs/xfs/xfs_trans_buf.c @@ -307,7 +307,7 @@ xfs_trans_read_buf( return (flags & XFS_BUF_TRYLOCK) ? EAGAIN : XFS_ERROR(ENOMEM); - if ((bp != NULL) && (XFS_BUF_GETERROR(bp) != 0)) { + if (XFS_BUF_GETERROR(bp) != 0) { xfs_ioerror_alert("xfs_trans_read_buf", mp, bp, blkno); error = XFS_BUF_GETERROR(bp); ^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH 9/13] fs/xfs: Remove redundant test @ 2008-12-21 15:40 ` Julia Lawall 0 siblings, 0 replies; 18+ messages in thread From: Julia Lawall @ 2008-12-21 15:40 UTC (permalink / raw) To: xfs-masters, xfs, linux-kernel, kernel-janitors From: Julia Lawall <julia@diku.dk> In fs/cifs/cifssmb.c, pLockData is tested for being NULL at the beginning of the function, and not reassigned subsequently. In fs/xfs/xfs_trans_buf.c, bp is tested for being NULL just a few lines above. A simplified version of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @r exists@ local idexpression x; expression E; position p1,p2; @@ if (x@p1 == NULL || ...) { ... when forall return ...; } ... when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\) ( x@p2 == NULL | x@p2 != NULL ) // another path to the test that is not through p1? @s exists@ local idexpression r.x; position r.p1,r.p2; @@ ... when != x@p1 ( x@p2 == NULL | x@p2 != NULL ) @fix depends on !s@ position r.p1,r.p2; expression x,E; statement S1,S2; @@ ( - if ((x@p2 != NULL) || ...) S1 | - if ((x@p2 == NULL) && ...) S1 | - BUG_ON(x@p2 == NULL); ) // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> --- fs/xfs/xfs_trans_buf.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/fs/xfs/xfs_trans_buf.c b/fs/xfs/xfs_trans_buf.c index 8ee2f8c..22afe29 100644 --- a/fs/xfs/xfs_trans_buf.c +++ b/fs/xfs/xfs_trans_buf.c @@ -307,7 +307,7 @@ xfs_trans_read_buf( return (flags & XFS_BUF_TRYLOCK) ? EAGAIN : XFS_ERROR(ENOMEM); - if ((bp != NULL) && (XFS_BUF_GETERROR(bp) != 0)) { + if (XFS_BUF_GETERROR(bp) != 0) { xfs_ioerror_alert("xfs_trans_read_buf", mp, bp, blkno); error = XFS_BUF_GETERROR(bp); _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs ^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PATCH 9/13] fs/xfs: Remove redundant test 2008-12-21 15:40 ` Julia Lawall (?) @ 2008-12-21 16:01 ` Eric Sandeen -1 siblings, 0 replies; 18+ messages in thread From: Eric Sandeen @ 2008-12-21 16:01 UTC (permalink / raw) To: Julia Lawall; +Cc: xfs-masters, kernel-janitors, linux-kernel, xfs Julia Lawall wrote: > From: Julia Lawall <julia@diku.dk> > > In fs/cifs/cifssmb.c, pLockData is tested for being NULL at the beginning > of the function, and not reassigned subsequently. > > In fs/xfs/xfs_trans_buf.c, bp is tested for being NULL just a few lines > above. > > A simplified version of the semantic patch that makes this change is as > follows: (http://www.emn.fr/x-info/coccinelle/) > > // <smpl> > @r exists@ > local idexpression x; > expression E; > position p1,p2; > @@ > > if (x@p1 = NULL || ...) { ... when forall > return ...; } > ... when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\) > ( > x@p2 = NULL > | > x@p2 != NULL > ) > > // another path to the test that is not through p1? > @s exists@ > local idexpression r.x; > position r.p1,r.p2; > @@ > > ... when != x@p1 > ( > x@p2 = NULL > | > x@p2 != NULL > ) > > @fix depends on !s@ > position r.p1,r.p2; > expression x,E; > statement S1,S2; > @@ > > ( > - if ((x@p2 != NULL) || ...) > S1 > | > - if ((x@p2 = NULL) && ...) S1 > | > - BUG_ON(x@p2 = NULL); > ) > // </smpl> > > Signed-off-by: Julia Lawall <julia@diku.dk> Looks fine to me, though a similar test under the #ifdef DEBUG can probably also be removed. -Eric > --- > fs/xfs/xfs_trans_buf.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/fs/xfs/xfs_trans_buf.c b/fs/xfs/xfs_trans_buf.c > index 8ee2f8c..22afe29 100644 > --- a/fs/xfs/xfs_trans_buf.c > +++ b/fs/xfs/xfs_trans_buf.c > @@ -307,7 +307,7 @@ xfs_trans_read_buf( > return (flags & XFS_BUF_TRYLOCK) ? > EAGAIN : XFS_ERROR(ENOMEM); > > - if ((bp != NULL) && (XFS_BUF_GETERROR(bp) != 0)) { > + if (XFS_BUF_GETERROR(bp) != 0) { > xfs_ioerror_alert("xfs_trans_read_buf", mp, > bp, blkno); > error = XFS_BUF_GETERROR(bp); > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs > ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 9/13] fs/xfs: Remove redundant test @ 2008-12-21 16:01 ` Eric Sandeen 0 siblings, 0 replies; 18+ messages in thread From: Eric Sandeen @ 2008-12-21 16:01 UTC (permalink / raw) To: Julia Lawall; +Cc: xfs-masters, xfs, linux-kernel, kernel-janitors Julia Lawall wrote: > From: Julia Lawall <julia@diku.dk> > > In fs/cifs/cifssmb.c, pLockData is tested for being NULL at the beginning > of the function, and not reassigned subsequently. > > In fs/xfs/xfs_trans_buf.c, bp is tested for being NULL just a few lines > above. > > A simplified version of the semantic patch that makes this change is as > follows: (http://www.emn.fr/x-info/coccinelle/) > > // <smpl> > @r exists@ > local idexpression x; > expression E; > position p1,p2; > @@ > > if (x@p1 == NULL || ...) { ... when forall > return ...; } > ... when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\) > ( > x@p2 == NULL > | > x@p2 != NULL > ) > > // another path to the test that is not through p1? > @s exists@ > local idexpression r.x; > position r.p1,r.p2; > @@ > > ... when != x@p1 > ( > x@p2 == NULL > | > x@p2 != NULL > ) > > @fix depends on !s@ > position r.p1,r.p2; > expression x,E; > statement S1,S2; > @@ > > ( > - if ((x@p2 != NULL) || ...) > S1 > | > - if ((x@p2 == NULL) && ...) S1 > | > - BUG_ON(x@p2 == NULL); > ) > // </smpl> > > Signed-off-by: Julia Lawall <julia@diku.dk> Looks fine to me, though a similar test under the #ifdef DEBUG can probably also be removed. -Eric > --- > fs/xfs/xfs_trans_buf.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/fs/xfs/xfs_trans_buf.c b/fs/xfs/xfs_trans_buf.c > index 8ee2f8c..22afe29 100644 > --- a/fs/xfs/xfs_trans_buf.c > +++ b/fs/xfs/xfs_trans_buf.c > @@ -307,7 +307,7 @@ xfs_trans_read_buf( > return (flags & XFS_BUF_TRYLOCK) ? > EAGAIN : XFS_ERROR(ENOMEM); > > - if ((bp != NULL) && (XFS_BUF_GETERROR(bp) != 0)) { > + if (XFS_BUF_GETERROR(bp) != 0) { > xfs_ioerror_alert("xfs_trans_read_buf", mp, > bp, blkno); > error = XFS_BUF_GETERROR(bp); > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs > ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 9/13] fs/xfs: Remove redundant test @ 2008-12-21 16:01 ` Eric Sandeen 0 siblings, 0 replies; 18+ messages in thread From: Eric Sandeen @ 2008-12-21 16:01 UTC (permalink / raw) To: Julia Lawall; +Cc: xfs-masters, kernel-janitors, linux-kernel, xfs Julia Lawall wrote: > From: Julia Lawall <julia@diku.dk> > > In fs/cifs/cifssmb.c, pLockData is tested for being NULL at the beginning > of the function, and not reassigned subsequently. > > In fs/xfs/xfs_trans_buf.c, bp is tested for being NULL just a few lines > above. > > A simplified version of the semantic patch that makes this change is as > follows: (http://www.emn.fr/x-info/coccinelle/) > > // <smpl> > @r exists@ > local idexpression x; > expression E; > position p1,p2; > @@ > > if (x@p1 == NULL || ...) { ... when forall > return ...; } > ... when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\) > ( > x@p2 == NULL > | > x@p2 != NULL > ) > > // another path to the test that is not through p1? > @s exists@ > local idexpression r.x; > position r.p1,r.p2; > @@ > > ... when != x@p1 > ( > x@p2 == NULL > | > x@p2 != NULL > ) > > @fix depends on !s@ > position r.p1,r.p2; > expression x,E; > statement S1,S2; > @@ > > ( > - if ((x@p2 != NULL) || ...) > S1 > | > - if ((x@p2 == NULL) && ...) S1 > | > - BUG_ON(x@p2 == NULL); > ) > // </smpl> > > Signed-off-by: Julia Lawall <julia@diku.dk> Looks fine to me, though a similar test under the #ifdef DEBUG can probably also be removed. -Eric > --- > fs/xfs/xfs_trans_buf.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/fs/xfs/xfs_trans_buf.c b/fs/xfs/xfs_trans_buf.c > index 8ee2f8c..22afe29 100644 > --- a/fs/xfs/xfs_trans_buf.c > +++ b/fs/xfs/xfs_trans_buf.c > @@ -307,7 +307,7 @@ xfs_trans_read_buf( > return (flags & XFS_BUF_TRYLOCK) ? > EAGAIN : XFS_ERROR(ENOMEM); > > - if ((bp != NULL) && (XFS_BUF_GETERROR(bp) != 0)) { > + if (XFS_BUF_GETERROR(bp) != 0) { > xfs_ioerror_alert("xfs_trans_read_buf", mp, > bp, blkno); > error = XFS_BUF_GETERROR(bp); > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs > _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 9/13] fs/xfs: Remove redundant test 2008-12-21 16:01 ` Eric Sandeen (?) @ 2008-12-21 16:36 ` Julia Lawall -1 siblings, 0 replies; 18+ messages in thread From: Julia Lawall @ 2008-12-21 16:36 UTC (permalink / raw) To: Eric Sandeen; +Cc: xfs-masters, kernel-janitors, linux-kernel, xfs > Looks fine to me, though a similar test under the #ifdef DEBUG can > probably also be removed. Indeed. I will send an updated patch. julia > -Eric > > > --- > > fs/xfs/xfs_trans_buf.c | 2 +- > > 1 files changed, 1 insertions(+), 1 deletions(-) > > > > diff --git a/fs/xfs/xfs_trans_buf.c b/fs/xfs/xfs_trans_buf.c > > index 8ee2f8c..22afe29 100644 > > --- a/fs/xfs/xfs_trans_buf.c > > +++ b/fs/xfs/xfs_trans_buf.c > > @@ -307,7 +307,7 @@ xfs_trans_read_buf( > > return (flags & XFS_BUF_TRYLOCK) ? > > EAGAIN : XFS_ERROR(ENOMEM); > > > > - if ((bp != NULL) && (XFS_BUF_GETERROR(bp) != 0)) { > > + if (XFS_BUF_GETERROR(bp) != 0) { > > xfs_ioerror_alert("xfs_trans_read_buf", mp, > > bp, blkno); > > error = XFS_BUF_GETERROR(bp); > > > > _______________________________________________ > > xfs mailing list > > xfs@oss.sgi.com > > http://oss.sgi.com/mailman/listinfo/xfs > > > > -- > To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 9/13] fs/xfs: Remove redundant test @ 2008-12-21 16:36 ` Julia Lawall 0 siblings, 0 replies; 18+ messages in thread From: Julia Lawall @ 2008-12-21 16:36 UTC (permalink / raw) To: Eric Sandeen; +Cc: xfs-masters, xfs, linux-kernel, kernel-janitors > Looks fine to me, though a similar test under the #ifdef DEBUG can > probably also be removed. Indeed. I will send an updated patch. julia > -Eric > > > --- > > fs/xfs/xfs_trans_buf.c | 2 +- > > 1 files changed, 1 insertions(+), 1 deletions(-) > > > > diff --git a/fs/xfs/xfs_trans_buf.c b/fs/xfs/xfs_trans_buf.c > > index 8ee2f8c..22afe29 100644 > > --- a/fs/xfs/xfs_trans_buf.c > > +++ b/fs/xfs/xfs_trans_buf.c > > @@ -307,7 +307,7 @@ xfs_trans_read_buf( > > return (flags & XFS_BUF_TRYLOCK) ? > > EAGAIN : XFS_ERROR(ENOMEM); > > > > - if ((bp != NULL) && (XFS_BUF_GETERROR(bp) != 0)) { > > + if (XFS_BUF_GETERROR(bp) != 0) { > > xfs_ioerror_alert("xfs_trans_read_buf", mp, > > bp, blkno); > > error = XFS_BUF_GETERROR(bp); > > > > _______________________________________________ > > xfs mailing list > > xfs@oss.sgi.com > > http://oss.sgi.com/mailman/listinfo/xfs > > > > -- > To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 9/13] fs/xfs: Remove redundant test @ 2008-12-21 16:36 ` Julia Lawall 0 siblings, 0 replies; 18+ messages in thread From: Julia Lawall @ 2008-12-21 16:36 UTC (permalink / raw) To: Eric Sandeen; +Cc: xfs-masters, kernel-janitors, linux-kernel, xfs > Looks fine to me, though a similar test under the #ifdef DEBUG can > probably also be removed. Indeed. I will send an updated patch. julia > -Eric > > > --- > > fs/xfs/xfs_trans_buf.c | 2 +- > > 1 files changed, 1 insertions(+), 1 deletions(-) > > > > diff --git a/fs/xfs/xfs_trans_buf.c b/fs/xfs/xfs_trans_buf.c > > index 8ee2f8c..22afe29 100644 > > --- a/fs/xfs/xfs_trans_buf.c > > +++ b/fs/xfs/xfs_trans_buf.c > > @@ -307,7 +307,7 @@ xfs_trans_read_buf( > > return (flags & XFS_BUF_TRYLOCK) ? > > EAGAIN : XFS_ERROR(ENOMEM); > > > > - if ((bp != NULL) && (XFS_BUF_GETERROR(bp) != 0)) { > > + if (XFS_BUF_GETERROR(bp) != 0) { > > xfs_ioerror_alert("xfs_trans_read_buf", mp, > > bp, blkno); > > error = XFS_BUF_GETERROR(bp); > > > > _______________________________________________ > > xfs mailing list > > xfs@oss.sgi.com > > http://oss.sgi.com/mailman/listinfo/xfs > > > > -- > To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 9/13] fs/xfs: Remove redundant test 2008-12-21 16:01 ` Eric Sandeen (?) @ 2008-12-21 16:38 ` Julia Lawall -1 siblings, 0 replies; 18+ messages in thread From: Julia Lawall @ 2008-12-21 16:38 UTC (permalink / raw) To: Eric Sandeen; +Cc: xfs-masters, kernel-janitors, linux-kernel, xfs From: Julia Lawall <julia@diku.dk> In fs/xfs/xfs_trans_buf.c, bp is tested for being NULL just a few lines above. A simplified version of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @r exists@ local idexpression x; expression E; position p1,p2; @@ if (x@p1 = NULL || ...) { ... when forall return ...; } ... when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\) ( x@p2 = NULL | x@p2 != NULL ) // another path to the test that is not through p1? @s exists@ local idexpression r.x; position r.p1,r.p2; @@ ... when != x@p1 ( x@p2 = NULL | x@p2 != NULL ) @fix depends on !s@ position r.p1,r.p2; expression x,E; statement S1,S2; @@ ( - if ((x@p2 != NULL) || ...) S1 | - if ((x@p2 = NULL) && ...) S1 | - BUG_ON(x@p2 = NULL); ) // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> --- var/julia/linuxcopy/fs/xfs/xfs_trans_buf.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/var/linuxes/linux-next/fs/xfs/xfs_trans_buf.c b/var/julia/linuxcopy/fs/xfs/xfs_trans_buf.c index 8ee2f8c..218829e 100644 --- a/var/linuxes/linux-next/fs/xfs/xfs_trans_buf.c +++ b/var/julia/linuxcopy/fs/xfs/xfs_trans_buf.c @@ -307,7 +307,7 @@ xfs_trans_read_buf( return (flags & XFS_BUF_TRYLOCK) ? EAGAIN : XFS_ERROR(ENOMEM); - if ((bp != NULL) && (XFS_BUF_GETERROR(bp) != 0)) { + if (XFS_BUF_GETERROR(bp) != 0) { xfs_ioerror_alert("xfs_trans_read_buf", mp, bp, blkno); error = XFS_BUF_GETERROR(bp); @@ -315,7 +315,7 @@ xfs_trans_read_buf( return error; } #ifdef DEBUG - if (xfs_do_error && (bp != NULL)) { + if (xfs_do_error) { if (xfs_error_target = target) { if (((xfs_req_num++) % xfs_error_mod) = 0) { xfs_buf_relse(bp); ^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PATCH 9/13] fs/xfs: Remove redundant test @ 2008-12-21 16:38 ` Julia Lawall 0 siblings, 0 replies; 18+ messages in thread From: Julia Lawall @ 2008-12-21 16:38 UTC (permalink / raw) To: Eric Sandeen; +Cc: xfs-masters, xfs, linux-kernel, kernel-janitors From: Julia Lawall <julia@diku.dk> In fs/xfs/xfs_trans_buf.c, bp is tested for being NULL just a few lines above. A simplified version of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @r exists@ local idexpression x; expression E; position p1,p2; @@ if (x@p1 == NULL || ...) { ... when forall return ...; } ... when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\) ( x@p2 == NULL | x@p2 != NULL ) // another path to the test that is not through p1? @s exists@ local idexpression r.x; position r.p1,r.p2; @@ ... when != x@p1 ( x@p2 == NULL | x@p2 != NULL ) @fix depends on !s@ position r.p1,r.p2; expression x,E; statement S1,S2; @@ ( - if ((x@p2 != NULL) || ...) S1 | - if ((x@p2 == NULL) && ...) S1 | - BUG_ON(x@p2 == NULL); ) // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> --- var/julia/linuxcopy/fs/xfs/xfs_trans_buf.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/var/linuxes/linux-next/fs/xfs/xfs_trans_buf.c b/var/julia/linuxcopy/fs/xfs/xfs_trans_buf.c index 8ee2f8c..218829e 100644 --- a/var/linuxes/linux-next/fs/xfs/xfs_trans_buf.c +++ b/var/julia/linuxcopy/fs/xfs/xfs_trans_buf.c @@ -307,7 +307,7 @@ xfs_trans_read_buf( return (flags & XFS_BUF_TRYLOCK) ? EAGAIN : XFS_ERROR(ENOMEM); - if ((bp != NULL) && (XFS_BUF_GETERROR(bp) != 0)) { + if (XFS_BUF_GETERROR(bp) != 0) { xfs_ioerror_alert("xfs_trans_read_buf", mp, bp, blkno); error = XFS_BUF_GETERROR(bp); @@ -315,7 +315,7 @@ xfs_trans_read_buf( return error; } #ifdef DEBUG - if (xfs_do_error && (bp != NULL)) { + if (xfs_do_error) { if (xfs_error_target == target) { if (((xfs_req_num++) % xfs_error_mod) == 0) { xfs_buf_relse(bp); ^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PATCH 9/13] fs/xfs: Remove redundant test @ 2008-12-21 16:38 ` Julia Lawall 0 siblings, 0 replies; 18+ messages in thread From: Julia Lawall @ 2008-12-21 16:38 UTC (permalink / raw) To: Eric Sandeen; +Cc: xfs-masters, kernel-janitors, linux-kernel, xfs From: Julia Lawall <julia@diku.dk> In fs/xfs/xfs_trans_buf.c, bp is tested for being NULL just a few lines above. A simplified version of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @r exists@ local idexpression x; expression E; position p1,p2; @@ if (x@p1 == NULL || ...) { ... when forall return ...; } ... when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\) ( x@p2 == NULL | x@p2 != NULL ) // another path to the test that is not through p1? @s exists@ local idexpression r.x; position r.p1,r.p2; @@ ... when != x@p1 ( x@p2 == NULL | x@p2 != NULL ) @fix depends on !s@ position r.p1,r.p2; expression x,E; statement S1,S2; @@ ( - if ((x@p2 != NULL) || ...) S1 | - if ((x@p2 == NULL) && ...) S1 | - BUG_ON(x@p2 == NULL); ) // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> --- var/julia/linuxcopy/fs/xfs/xfs_trans_buf.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/var/linuxes/linux-next/fs/xfs/xfs_trans_buf.c b/var/julia/linuxcopy/fs/xfs/xfs_trans_buf.c index 8ee2f8c..218829e 100644 --- a/var/linuxes/linux-next/fs/xfs/xfs_trans_buf.c +++ b/var/julia/linuxcopy/fs/xfs/xfs_trans_buf.c @@ -307,7 +307,7 @@ xfs_trans_read_buf( return (flags & XFS_BUF_TRYLOCK) ? EAGAIN : XFS_ERROR(ENOMEM); - if ((bp != NULL) && (XFS_BUF_GETERROR(bp) != 0)) { + if (XFS_BUF_GETERROR(bp) != 0) { xfs_ioerror_alert("xfs_trans_read_buf", mp, bp, blkno); error = XFS_BUF_GETERROR(bp); @@ -315,7 +315,7 @@ xfs_trans_read_buf( return error; } #ifdef DEBUG - if (xfs_do_error && (bp != NULL)) { + if (xfs_do_error) { if (xfs_error_target == target) { if (((xfs_req_num++) % xfs_error_mod) == 0) { xfs_buf_relse(bp); _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs ^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PATCH 9/13] fs/xfs: Remove redundant test 2008-12-21 16:38 ` Julia Lawall (?) @ 2008-12-21 16:45 ` Julia Lawall -1 siblings, 0 replies; 18+ messages in thread From: Julia Lawall @ 2008-12-21 16:45 UTC (permalink / raw) To: Eric Sandeen; +Cc: xfs-masters, kernel-janitors, linux-kernel, xfs From: Julia Lawall <julia@diku.dk> In fs/xfs/xfs_trans_buf.c, bp is tested for being NULL just a few lines above. A simplified version of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @r exists@ local idexpression x; expression E; position p1,p2; @@ if (x@p1 = NULL || ...) { ... when forall return ...; } ... when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\) ( x@p2 = NULL | x@p2 != NULL ) // another path to the test that is not through p1? @s exists@ local idexpression r.x; position r.p1,r.p2; @@ ... when != x@p1 ( x@p2 = NULL | x@p2 != NULL ) @fix depends on !s@ position r.p1,r.p2; expression x,E; statement S1,S2; @@ ( - if ((x@p2 != NULL) || ...) S1 | - if ((x@p2 = NULL) && ...) S1 | - BUG_ON(x@p2 = NULL); ) // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> --- fs/xfs/xfs_trans_buf.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fs/xfs/xfs_trans_buf.c b/fs/xfs/xfs_trans_buf.c index 8ee2f8c..218829e 100644 --- a/fs/xfs/xfs_trans_buf.c +++ b/fs/xfs/xfs_trans_buf.c @@ -307,7 +307,7 @@ xfs_trans_read_buf( return (flags & XFS_BUF_TRYLOCK) ? EAGAIN : XFS_ERROR(ENOMEM); - if ((bp != NULL) && (XFS_BUF_GETERROR(bp) != 0)) { + if (XFS_BUF_GETERROR(bp) != 0) { xfs_ioerror_alert("xfs_trans_read_buf", mp, bp, blkno); error = XFS_BUF_GETERROR(bp); @@ -315,7 +315,7 @@ xfs_trans_read_buf( return error; } #ifdef DEBUG - if (xfs_do_error && (bp != NULL)) { + if (xfs_do_error) { if (xfs_error_target = target) { if (((xfs_req_num++) % xfs_error_mod) = 0) { xfs_buf_relse(bp); ^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PATCH 9/13] fs/xfs: Remove redundant test @ 2008-12-21 16:45 ` Julia Lawall 0 siblings, 0 replies; 18+ messages in thread From: Julia Lawall @ 2008-12-21 16:45 UTC (permalink / raw) To: Eric Sandeen; +Cc: xfs-masters, xfs, linux-kernel, kernel-janitors From: Julia Lawall <julia@diku.dk> In fs/xfs/xfs_trans_buf.c, bp is tested for being NULL just a few lines above. A simplified version of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @r exists@ local idexpression x; expression E; position p1,p2; @@ if (x@p1 == NULL || ...) { ... when forall return ...; } ... when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\) ( x@p2 == NULL | x@p2 != NULL ) // another path to the test that is not through p1? @s exists@ local idexpression r.x; position r.p1,r.p2; @@ ... when != x@p1 ( x@p2 == NULL | x@p2 != NULL ) @fix depends on !s@ position r.p1,r.p2; expression x,E; statement S1,S2; @@ ( - if ((x@p2 != NULL) || ...) S1 | - if ((x@p2 == NULL) && ...) S1 | - BUG_ON(x@p2 == NULL); ) // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> --- fs/xfs/xfs_trans_buf.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fs/xfs/xfs_trans_buf.c b/fs/xfs/xfs_trans_buf.c index 8ee2f8c..218829e 100644 --- a/fs/xfs/xfs_trans_buf.c +++ b/fs/xfs/xfs_trans_buf.c @@ -307,7 +307,7 @@ xfs_trans_read_buf( return (flags & XFS_BUF_TRYLOCK) ? EAGAIN : XFS_ERROR(ENOMEM); - if ((bp != NULL) && (XFS_BUF_GETERROR(bp) != 0)) { + if (XFS_BUF_GETERROR(bp) != 0) { xfs_ioerror_alert("xfs_trans_read_buf", mp, bp, blkno); error = XFS_BUF_GETERROR(bp); @@ -315,7 +315,7 @@ xfs_trans_read_buf( return error; } #ifdef DEBUG - if (xfs_do_error && (bp != NULL)) { + if (xfs_do_error) { if (xfs_error_target == target) { if (((xfs_req_num++) % xfs_error_mod) == 0) { xfs_buf_relse(bp); ^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PATCH 9/13] fs/xfs: Remove redundant test @ 2008-12-21 16:45 ` Julia Lawall 0 siblings, 0 replies; 18+ messages in thread From: Julia Lawall @ 2008-12-21 16:45 UTC (permalink / raw) To: Eric Sandeen; +Cc: xfs-masters, kernel-janitors, linux-kernel, xfs From: Julia Lawall <julia@diku.dk> In fs/xfs/xfs_trans_buf.c, bp is tested for being NULL just a few lines above. A simplified version of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @r exists@ local idexpression x; expression E; position p1,p2; @@ if (x@p1 == NULL || ...) { ... when forall return ...; } ... when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\) ( x@p2 == NULL | x@p2 != NULL ) // another path to the test that is not through p1? @s exists@ local idexpression r.x; position r.p1,r.p2; @@ ... when != x@p1 ( x@p2 == NULL | x@p2 != NULL ) @fix depends on !s@ position r.p1,r.p2; expression x,E; statement S1,S2; @@ ( - if ((x@p2 != NULL) || ...) S1 | - if ((x@p2 == NULL) && ...) S1 | - BUG_ON(x@p2 == NULL); ) // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> --- fs/xfs/xfs_trans_buf.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fs/xfs/xfs_trans_buf.c b/fs/xfs/xfs_trans_buf.c index 8ee2f8c..218829e 100644 --- a/fs/xfs/xfs_trans_buf.c +++ b/fs/xfs/xfs_trans_buf.c @@ -307,7 +307,7 @@ xfs_trans_read_buf( return (flags & XFS_BUF_TRYLOCK) ? EAGAIN : XFS_ERROR(ENOMEM); - if ((bp != NULL) && (XFS_BUF_GETERROR(bp) != 0)) { + if (XFS_BUF_GETERROR(bp) != 0) { xfs_ioerror_alert("xfs_trans_read_buf", mp, bp, blkno); error = XFS_BUF_GETERROR(bp); @@ -315,7 +315,7 @@ xfs_trans_read_buf( return error; } #ifdef DEBUG - if (xfs_do_error && (bp != NULL)) { + if (xfs_do_error) { if (xfs_error_target == target) { if (((xfs_req_num++) % xfs_error_mod) == 0) { xfs_buf_relse(bp); _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs ^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PATCH 9/13] fs/xfs: Remove redundant test 2008-12-21 16:38 ` Julia Lawall (?) @ 2008-12-21 16:47 ` Eric Sandeen -1 siblings, 0 replies; 18+ messages in thread From: Eric Sandeen @ 2008-12-21 16:47 UTC (permalink / raw) To: Julia Lawall; +Cc: xfs-masters, kernel-janitors, linux-kernel, xfs Julia Lawall wrote: > From: Julia Lawall <julia@diku.dk> > > In fs/xfs/xfs_trans_buf.c, bp is tested for being NULL just a few lines > above. > > A simplified version of the semantic patch that makes this change is as > follows: (http://www.emn.fr/x-info/coccinelle/) > > // <smpl> > @r exists@ > local idexpression x; > expression E; > position p1,p2; > @@ > > if (x@p1 = NULL || ...) { ... when forall > return ...; } > ... when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\) > ( > x@p2 = NULL > | > x@p2 != NULL > ) > > // another path to the test that is not through p1? > @s exists@ > local idexpression r.x; > position r.p1,r.p2; > @@ > > ... when != x@p1 > ( > x@p2 = NULL > | > x@p2 != NULL > ) > > @fix depends on !s@ > position r.p1,r.p2; > expression x,E; > statement S1,S2; > @@ > > ( > - if ((x@p2 != NULL) || ...) > S1 > | > - if ((x@p2 = NULL) && ...) S1 > | > - BUG_ON(x@p2 = NULL); > ) > // </smpl> > > Signed-off-by: Julia Lawall <julia@diku.dk> Looks good to me, thanks. Reviewed-by: Eric Sandeen <sandeen@sandeen.net> > --- > var/julia/linuxcopy/fs/xfs/xfs_trans_buf.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/var/linuxes/linux-next/fs/xfs/xfs_trans_buf.c b/var/julia/linuxcopy/fs/xfs/xfs_trans_buf.c > index 8ee2f8c..218829e 100644 > --- a/var/linuxes/linux-next/fs/xfs/xfs_trans_buf.c > +++ b/var/julia/linuxcopy/fs/xfs/xfs_trans_buf.c > @@ -307,7 +307,7 @@ xfs_trans_read_buf( > return (flags & XFS_BUF_TRYLOCK) ? > EAGAIN : XFS_ERROR(ENOMEM); > > - if ((bp != NULL) && (XFS_BUF_GETERROR(bp) != 0)) { > + if (XFS_BUF_GETERROR(bp) != 0) { > xfs_ioerror_alert("xfs_trans_read_buf", mp, > bp, blkno); > error = XFS_BUF_GETERROR(bp); > @@ -315,7 +315,7 @@ xfs_trans_read_buf( > return error; > } > #ifdef DEBUG > - if (xfs_do_error && (bp != NULL)) { > + if (xfs_do_error) { > if (xfs_error_target = target) { > if (((xfs_req_num++) % xfs_error_mod) = 0) { > xfs_buf_relse(bp); > ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 9/13] fs/xfs: Remove redundant test @ 2008-12-21 16:47 ` Eric Sandeen 0 siblings, 0 replies; 18+ messages in thread From: Eric Sandeen @ 2008-12-21 16:47 UTC (permalink / raw) To: Julia Lawall; +Cc: xfs-masters, xfs, linux-kernel, kernel-janitors Julia Lawall wrote: > From: Julia Lawall <julia@diku.dk> > > In fs/xfs/xfs_trans_buf.c, bp is tested for being NULL just a few lines > above. > > A simplified version of the semantic patch that makes this change is as > follows: (http://www.emn.fr/x-info/coccinelle/) > > // <smpl> > @r exists@ > local idexpression x; > expression E; > position p1,p2; > @@ > > if (x@p1 == NULL || ...) { ... when forall > return ...; } > ... when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\) > ( > x@p2 == NULL > | > x@p2 != NULL > ) > > // another path to the test that is not through p1? > @s exists@ > local idexpression r.x; > position r.p1,r.p2; > @@ > > ... when != x@p1 > ( > x@p2 == NULL > | > x@p2 != NULL > ) > > @fix depends on !s@ > position r.p1,r.p2; > expression x,E; > statement S1,S2; > @@ > > ( > - if ((x@p2 != NULL) || ...) > S1 > | > - if ((x@p2 == NULL) && ...) S1 > | > - BUG_ON(x@p2 == NULL); > ) > // </smpl> > > Signed-off-by: Julia Lawall <julia@diku.dk> Looks good to me, thanks. Reviewed-by: Eric Sandeen <sandeen@sandeen.net> > --- > var/julia/linuxcopy/fs/xfs/xfs_trans_buf.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/var/linuxes/linux-next/fs/xfs/xfs_trans_buf.c b/var/julia/linuxcopy/fs/xfs/xfs_trans_buf.c > index 8ee2f8c..218829e 100644 > --- a/var/linuxes/linux-next/fs/xfs/xfs_trans_buf.c > +++ b/var/julia/linuxcopy/fs/xfs/xfs_trans_buf.c > @@ -307,7 +307,7 @@ xfs_trans_read_buf( > return (flags & XFS_BUF_TRYLOCK) ? > EAGAIN : XFS_ERROR(ENOMEM); > > - if ((bp != NULL) && (XFS_BUF_GETERROR(bp) != 0)) { > + if (XFS_BUF_GETERROR(bp) != 0) { > xfs_ioerror_alert("xfs_trans_read_buf", mp, > bp, blkno); > error = XFS_BUF_GETERROR(bp); > @@ -315,7 +315,7 @@ xfs_trans_read_buf( > return error; > } > #ifdef DEBUG > - if (xfs_do_error && (bp != NULL)) { > + if (xfs_do_error) { > if (xfs_error_target == target) { > if (((xfs_req_num++) % xfs_error_mod) == 0) { > xfs_buf_relse(bp); > ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 9/13] fs/xfs: Remove redundant test @ 2008-12-21 16:47 ` Eric Sandeen 0 siblings, 0 replies; 18+ messages in thread From: Eric Sandeen @ 2008-12-21 16:47 UTC (permalink / raw) To: Julia Lawall; +Cc: xfs-masters, kernel-janitors, linux-kernel, xfs Julia Lawall wrote: > From: Julia Lawall <julia@diku.dk> > > In fs/xfs/xfs_trans_buf.c, bp is tested for being NULL just a few lines > above. > > A simplified version of the semantic patch that makes this change is as > follows: (http://www.emn.fr/x-info/coccinelle/) > > // <smpl> > @r exists@ > local idexpression x; > expression E; > position p1,p2; > @@ > > if (x@p1 == NULL || ...) { ... when forall > return ...; } > ... when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\) > ( > x@p2 == NULL > | > x@p2 != NULL > ) > > // another path to the test that is not through p1? > @s exists@ > local idexpression r.x; > position r.p1,r.p2; > @@ > > ... when != x@p1 > ( > x@p2 == NULL > | > x@p2 != NULL > ) > > @fix depends on !s@ > position r.p1,r.p2; > expression x,E; > statement S1,S2; > @@ > > ( > - if ((x@p2 != NULL) || ...) > S1 > | > - if ((x@p2 == NULL) && ...) S1 > | > - BUG_ON(x@p2 == NULL); > ) > // </smpl> > > Signed-off-by: Julia Lawall <julia@diku.dk> Looks good to me, thanks. Reviewed-by: Eric Sandeen <sandeen@sandeen.net> > --- > var/julia/linuxcopy/fs/xfs/xfs_trans_buf.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/var/linuxes/linux-next/fs/xfs/xfs_trans_buf.c b/var/julia/linuxcopy/fs/xfs/xfs_trans_buf.c > index 8ee2f8c..218829e 100644 > --- a/var/linuxes/linux-next/fs/xfs/xfs_trans_buf.c > +++ b/var/julia/linuxcopy/fs/xfs/xfs_trans_buf.c > @@ -307,7 +307,7 @@ xfs_trans_read_buf( > return (flags & XFS_BUF_TRYLOCK) ? > EAGAIN : XFS_ERROR(ENOMEM); > > - if ((bp != NULL) && (XFS_BUF_GETERROR(bp) != 0)) { > + if (XFS_BUF_GETERROR(bp) != 0) { > xfs_ioerror_alert("xfs_trans_read_buf", mp, > bp, blkno); > error = XFS_BUF_GETERROR(bp); > @@ -315,7 +315,7 @@ xfs_trans_read_buf( > return error; > } > #ifdef DEBUG > - if (xfs_do_error && (bp != NULL)) { > + if (xfs_do_error) { > if (xfs_error_target == target) { > if (((xfs_req_num++) % xfs_error_mod) == 0) { > xfs_buf_relse(bp); > _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs ^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2008-12-21 16:48 UTC | newest] Thread overview: 18+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2008-12-21 15:40 [PATCH 9/13] fs/xfs: Remove redundant test Julia Lawall 2008-12-21 15:40 ` Julia Lawall 2008-12-21 15:40 ` Julia Lawall 2008-12-21 16:01 ` Eric Sandeen 2008-12-21 16:01 ` Eric Sandeen 2008-12-21 16:01 ` Eric Sandeen 2008-12-21 16:36 ` Julia Lawall 2008-12-21 16:36 ` Julia Lawall 2008-12-21 16:36 ` Julia Lawall 2008-12-21 16:38 ` Julia Lawall 2008-12-21 16:38 ` Julia Lawall 2008-12-21 16:38 ` Julia Lawall 2008-12-21 16:45 ` Julia Lawall 2008-12-21 16:45 ` Julia Lawall 2008-12-21 16:45 ` Julia Lawall 2008-12-21 16:47 ` Eric Sandeen 2008-12-21 16:47 ` Eric Sandeen 2008-12-21 16:47 ` Eric Sandeen
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.