From: Maxim Levitsky on
On Wed, 2010-08-04 at 00:50 -0700, Alex Dubov wrote:
> --- On Tue, 3/8/10, Maxim Levitsky <maximlevitsky(a)gmail.com> wrote:
>
> > Now that del_gendisk syncs, we better
> > start rejecting requests right away.
>
>
> I don't quite see why this change is needed. My understanding is, user
> accessible interface should be marked as removed as early, as possible.

The problem here is that del_gendisk, syncs the device.
This is new change, made after you did your drivers.

I have this problem on jMicron too (which otherwise works fine).


PS:

I have a copy of your ms_block.c.
I would would be very happy if you share with me, what problems does it
still have (besides need of trivial port for changes in block system,
because I want to push it upstream too.

I have MS DUO 64M to test it against.


Best regards,
Maxim Levitsky

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Maxim Levitsky on
On Wed, 2010-08-04 at 19:53 +0300, Maxim Levitsky wrote:
> On Wed, 2010-08-04 at 00:50 -0700, Alex Dubov wrote:
> > --- On Tue, 3/8/10, Maxim Levitsky <maximlevitsky(a)gmail.com> wrote:
> >
> > > Now that del_gendisk syncs, we better
> > > start rejecting requests right away.
> >
> >
> > I don't quite see why this change is needed. My understanding is, user
> > accessible interface should be marked as removed as early, as possible.
>
> The problem here is that del_gendisk, syncs the device.
> This is new change, made after you did your drivers.
>
> I have this problem on jMicron too (which otherwise works fine).
The problem is that card check thread explicitly calls ->stop before
removing the device.
In case of mspro_blk.c that stops the request queue.
Attempt to call del_gendisk with stopped request queue hangs due to
syncing.


>
>
> PS:
>
> I have a copy of your ms_block.c.
> I would would be very happy if you share with me, what problems does it
> still have (besides need of trivial port for changes in block system,
> because I want to push it upstream too.
>
> I have MS DUO 64M to test it against.
>
>
Best regards,
Maxim Levitsky



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Maxim Levitsky on
On Thu, 2010-08-05 at 01:43 -0700, Alex Dubov wrote:
> > From: Maxim Levitsky <maximlevitsky(a)gmail.com>
> > Subject: Re: [PATCH 1/2] MEMSTICK: fix hangs on unexpected device removal in mspro_blk
> > > >
> > > > > Now that del_gendisk syncs, we better
> > > > > start rejecting requests right away.
> > > >
> > > >
> > > > I don't quite see why this change is needed. My
> > understanding is, user
> > > > accessible interface should be marked as removed
> > as early, as possible.
> > >
> > > The problem here is that del_gendisk, syncs the
> > device.
> > > This is new change, made after you did your drivers.
> > >
> > > I have this problem on jMicron too (which otherwise
> > works fine).
> > The problem is that card check thread explicitly calls
> > ->stop before
> > removing the device.
> > In case of mspro_blk.c that stops the request queue.
> > Attempt to call del_gendisk with stopped request queue
> > hangs due to
> > syncing.
>
> Well, ok. Sounds good.
>
>
> > >
> > > I have a copy of your ms_block.c.
> > > I would would be very happy if you share with me, what
> > problems does it
> > > still have (besides need of trivial port for changes
> > in block system,
> > > because I want to push it upstream too.
> > >
> > > I have MS DUO 64M to test it against.
> > >
>
> I've got two rather different implementations of ms_block, if I remember
> correctly. Both suffer from random data corruptions, thanks to my
> inexplicable desire to write the state machine as tightly, as possible.
> Only the later one does the spec mandated geometry correctly - I actually
> wrote the first version before I've seen the spec for the first time.

By 'spec mandated geometry' you mean the fact the card needs to be
broken into zones, somewhat like XD?

Best regards,
Maxim Levitsky

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/