Messages in this thread | | | Date | Thu, 16 May 2024 10:12:25 +0800 | Subject | Re: [PATCH 3/5] dm: support retrieving struct dm_target from struct dm_dev | From | YangYang <> |
| |
On 2024/5/16 0:00, Benjamin Marzinski wrote: > On Wed, May 15, 2024 at 11:42:04AM -0400, Benjamin Marzinski wrote: >> When a target calls dm_get_device(), if it adds a new table device to >> t->devices, then it's the first target in this table to use that device. >> If flush_pass_around is set for this target, then it also sets >> sends_pass_around_flush. In __send_empty_flush() if the table has >> flush_pass_around set, when you iterate through the devices, you only > > Err, "When you iterate through the *targets*, you only ..." In this > method you don't iterate through the list of devices (which is supposed > to be protected by t->devices_lock).
I'm not very familiar with this area, I thought that the device list of an active table cannot be modified, so it doesn't need to be protected by t->devices_lock.
> >> call __send_empty_flush_bios() for the ones with sends_pass_around_flush >> set. >> >> Or am I overlooking something? >> >> -Ben >
| |