Re: [PATCH v2 03/15] perf data: open data directory in read access mode

From: Alexey Budankov
Date: Mon Oct 26 2020 - 13:47:14 EST



On 24.10.2020 18:43, Jiri Olsa wrote:
> On Wed, Oct 21, 2020 at 06:57:53PM +0300, Alexey Budankov wrote:
>>
>> Open files located at trace data directory in case read access
>> mode is requested. File are opened and its fds assigned to
>> perf_data dir files especially for loading data directories
>> content in perf report mode.
>>
>> Signed-off-by: Alexey Budankov <alexey.budankov@xxxxxxxxxxxxxxx>
>> ---
>> tools/perf/util/data.c | 4 ++++
>> 1 file changed, 4 insertions(+)
>>
>> diff --git a/tools/perf/util/data.c b/tools/perf/util/data.c
>> index c47aa34fdc0a..6ad61ac6ba67 100644
>> --- a/tools/perf/util/data.c
>> +++ b/tools/perf/util/data.c
>> @@ -321,6 +321,10 @@ static int open_dir(struct perf_data *data)
>> return -1;
>>
>> ret = open_file(data);
>> + if (!ret && perf_data__is_dir(data)) {
>> + if (perf_data__is_read(data))
>> + ret = perf_data__open_dir(data);
>> + }
>
> perf_data__open_dir is also called from perf_session__new
> is it called twice?

It is not called twice. It is in different branches.
This one is for write and the other one is for read.

Alexei

>
> jirka
>
>>
>> /* Cleanup whatever we managed to create so far. */
>> if (ret && perf_data__is_write(data))
>> --
>> 2.24.1
>>
>