Source-Changes-D archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: CVS commit: src/sys/ufs/lfs
On Sat, Dec 18, 2010 at 12:01:46AM +0000, 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
dholland%netbsd.org@localhost
Home |
Main Index |
Thread Index |
Old Index