From: Junio C Hamano Date: Wed, 15 Apr 2015 18:35:06 GMT Subject: Re: [PATCH 3/3] refs.c: remove lock_fd from struct ref_lock Message-ID: In-Reply-To: <552E2608.7020104@alum.mit.edu> Michael Haggerty writes: > This whole series LGTM; however, I suggest that this patch be split up. > See below. > >> Signed-off-by: Stefan Beller >> Signed-off-by: Junio C Hamano >> --- >> refs.c | 16 ++++++---------- >> 1 file changed, 6 insertions(+), 10 deletions(-) >> >> diff --git a/refs.c b/refs.c >> index 14e52ca..4066752 100644 >> --- a/refs.c >> +++ b/refs.c >> [...] >> @@ -2335,8 +2333,8 @@ static struct ref_lock *lock_ref_sha1_basic(const char *refname, >> goto error_return; >> } >> >> - lock->lock_fd = hold_lock_file_for_update(lock->lk, ref_file, lflags); >> - if (lock->lock_fd < 0) { >> + if (hold_lock_file_for_update(lock->lk, ref_file, lflags) < 0) { >> + last_errno = errno; >> if (errno == ENOENT && --attempts_remaining > 0) >> /* >> * Maybe somebody just deleted one of the >> [...] > > Here you add the line "last_errno = errno". It is a good change, but it > is not part of removing ref_lock::lock_fd. I think this patch came from an ancient codebase before 06839515 (lock_ref_sha1_basic: do not die on locking errors, 2014-11-19), which added the "last_errno = errno", and was not rebased to match more recent codebase. I am planning to apply these on top of v2.4.0-rc, so there will be no new "save to last_errno" in the end. Thanks.