----- Original Message -----
> From: "shuang qiu" <[email protected]>
> To: [email protected]
> Sent: Thursday, 23 May, 2013 9:09:07 AM
> Subject: [LTP] [PATCH] dup07:Close the file before unlink it.
>
> From: Shuang Qiu <[email protected]>
>
> When unlink() a file in nfs environment,it will rename the file to a
> .nfs<xxxxx> file if any process still has that file open.And this file
> could not be deleted until it is closed.So we always get the following
> warning which makes testcase "dup07" failed:
> 0 TWARN : tst_rmdir: rmobj(/mnt/nfsv3/ltp-ZtzSE27611/dupKuEr3H)
> failed:
> unlink(/mnt/nfsv3/ltp-ZtzSE27611/dupKuEr3H/.nfs000000000110cb3800000066)
> failed; errno=16: Device or resource busy
>
> Close the created/dup file before unlink() it to fix this issue.
>
> Signed-off-by: Shuang Qiu <[email protected]>
Hi,
this is introducing some warnings:
dup07.c:53: warning: ‘duprdo’ may be used uninitialized in this function
dup07.c:53: warning: ‘dupwro’ may be used uninitialized in this function
dup07.c:53: warning: ‘duprdwr’ may be used uninitialized in this function
Rather than initializing these to -1, I'd suggest to move those close() calls
to else branches:
@@ -77,7 +77,9 @@ int main(int ac, char **av)
tst_resm(TPASS,
"Passed in read mode.");
}
+ close(duprdo);
}
+ close(rdoret);
}
Regards,
Jan
> ---
> testcases/kernel/syscalls/dup/dup07.c | 12 ++++++++++++
> 1 files changed, 12 insertions(+), 0 deletions(-)
>
> diff --git a/testcases/kernel/syscalls/dup/dup07.c
> b/testcases/kernel/syscalls/dup/dup07.c
> index 03b0ba4..19cd751 100644
> --- a/testcases/kernel/syscalls/dup/dup07.c
> +++ b/testcases/kernel/syscalls/dup/dup07.c
> @@ -80,6 +80,10 @@ int main(int ac, char **av)
> }
> }
>
> + if (duprdo != -1)
> + close(duprdo);
> + if (rdoret != -1)
> + close(rdoret);
> unlink(testfile);
>
> if ((wroret = creat(testfile, 0222)) == -1) {
> @@ -100,6 +104,10 @@ int main(int ac, char **av)
> }
> }
>
> + if (dupwro != -1)
> + close(dupwro);
> + if (wroret != -1)
> + close(wroret);
> unlink(testfile);
>
> if ((rdwret = creat(testfile, 0666)) == -1) {
> @@ -120,6 +128,10 @@ int main(int ac, char **av)
> }
> }
>
> + if (duprdwr != -1)
> + close(duprdwr);
> + if (rdwret != -1)
> + close(rdwret);
> unlink(testfile);
> }
>
> --
> 1.7.7
>
>
> ------------------------------------------------------------------------------
> Try New Relic Now & We'll Send You this Cool Shirt
> New Relic is the only SaaS-based application performance monitoring service
> that delivers powerful full stack analytics. Optimize and monitor your
> browser, app, & servers with just a few lines of code. Try New Relic
> and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may
> _______________________________________________
> Ltp-list mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/ltp-list
>
------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list