Page MenuHomeFreeBSD

usr.sbin.makefs.makefs_cd9660_tests.F_flag fails on a kernel missing 'device cd'
ClosedPublic

Authored by brd on Mar 22 2017, 4:38 PM.
Tags
None
Referenced Files
F103264995: D10096.diff
Fri, Nov 22, 7:55 PM
Unknown Object (File)
Fri, Nov 15, 5:08 AM
Unknown Object (File)
Thu, Oct 31, 5:28 AM
Unknown Object (File)
Tue, Oct 29, 9:18 PM
Unknown Object (File)
Oct 20 2024, 12:59 PM
Unknown Object (File)
Oct 20 2024, 6:44 AM
Unknown Object (File)
Oct 20 2024, 4:49 AM
Unknown Object (File)
Oct 20 2024, 4:03 AM
Subscribers

Details

Summary

This might not be the best way to go about it, but I couldn't find a simpler way to detect if 'device cd' is present in the kernel.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Opps, missed a few other cases that need this..

Same thing 4 times... Maybe a routine would be better?

This revision is now accepted and ready to land.Mar 22 2017, 4:44 PM
ngie requested changes to this revision.Mar 22 2017, 5:20 PM

Please use kldstat -m cd instead.

This revision now requires changes to proceed.Mar 22 2017, 5:20 PM
In D10096#208743, @imp wrote:

Same thing 4 times... Maybe a routine would be better?

Agreed. I'll work on standardizing one...

Taking a step back... why is device cd required here ? It seems that the real item that's missing potentially from your kernel is iso9660 support. Can you please note how this is broken when device cd is missing?

Good point.. This is what I am seeing when this test runs:

Fail: incorrect exit status: 1, expected: 0
stdout:

stderr:
mount_cd9660: /dev/md4: Operation not supported by device

I'll update the patch.

brd edited edge metadata.

Updated diff to pull in suggestions from @imp and @ngie

I think the "missing cd(4)" -> "failing test" part is a red herring, but I'll have to verify that.

If the issue is happening in cd9660, it's because the vnode provided is either a block or character device. I'm not sure what the intent behind that check is, but it seems like there's an issue between makefs(8) <-> cd9660(4).

Hold on a minute... let me verify some things.

In D10096#208943, @ngie wrote:

I think the "missing cd(4)" -> "failing test" part is a red herring, but I'll have to verify that.

If the issue is happening in cd9660, it's because the vnode provided is either a block or character device. I'm not sure what the intent behind that check is, but it seems like there's an issue between makefs(8) <-> cd9660(4).

Hold on a minute... let me verify some things.

You don't have cd9660 support in your kernel, but you have mount_cd9660 on your system. That's why this is happening.

In D10096#208952, @ngie wrote:

You don't have cd9660 support in your kernel, but you have mount_cd9660 on your system. That's why this is happening.

Yeah.. Not sure how to handle that situation. I don't see a way to optionally remove the mount_cd9660 according to ObsoleteFiles.inc. I would appreciate any ideas you have.

In D10096#208988, @brd wrote:
In D10096#208952, @ngie wrote:

You don't have cd9660 support in your kernel, but you have mount_cd9660 on your system. That's why this is happening.

Yeah.. Not sure how to handle that situation. I don't see a way to optionally remove the mount_cd9660 according to ObsoleteFiles.inc. I would appreciate any ideas you have.

You're on the right track. Please rename check_cd_support to check_iso9660_support and check for cd9660 instead of cd.

I'd also state Requires cd9660 filesystem support to be present in the kernel.

(UGH... WHY ISN'T THERE A cd9660 manpage?! I guess I'll have to add it!)

In D10096#209011, @ngie wrote:

...

You're on the right track. Please rename check_cd_support to check_iso9660_support and check for cd9660 instead of cd.

I'd also state Requires cd9660 filesystem support to be present in the kernel.

(UGH... WHY ISN'T THERE A cd9660 manpage?! I guess I'll have to add it!)

Ok, cd9660(5) exists now :)... *phew*

This revision is now accepted and ready to land.Mar 25 2017, 4:49 AM
This revision was automatically updated to reflect the committed changes.