Messages in this thread | | | Date | Wed, 2 Nov 2011 11:19:03 -0400 | From | Ted Ts'o <> | Subject | Re: [PATCH] mm: Improve cmtime update on shared writable mmaps |
| |
On Wed, Nov 02, 2011 at 04:02:00PM +0100, Jan Kara wrote: > That's a good question. Locking of i_flags was always kind of unclear to > me. They are certainly read without any locks and in the couple of places > where setting can actually race VFS uses i_mutex for serialization which is > kind of overkill (and unusable from page fault due to locking constraints). > Probably using atomic bitops for setting i_flags would be needed.
Adding a set of inode_{test,set,clear}_flag() inline functions, and then converting accesses of i_flags to use them would be a great cleanup task. It's been on my mental todo list for a while, but it's a pretty invasive change. What we have right now is definitely racy, though, and we only get away with it because i_flags changes happen relatively rarely. Fixing this would be definitely be a Good Thing.
- Ted
| |