Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 16 Dec 2007 11:35:43 -0500
From:      Alexander Kabaev <kabaev@gmail.com>
To:        Diomidis Spinellis <dds@FreeBSD.org>
Cc:        cvs-src@FreeBSD.org, src-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/bin/mv mv.c
Message-ID:  <20071216113543.2c16de3e@kan.dnsalias.net>
In-Reply-To: <200712161414.lBGEEV3O050572@repoman.freebsd.org>
References:  <200712161414.lBGEEV3O050572@repoman.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
--Sig_/HG.+BC44WnNQ_BOv65=uDuU
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

On Sun, 16 Dec 2007 14:14:31 +0000 (UTC)
Diomidis Spinellis <dds@FreeBSD.org> wrote:

> dds         2007-12-16 14:14:31 UTC
>=20
>   FreeBSD src repository
>=20
>   Modified files:
>     bin/mv               mv.c=20
>   Log:
>   When moving a directory across devices to a place where a directory
>   with the same name exists, delete that directory first, before
> performing the copy.  This ensures that mv(1) across devices follows
> the semantics of rename(2), as required by POSIX.
>  =20
>   This change could introduce the potential of data loss, even if the
>   copy fails, violating the atomicity properties of rename(2).  This
> is (mostly) mitigated by first renaming the destination and
> obliterating it only after a succesfull copy.
>  =20
>   The above logic also led to the introduction of code that will
> cleanup the results of a partial copy, if a cross-device copy fails.
>  =20
>   PR:             bin/118367
>   MFC after:      1 month
>  =20
>   Revision  Changes    Path
>   1.47      +83 -23    src/bin/mv/mv.c
>=20
> http://cvsweb.FreeBSD.org/src/bin/mv/mv.c.diff?r1=3D1.46&r2=3D1.47

This breaks make buildworld on amd64 at least:


/usr/src/bin/mv/mv.c: In function 'copy': /usr/src/bin/mv/mv.c:361:
warning: variable 'rval' might be clobbered by 'longjmp' or 'vfork'
/usr/src/bin/mv/mv.c:361: warning:variable 'i' might be clobbered by
'longjmp' or 'vfork'

--=20
Alexander Kabaev

--Sig_/HG.+BC44WnNQ_BOv65=uDuU
Content-Type: application/pgp-signature; name=signature.asc
Content-Disposition: attachment; filename=signature.asc

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (FreeBSD)

iD8DBQFHZVPfQ6z1jMm+XZYRAmT/AJoDgxLME2TUqy/9iwVXZ2CsAAPaKACeIphH
wnKRwo2NItEmEVRjiXKS94k=
=poSF
-----END PGP SIGNATURE-----

--Sig_/HG.+BC44WnNQ_BOv65=uDuU--



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