Re: 2.6.13-rc6 ntfs oops

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On Mon, 2005-08-15 at 21:50 +0100, Anton Altaparmakov wrote:
> On Mon, 15 Aug 2005, [ISO-8859-2] Martin MOKREJ© wrote:
> >   I was just copying some data from ntfs partition to xfs and I got the following:
> > Does someone need more info? Briefly, no SMP but HIGHMEm 4GB, i686 P4 machine, 32bit.
> 
> Yes, please.  Could you do (assuming your built kernel sources are in 
> /usr/src/linux-2.6.13-rc6):
> 
> cd /usr/src/linux-2.6.13-rc6/drivers/block
> 
> objdump -Sl ll_rw_blk.o | sed -e '0,/generic_make_request/d' |
> sed -e '350,$d' | bzip2 -9 - > lrw.bz2
> 
> And then email me the file lrw.bz2?  Thanks!

Thanks a lot for sending me the file!  It allowed me to find the bug in
less than 60 seconds.  (-8

You can apply the below patch to fix it.  I will be submitting to Linus
ASAP so it gets in before 2.6.13 is released.

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/

[PATCH] NTFS: Fix bug in mft record writing where we forgot to set the device in
      the buffers when mapping them after the VM had discarded them.
      Thanks to Martin MOKREJŠ for the bug report.

Signed-off-by: Anton Altaparmakov <[email protected]>
---

 fs/ntfs/ChangeLog |    3 +++
 fs/ntfs/mft.c     |    2 ++
 2 files changed, 5 insertions(+), 0 deletions(-)

e74589ac250e463973361774a90fee2c9d71da02
diff --git a/fs/ntfs/ChangeLog b/fs/ntfs/ChangeLog
--- a/fs/ntfs/ChangeLog
+++ b/fs/ntfs/ChangeLog
@@ -174,6 +174,9 @@ ToDo/Notes:
 	  fact that the vfs and ntfs inodes are one struct in memory to find
 	  the ntfs inode in memory if present.  Also, the ntfs inode has its
 	  own locking so it does not matter if the vfs inode is locked.
+	- Fix bug in mft record writing where we forgot to set the device in
+	  the buffers when mapping them after the VM had discarded them
+	  Thanks to Martin MOKREJŠ for the bug report.
 
 2.1.22 - Many bug and race fixes and error handling improvements.
 
diff --git a/fs/ntfs/mft.c b/fs/ntfs/mft.c
--- a/fs/ntfs/mft.c
+++ b/fs/ntfs/mft.c
@@ -533,6 +533,7 @@ int ntfs_sync_mft_mirror(ntfs_volume *vo
 			LCN lcn;
 			unsigned int vcn_ofs;
 
+			bh->b_bdev = vol->sb->s_bdev;
 			/* Obtain the vcn and offset of the current block. */
 			vcn = ((VCN)mft_no << vol->mft_record_size_bits) +
 					(block_start - m_start);
@@ -725,6 +726,7 @@ int write_mft_record_nolock(ntfs_inode *
 			LCN lcn;
 			unsigned int vcn_ofs;
 
+			bh->b_bdev = vol->sb->s_bdev;
 			/* Obtain the vcn and offset of the current block. */
 			vcn = ((VCN)ni->mft_no << vol->mft_record_size_bits) +
 					(block_start - m_start);



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]
  Powered by Linux