Re: git: ad34121518bb - main - Revert "pst: improve shutdown_post_sync handler"

From: Baptiste Daroussin <bapt_at_freebsd.org>
Date: Tue, 28 Nov 2023 17:11:11 UTC
i386 kernel is still broken :(

/home/bapt/worktrees/main/sys/dev/pst/pst-raid.c:185:9: error: incomplete
definition of type 'struct thread'

Best regards,
Bapt


On Sat, Nov 25, 2023 at 08:51:36AM +0100, Baptiste Daroussin wrote:
> Kernel building for i386 is broken now and pkgbase builders do complain, can
> anyone have a look?
> 
> Best regards,
> Bapt
> 
> On Thu, Nov 23, 2023 at 10:09:35PM +0100, Mateusz Guzik wrote:
> > i386 kernel is going down, i suggest just dropping the patch
> > 
> > On 11/23/23, Mitchell Horne <mhorne@freebsd.org> wrote:
> > > The branch main has been updated by mhorne:
> > >
> > > URL:
> > > https://cgit.FreeBSD.org/src/commit/?id=ad34121518bb7e1a38d4a6b1ccf9ca6fe298dd0a
> > >
> > > commit ad34121518bb7e1a38d4a6b1ccf9ca6fe298dd0a
> > > Author:     Mitchell Horne <mhorne@FreeBSD.org>
> > > AuthorDate: 2023-11-23 19:46:28 +0000
> > > Commit:     Mitchell Horne <mhorne@FreeBSD.org>
> > > CommitDate: 2023-11-23 19:48:44 +0000
> > >
> > >     Revert "pst: improve shutdown_post_sync handler"
> > >
> > >     I did not realize this driver was i386-only, and the change fails to
> > >     compile. Revert so that I can fix it properly.
> > >
> > >     This reverts commit 428ebb7cd9f51afb6809bf81cf21a05e0fd93ff4.
> > >
> > >     Pointy hat to: mhorne
> > > ---
> > >  sys/dev/pst/pst-iop.c  |  2 +-
> > >  sys/dev/pst/pst-raid.c | 14 +++++---------
> > >  2 files changed, 6 insertions(+), 10 deletions(-)
> > >
> > > diff --git a/sys/dev/pst/pst-iop.c b/sys/dev/pst/pst-iop.c
> > > index 43ced2401d2c..f9921a564333 100644
> > > --- a/sys/dev/pst/pst-iop.c
> > > +++ b/sys/dev/pst/pst-iop.c
> > > @@ -432,7 +432,7 @@ iop_queue_wait_msg(struct iop_softc *sc, int mfa, struct
> > > i2o_basic_message *msg)
> > >      int status, timeout = 10000;
> > >
> > >      mtx_lock(&sc->mtx);
> > > -    if ((sc->reg->oqueue_intr_mask & I20_OUT_INTR_QUEUE) == 0) {
> > > +    if (!(sc->reg->oqueue_intr_mask & 0x08)) {
> > >          msg->transaction_context = (u_int32_t)&request;
> > >          msg->initiator_context = (u_int32_t)iop_done;
> > >          sc->reg->iqueue = mfa;
> > > diff --git a/sys/dev/pst/pst-raid.c b/sys/dev/pst/pst-raid.c
> > > index 4f9279462ee8..4e9c4fb724bc 100644
> > > --- a/sys/dev/pst/pst-raid.c
> > > +++ b/sys/dev/pst/pst-raid.c
> > > @@ -73,7 +73,7 @@ struct pst_request {
> > >  static disk_strategy_t pststrategy;
> > >  static int pst_probe(device_t);
> > >  static int pst_attach(device_t);
> > > -static void pst_shutdown_post_sync(device_t, int);
> > > +static int pst_shutdown(device_t);
> > >  static void pst_start(struct pst_softc *);
> > >  static void pst_done(struct iop_softc *, u_int32_t, struct i2o_single_reply
> > > *);
> > >  static int pst_rw(struct pst_request *);
> > > @@ -170,23 +170,18 @@ pst_attach(device_t dev)
> > >  	   name, psc->info->capacity/(512*255*63), 255, 63,
> > >  	   device_get_nameunit(psc->iop->dev));
> > >
> > > -    EVENTHANDLER_REGISTER(shutdown_post_sync, pst_shutdown_post_sync,
> > > +    EVENTHANDLER_REGISTER(shutdown_post_sync, pst_shutdown,
> > >  			  dev, SHUTDOWN_PRI_FIRST);
> > >      return 0;
> > >  }
> > >
> > > -static void
> > > -pst_shutdown_post_sync(device_t dev, int howto __unused)
> > > +static int
> > > +pst_shutdown(device_t dev)
> > >  {
> > >      struct pst_softc *psc = device_get_softc(dev);
> > >      struct i2o_bsa_cache_flush_message *msg;
> > >      int mfa;
> > >
> > > -    if (SCHEDULER_STOPPED()) {
> > > -	/* Request polled shutdown. */
> > > -	psc->reg->oqueue_intr_mask = 0xffffffff;
> > > -    }
> > > -
> > >      mfa = iop_get_mfa(psc->iop);
> > >      msg = (struct i2o_bsa_cache_flush_message *)(psc->iop->ibase + mfa);
> > >      bzero(msg, sizeof(struct i2o_bsa_cache_flush_message));
> > > @@ -199,6 +194,7 @@ pst_shutdown_post_sync(device_t dev, int howto
> > > __unused)
> > >      msg->control_flags = 0x0; /* 0x80 = post progress reports */
> > >      if (iop_queue_wait_msg(psc->iop, mfa, (struct i2o_basic_message
> > > *)msg))
> > >  	printf("pst: shutdown failed!\n");
> > > +    return 0;
> > >  }
> > >
> > >  static void
> > >
> > >
> > 
> > 
> > -- 
> > Mateusz Guzik <mjguzik gmail.com>
> > 
>