Messages in this thread | | | Subject | Re: [PATCH 01/14] perf tools: Make rm_rf to remove single file | From | Alexey Budankov <> | Date | Tue, 5 Feb 2019 14:33:06 +0300 |
| |
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-whhp3ej5795l9dc86xfyyp74@git.kernel.org > Signed-off-by: Jiri Olsa <jolsa@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.
- Alexey
> + return unlink(path); > + } > > while ((d = readdir(dir)) != NULL && !ret) { > struct stat statbuf; >
| |