Re: Patch : drivers/md/dm-verity-target.c

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On Wed, 15 Nov 2023, Mike Snitzer wrote:

> On Wed, Nov 15 2023 at  2:01P -0500,
> Aaditya Raj Barnwal <abarnwal@xxxxxxxxxxxxxxxx> wrote:
> 
> > Sorry if that statement confused you ,  It was debugging print 
> > that was added to check if the  tight while loop has ended or not
> >  
> > Code : dm-init.c 
> > dm_init_init()
> >  
> > 	wait_for_device_probe();
> > 	for (i = 0; i < ARRAY_SIZE(waitfor); i++) {
> > 		if (waitfor[i]) {
> > 			dev_t dev;
> >  
> > 			DMERR("waiting for device %s ...", waitfor[i]);
> > 			while ((dev=  name_to_dev_t(waitfor[i]) !=0))
> > 				fsleep(5000);
> > 		}
> >  
> > 	DMERR("exiting after %s ",waitfor[i]);  <<<<<<<<<<<here it was added 
> > 	}
> >  
> > 	if (waitfor[0])
> > 		DMINFO("all devices available");
> >  
> > 	list_for_each_entry(dev, &devices, list) {
> > 		if (dm_early_create(&dev->dmi, dev->table,
> > 				    dev->target_args_array))
> > 			break;
> > 	}
> > 
> 
> 
> Mikulas wasn't confused.  He was pointing out that you have made
> changes to your kernel without sharing what they are.
> 
> But your issue is that you configured the dm-mod.waitfor device
> incorrectly. You must wait for the underlying physical device(s) that
> the virtual DM device depends on.

Yes, that's the problem.

> Mike

[    9.785204][    T9] mmc0: CQHCI version 5.10
[    9.826746][    T9] mmc0: SDHCI controller on 8804000.sdhci [8804000.sdhci] using ADMA 64-bit
[    9.835559][    T9] sdhci_msm 8804000.sdhci: mmc0: CQE init: success
[    9.842578][    T1] device-mapper: init: waiting for device /dev/dm-0 ...
[    9.849605][    T1] device-mapper: init:  exiting after  /dev/dm-0 <<<<<got  dev/dm-0
[    9.856689][    T1] device-mapper: init: all devices available
[    9.863061][    T1] device-mapper: table: 252:0: verity: Data device lookup failed
[    9.870868][    T1] device-mapper: ioctl: error adding target to table
[    9.895539][   T37]

I'm wondering about another thing - here it succeeds finding /dev/dm-0 and 
immediatelly after that fails loading /dev/dm-0 table with the dm-verity 
target.

So, how could we succeed finding /dev/dm-0 before it was created?

I think that you backported that patch incorrectly - instead of

	while ((dev=  name_to_dev_t(waitfor[i]) !=0)) fsleep(5000);

there should be

	while ((dev=  name_to_dev_t(waitfor[i]) ==0)) fsleep(5000);

There was a change in the return value of devt_from_devname - in 6.7-rc1, 
it returns 0 on success and -ERROR on error. In 5.15.104, it returns 0 on 
error and a device nubmer on success.

Mikulas





[Index of Archives]     [DM Crypt]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Packaging]     [Fedora SELinux]     [Yosemite Discussion]     [KDE Users]     [Fedora Docs]

  Powered by Linux