Re: newfs_msdos and DVD-RAM

From: Fabian Keil <freebsd-listen_at_fabiankeil.de>
Date: Fri, 2 Apr 2010 12:57:21 +0200
Andriy Gapon <avg_at_freebsd.org> wrote:

> on 30/03/2010 18:41 Andriy Gapon said the following:
> > on 30/03/2010 18:36 Fabian Keil said the following:
> >> Andriy Gapon <avg_at_freebsd.org> wrote:
> >>
> >>> on 29/03/2010 23:29 Fabian Keil said the following:
> >>>> Andriy Gapon <avg_at_freebsd.org> wrote:
> >>>>> Thus, clearly, it is a fault of a tool that formatted the media
> >>>>> for FAT. It should have picked correct values, or rejected
> >>>>> incorrect values if those were provided as overrides via command
> >>>>> line options.
> >>>> The kernel still shouldn't panic, though.
> >>> A quick reply to this point only - yes, I completely agree.
> >>> But remember that the panic happened only after the sources were
> >>> modified :)
> >> It wasn't clear from my message, but I was mainly referring to the
> >> division-by-zero panic mentioned at the beginning of the thread,
> >> for which I posted a work-around in
> >> <20100319191133.46fe271c_at_r500.local>.
> > 
> > Oh, yes, right.
> 
> To clarify - I already forgot that the original problem was division by
> zero panic and for some reason thought that it was EINVAL.
> 
> Anyways, here is a patch that I would use.
> Unfortunately, ENOTIME to understand newfs_msdos code and fix it too,
> 
> --- a/sys/fs/msdosfs/msdosfs_vfsops.c
> +++ b/sys/fs/msdosfs/msdosfs_vfsops.c
> _at__at_ -580,6 +580,7 _at__at_ mountmsdosfs(struct vnode *devvp, struct mount *mp)
>  	  || (pmp->pm_BytesPerSec & (pmp->pm_BytesPerSec - 1))
>  	  || (pmp->pm_HugeSectors == 0)
>  	  || (pmp->pm_FATsecs == 0)
> +	  || (SecPerClust * pmp->pm_BlkPerSec > MAXBSIZE / DEV_BSIZE)
>  	) {
>  		error = EINVAL;
>  		goto error_exit;

That works, too:

fk_at_r500 ~ $sudo mdconfig -a -t vnode -f /tank/ipod-image-formatiert
md0
fk_at_r500 ~ $sudo mount_msdosfs /dev/md0 /mnt/
mount_msdosfs: /dev/md0: Invalid argument

Is there a chance that this, or some other workaround, could be committed?

Fabian

Received on Fri Apr 02 2010 - 08:57:34 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:02 UTC