Re: CVS commit: src/lib/libc/time

2010-12-18 Thread Antti Kantee
On Fri Dec 17 2010 at 18:11:57 -0500, Christos Zoulas wrote:
 Module Name:  src
 Committed By: christos
 Date: Fri Dec 17 23:11:57 UTC 2010
 
 Modified Files:
   src/lib/libc/time: localtime.c
 
 Log Message:
 PR/44248: Antti Kantee: Fix multi-threaded localtime hang.

Please remember to mirror this in the test mentioned in the PR.

-- 
älä karot toivorikkauttas, kyl rätei ja lumpui piisaa


Re: CVS commit: src/sys/kern

2010-12-18 Thread Antti Kantee
On Fri Dec 17 2010 at 22:34:04 +, YAMAMOTO Takashi wrote:
 Module Name:  src
 Committed By: yamt
 Date: Fri Dec 17 22:34:04 UTC 2010
 
 Modified Files:
   src/sys/kern: vfs_lookup.c
 
 Log Message:
 - lookup_once: when crossing a mount point, don't keep the parent vnode 
 locked.
   ie. don't lock a vnode while holding another vnode which belongs to a
   different filesystem.  otherwise we propagate slowness (or deadness) of a
   filesystem to another via vnode lock chain.
 - lookup_parsepath: don't alter vnode states.  let the caller do it instead.
 - add comments and assertions.

Hi, this breaks the state-dp != ndp-ni_dvp invariant in at least 3
places in vfs_lookup.c:

http://www.gson.org/netbsd/bugs/build/build/2010.12.18.09.26.57/test.html#failed-tcs-summary

Can you have a look?

-- 
älä karot toivorikkauttas, kyl rätei ja lumpui piisaa


Re: CVS commit: src/lib/libc/time

2010-12-18 Thread Jukka Ruohonen
 On Fri Dec 17 2010 at 18:11:57 -0500, Christos Zoulas wrote:
  Module Name:src
  Committed By:   christos
  Date:   Fri Dec 17 23:11:57 UTC 2010
  
  Modified Files:
  src/lib/libc/time: localtime.c
  
  Log Message:
  PR/44248: Antti Kantee: Fix multi-threaded localtime hang.

Confirmed to be fixed. Thanks.

- Jukka.


Re: CVS commit: src/sys/ufs/lfs

2010-12-18 Thread David Holland
On Sat, Dec 18, 2010 at 12:01:46AM +, Eduardo Horvath wrote:
  Modified Files:
   src/sys/ufs/lfs: lfs_vnops.c
  
  Log Message:
  Byebye deadlock.

What lock is supposed to protect ip-i_flags? A quick survey of
related code suggests that it's supposed to be lfs_lock.

...However, it looks as if that and quite a few other uses of
ip-i_flags ought to be ip-i_flag instead. ip-i_flags holds the
chflags() flags; the inode state flags are supposed to be in
ip-i_flag.

It looks as if all uses of IN_PAGING use ip-i_flags, so it's at least
consistent, but it's wrong. There's also one reference to IN_CLEANING
in ip-i_flags, which has no chance of ever working.

Using lfs_lock to protect either of these isn't consistent with the
ufs code though, AFAIK, so I don't think it's really safe
regardless...

(The existence of i_flag and i_flags members in the same structure
seems to date to the ffsv2 import, but it's sort of been this way via
macros since 4.4. Definitely brickworthy.)

-- 
David A. Holland
dholl...@netbsd.org