On 24 September 2013 15:44, Edward Tomasz Napierała <tr...@freebsd.org> wrote: > Wiadomość napisana przez Sergey Kandaurov <pluk...@gmail.com> w dniu 24 wrz > 2013, o godz. 13:00: >> On 24 September 2013 14:40, Sergey Kandaurov <pluk...@gmail.com> wrote: >>> On 24 September 2013 11:46, Sergey V. Dyatko <sergey.dya...@gmail.com> >>> wrote: >>>> Hi, >>>> >>>> today I tried to play a bit with new iscsi >>>> >>>> r255812 isn't fully complete fix? >>>> >>> [...] >>>> run `kldload iscsi_initiator` and got a panic: >>> >>> Something like this quick'n'dirty should work. >>> Compile tested only. >>> >>> Index: sys/dev/iscsi_initiator/iscsi.c >>> =================================================================== >>> --- sys/dev/iscsi_initiator/iscsi.c (revision 255841) >>> +++ sys/dev/iscsi_initiator/iscsi.c (working copy) >>> @@ -715,7 +715,8 @@ >>> TUNABLE_INT_FETCH("net.iscsi_initiator.max_pdus", &max_pdus); >>> >>> isc = malloc(sizeof(struct isc_softc), M_ISCSI, M_ZERO|M_WAITOK); >>> - isc->dev = make_dev(&iscsi_cdevsw, max_sessions, UID_ROOT, >>> GID_WHEEL, 0600, "iscsi"); >>> + isc->dev = make_dev_credf(MAKEDEV_CHECKNAME, &iscsi_cdevsw, >>> max_sessions, >>> + NULL, UID_ROOT, GID_WHEEL, 0600, "iscsi"); >>> isc->dev->si_drv1 = isc; >>> mtx_init(&isc->isc_mtx, "iscsi-isc", NULL, MTX_DEF); >> >> Erm, of course it shall be checked against failure. > > Sure. What do you think about this: > > Index: sys/dev/iscsi_initiator/iscsi.c > =================================================================== > --- sys/dev/iscsi_initiator/iscsi.c (revision 255834) > +++ sys/dev/iscsi_initiator/iscsi.c (working copy) > @@ -715,8 +715,14 @@ iscsi_start(void) > TUNABLE_INT_FETCH("net.iscsi_initiator.max_pdus", &max_pdus); > > isc = malloc(sizeof(struct isc_softc), M_ISCSI, M_ZERO|M_WAITOK); > - isc->dev = make_dev(&iscsi_cdevsw, max_sessions, UID_ROOT, GID_WHEEL, > 0600, "iscsi"); > - isc->dev->si_drv1 = isc; > + isc->dev = make_dev_credf(MAKEDEV_CHECKNAME, &iscsi_cdevsw, > max_sessions, > + NULL, UID_ROOT, GID_WHEEL, 0600, "iscsi"); > + if (isc->dev == NULL) { > + xdebug("iscsi_initiator: make_dev_credf failed"); > + // XXX: don't return; otherwise it would panic on unload > + } else { > + isc->dev->si_drv1 = isc; > + } > mtx_init(&isc->isc_mtx, "iscsi-isc", NULL, MTX_DEF); > > TAILQ_INIT(&isc->isc_sess); >
LGTM, except there is different indentation where for function calls each new line aligned with the first function argument. -- wbr, pluknet _______________________________________________ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"