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>