On Tue, Feb 05, 2019 at 02:33:06PM +0300, Alexey Budankov wrote:
> 
> On 03.02.2019 18:30, Jiri Olsa wrote:
> > Let rm_rf remove file if it's provided by path.
> > 
> > Link: http://lkml.kernel.org/n/tip-whhp3ej5795l9dc86xfyy...@git.kernel.org
> > Signed-off-by: Jiri Olsa <jo...@kernel.org>
> > ---
> >  tools/perf/util/util.c | 10 ++++++++--
> >  1 file changed, 8 insertions(+), 2 deletions(-)
> > 
> > diff --git a/tools/perf/util/util.c b/tools/perf/util/util.c
> > index 320b0fef249a..58b8d6a8bfbc 100644
> > --- a/tools/perf/util/util.c
> > +++ b/tools/perf/util/util.c
> > @@ -125,8 +125,14 @@ int rm_rf(const char *path)
> >     char namebuf[PATH_MAX];
> >  
> >     dir = opendir(path);
> > -   if (dir == NULL)
> > -           return 0;
> > +   if (dir == NULL) {
> > +           /*
> > +            * The path does not exist or is not directory,
> > +            * so there's no harm to try remove it. This way
> > +            * rm_rf will work over single file.
> > +            */
> 
> This can also happen due to lack of fds or memory.
> Not sure file still has to be deleted in these cases.

ok, will do proper error check

thanks,
jirka

> 
> - Alexey
> 
> > +           return unlink(path);
> > +   }
> >  
> >     while ((d = readdir(dir)) != NULL && !ret) {
> >             struct stat statbuf;
> > 

Reply via email to