Messages in this thread Patch in this message | | | From | Anton Altaparmakov <> | Subject | [PATCH 7/26] NTFS 2.1.22 - Bug and race fixes and improved error handling. | Date | Wed, 10 Nov 2004 13:44:36 +0000 |
| |
This is patch 7/26 in the series. It contains the following ChangeSet:
<aia21@cantab.net> (04/10/25 1.2026.1.23) NTFS: In fs/ntfs/aops.c::mark_ntfs_record_dirty(), take the mapping->private_lock around the dirtying of the buffer heads analagous to the way it is done in __set_page_dirty_buffers().
Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
Best regards,
Anton -- Anton Altaparmakov <aia21 at cam.ac.uk> (replace at with @) Unix Support, Computing Service, University of Cambridge, CB2 3QH, UK Linux NTFS maintainer / IRC: #ntfs on irc.freenode.net WWW: http://linux-ntfs.sf.net/, http://www-stu.christs.cam.ac.uk/~aia21/
===================================================================
diff -Nru a/fs/ntfs/ChangeLog b/fs/ntfs/ChangeLog --- a/fs/ntfs/ChangeLog 2004-11-10 13:44:40 +00:00 +++ b/fs/ntfs/ChangeLog 2004-11-10 13:44:40 +00:00 @@ -35,6 +35,9 @@ ntfs_attr_size_bounds_check(), ntfs_attr_can_be_non_resident(), and ntfs_attr_can_be_resident(), which in turn use the new private helper ntfs_attr_find_in_attrdef(). + - In fs/ntfs/aops.c::mark_ntfs_record_dirty(), take the + mapping->private_lock around the dirtying of the buffer heads + analagous to the way it is done in __set_page_dirty_buffers(). 2.1.21 - Fix some races and bugs, rewrite mft write code, add mft allocator. diff -Nru a/fs/ntfs/aops.c b/fs/ntfs/aops.c --- a/fs/ntfs/aops.c 2004-11-10 13:44:40 +00:00 +++ b/fs/ntfs/aops.c 2004-11-10 13:44:40 +00:00 @@ -2158,6 +2158,7 @@ } end = ofs + ni->itype.index.block_size; bh_size = ni->vol->sb->s_blocksize; + spin_lock(&page->mapping->private_lock); bh = head = page_buffers(page); do { bh_ofs = bh_offset(bh); @@ -2167,6 +2168,7 @@ break; set_buffer_dirty(bh); } while ((bh = bh->b_this_page) != head); + spin_unlock(&page->mapping->private_lock); __set_page_dirty_nobuffers(page); } - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |