Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 10 Feb 2015 10:34:26 -0600
From:      Bryan Drewery <bdrewery@FreeBSD.org>
To:        Edward Tomasz Napierala <trasz@FreeBSD.org>, src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r278521 - head/sys/fs/autofs
Message-ID:  <54DA3312.8050709@FreeBSD.org>
In-Reply-To: <201502101617.t1AGHH12081338@svn.freebsd.org>
References:  <201502101617.t1AGHH12081338@svn.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--hvAL1Kvs7R0oS14cdtKhSDoSC0AADtqkr
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On 2/10/2015 10:17 AM, Edward Tomasz Napierala wrote:
> Author: trasz
> Date: Tue Feb 10 16:17:16 2015
> New Revision: 278521
> URL: https://svnweb.freebsd.org/changeset/base/278521
>=20
> Log:
>   Restore ABI compatibility, broken in r273127.  Note that while this f=
ixes
>   ABI with 10.1, it breaks ABI for 11-CURRENT, so rebuild of automountd=
(8)
>   is neccessary.

I was going to say __FreeBSD_version should probably be bumped, but I
suppose it's unlikely there are any consumers outside of automountd(8)
already. An entry in UPDATING may be worth adding for head noting the
rebuild need. We don't all read commit logs.

>  =20
>   MFC after:	2 weeks
>   Sponsored by:	The FreeBSD Foundation
>=20
> Modified:
>   head/sys/fs/autofs/autofs.c
>   head/sys/fs/autofs/autofs_ioctl.h
>=20
> Modified: head/sys/fs/autofs/autofs.c
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
> --- head/sys/fs/autofs/autofs.c	Tue Feb 10 16:01:16 2015	(r278520)
> +++ head/sys/fs/autofs/autofs.c	Tue Feb 10 16:17:16 2015	(r278521)
> @@ -584,6 +584,34 @@ autofs_ioctl_request(struct autofs_daemo
>  }
> =20
>  static int
> +autofs_ioctl_done_101(struct autofs_daemon_done_101 *add)
> +{
> +	struct autofs_request *ar;
> +
> +	sx_xlock(&autofs_softc->sc_lock);
> +	TAILQ_FOREACH(ar, &autofs_softc->sc_requests, ar_next) {
> +		if (ar->ar_id =3D=3D add->add_id)
> +			break;
> +	}
> +
> +	if (ar =3D=3D NULL) {
> +		sx_xunlock(&autofs_softc->sc_lock);
> +		AUTOFS_DEBUG("id %d not found", add->add_id);
> +		return (ESRCH);
> +	}
> +
> +	ar->ar_error =3D add->add_error;
> +	ar->ar_wildcards =3D true;
> +	ar->ar_done =3D true;
> +	ar->ar_in_progress =3D false;
> +	cv_broadcast(&autofs_softc->sc_cv);
> +
> +	sx_xunlock(&autofs_softc->sc_lock);
> +
> +	return (0);
> +}
> +
> +static int
>  autofs_ioctl_done(struct autofs_daemon_done *add)
>  {
>  	struct autofs_request *ar;
> @@ -658,6 +686,9 @@ autofs_ioctl(struct cdev *dev, u_long cm
>  	case AUTOFSREQUEST:
>  		return (autofs_ioctl_request(
>  		    (struct autofs_daemon_request *)arg));
> +	case AUTOFSDONE101:
> +		return (autofs_ioctl_done_101(
> +		    (struct autofs_daemon_done_101 *)arg));
>  	case AUTOFSDONE:
>  		return (autofs_ioctl_done(
>  		    (struct autofs_daemon_done *)arg));
>=20
> Modified: head/sys/fs/autofs/autofs_ioctl.h
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
> --- head/sys/fs/autofs/autofs_ioctl.h	Tue Feb 10 16:01:16 2015	(r278520=
)
> +++ head/sys/fs/autofs/autofs_ioctl.h	Tue Feb 10 16:17:16 2015	(r278521=
)
> @@ -71,6 +71,21 @@ struct autofs_daemon_request {
>  	char		adr_options[MAXPATHLEN];
>  };
> =20
> +/*
> + * Compatibility with 10.1-RELEASE automountd(8).
> + */
> +struct autofs_daemon_done_101 {
> +	/*
> +	 * Identifier, copied from adr_id.
> +	 */
> +	int		add_id;
> +
> +	/*
> +	 * Error number, possibly returned to userland.
> +	 */
> +	int		add_error;
> +};
> +
>  struct autofs_daemon_done {
>  	/*
>  	 * Identifier, copied from adr_id.
> @@ -87,9 +102,15 @@ struct autofs_daemon_done {
>  	 * Error number, possibly returned to userland.
>  	 */
>  	int		add_error;
> +
> +	/*
> +	 * Reserved for future use.
> +	 */
> +	int		add_spare[7];
>  };
> =20
>  #define	AUTOFSREQUEST	_IOR('I', 0x01, struct autofs_daemon_request)
> -#define	AUTOFSDONE	_IOW('I', 0x02, struct autofs_daemon_done)
> +#define	AUTOFSDONE101	_IOW('I', 0x02, struct autofs_daemon_done_101)
> +#define	AUTOFSDONE	_IOW('I', 0x03, struct autofs_daemon_done)
> =20
>  #endif /* !AUTOFS_IOCTL_H */
>=20


--=20
Regards,
Bryan Drewery


--hvAL1Kvs7R0oS14cdtKhSDoSC0AADtqkr
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBAgAGBQJU2jMSAAoJEDXXcbtuRpfPNCIIAK9eD/Eufk1wFHncLdi88FAk
rZ5lTGSRC0F9ZMnP59mYRpCu9RiYU76Ip+yjQgEE3Ly81/U7PvWROfuOZn6PMbNT
f421mNAzrW7EXT9teIfiVV/kS2oQ0cUf04fuWtwIl3sGf4UScw9/0jlI8W37QF8H
D71n+msaMwotwAzp1GEW0p7zoR/sGFUgk7dDzFYd5PTzMBLSlkFmdSg3HxT0BtJE
wxbHhRwxOSddwbrZkVThjXare2h1TlG3r0NhQ/NsU3EJAluFiQtcF5Piz6Nc1qLj
Z2/WSOaFZMipoaV6jaPZO8JiQ/+N0qNKrxvMxOZvNKULfbFuXudr0yImXQo4bPk=
=E0jk
-----END PGP SIGNATURE-----

--hvAL1Kvs7R0oS14cdtKhSDoSC0AADtqkr--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?54DA3312.8050709>