2022-02-08 23:33:36

by Johannes Berg

[permalink] [raw]
Subject: Re: [PATCH] devcoredump: increase the device delete timeout to 10 mins

On Tue, 2022-02-08 at 13:04 -0800, Abhinav Kumar wrote:
>
> It opened the file rightaway but could not finish reading.
>
> The device gets deleted so the corresponding /data will disappear too (
> as the data node is under devcd*/data)

Yeah but even if the file disappears, the open file descriptor is still
there, no? Does sysfs somehow make those disappear? I know debugfs does
(now, to some extent, it didn't always), but I thought sysfs was
refcounting things and didn't do that?

What did the userspace actually see? read() returned 0 so EOF?

(I guess I could test it, but it's getting late)

Your other questions are related - you need to consider the file in
sysfs and the open file descriptor separately.

johannes



2022-02-09 11:36:42

by Abhinav Kumar

[permalink] [raw]
Subject: Re: [PATCH] devcoredump: increase the device delete timeout to 10 mins

Hi Johannes

On 2/8/2022 1:12 PM, Johannes Berg wrote:
> On Tue, 2022-02-08 at 13:04 -0800, Abhinav Kumar wrote:
>>
>> It opened the file rightaway but could not finish reading.
>>
>> The device gets deleted so the corresponding /data will disappear too (
>> as the data node is under devcd*/data)
>
> Yeah but even if the file disappears, the open file descriptor is still
> there, no? Does sysfs somehow make those disappear? I know debugfs does
> (now, to some extent, it didn't always), but I thought sysfs was
> refcounting things and didn't do that?
>
> What did the userspace actually see? read() returned 0 so EOF?
>
> (I guess I could test it, but it's getting late)
>
> Your other questions are related - you need to consider the file in
> sysfs and the open file descriptor separately.
>
> johannes
>
I am checking what usermode sees and will get back ( I didnt see an
error do most likely it was EOF ). I didnt follow the second part.

If the file descriptor read returns EOF, even if we consider them
separate how will it resolve this issue?

My earlier questions were related to fixing it in devcoredump to detect
and fix it there. Are you suggesting to fix in usermode instead? How?

Thanks

Abhinav