Re: safe_rename() and verifying the result of link(2)

2018-08-21 Thread Vincent Lefevre
On 2018-08-14 14:30:57 -0700, Kevin J. McCarthy wrote: > I think if the link() returns 0, it's safe for the code to assume all > went well. The Linux link(2) man page says: BUGS On NFS filesystems, the return code may be wrong in case the NFS server performs the link creation and dies b

Re: safe_rename() and verifying the result of link(2)

2018-08-21 Thread Kevin J. McCarthy
On Tue, Aug 21, 2018 at 11:30:03AM +0200, Vincent Lefevre wrote: > But as I understand it, this means that the link got created, but the > system thinks that it wasn't, and link() returns a non-zero value. > > So, I also think that if link() returns 0, then all went well. That was my reading too.

Re: safe_rename() and verifying the result of link(2)

2018-08-21 Thread Cameron Simpson
On 21Aug2018 07:07, Kevin J. McCarthy wrote: On Tue, Aug 21, 2018 at 11:30:03AM +0200, Vincent Lefevre wrote: But as I understand it, this means that the link got created, but the system thinks that it wasn't, and link() returns a non-zero value. So, I also think that if link() returns 0, then

Re: safe_rename() and verifying the result of link(2)

2018-08-21 Thread Kevin J. McCarthy
On Wed, Aug 22, 2018 at 07:13:21AM +1000, Cameron Simpson wrote: > On 21Aug2018 07:07, Kevin J. McCarthy wrote: > > On Tue, Aug 21, 2018 at 11:30:03AM +0200, Vincent Lefevre wrote: > > > But as I understand it, this means that the link got created, but the > > > system thinks that it wasn't, and l

Re: safe_rename() and verifying the result of link(2)

2018-08-21 Thread Vincent Lefevre
On 2018-08-21 07:07:15 -0700, Kevin J. McCarthy wrote: > I don't like removing 20-year old safety checks, but I think it's okay > to do so for the case where link() returns 0. I was also hesitant, but after thinking more about it: * That's an unusual "safety check" (I doubt other software does