NTFS: 2.1.28 - Fix deadlock reported by Sergey Vlasov due to ntfs_put_inode().
- Fix deadlock in fs/ntfs/inode.c::ntfs_put_inode(). Thanks to Sergey Vlasov for the report and detailed analysis of the deadlock. The fix involved getting rid of ntfs_put_inode() altogether and hence NTFS no longer has a ->put_inode super operation. Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* super.c - NTFS kernel super block handling. Part of the Linux-NTFS project.
|
||||
*
|
||||
* Copyright (c) 2001-2006 Anton Altaparmakov
|
||||
* Copyright (c) 2001-2007 Anton Altaparmakov
|
||||
* Copyright (c) 2001,2002 Richard Russon
|
||||
*
|
||||
* This program/include file is free software; you can redistribute it and/or
|
||||
@@ -2702,9 +2702,6 @@ static int ntfs_statfs(struct dentry *dentry, struct kstatfs *sfs)
|
||||
static struct super_operations ntfs_sops = {
|
||||
.alloc_inode = ntfs_alloc_big_inode, /* VFS: Allocate new inode. */
|
||||
.destroy_inode = ntfs_destroy_big_inode, /* VFS: Deallocate inode. */
|
||||
.put_inode = ntfs_put_inode, /* VFS: Called just before
|
||||
the inode reference count
|
||||
is decreased. */
|
||||
#ifdef NTFS_RW
|
||||
//.dirty_inode = NULL, /* VFS: Called from
|
||||
// __mark_inode_dirty(). */
|
||||
@@ -3261,7 +3258,7 @@ static void __exit exit_ntfs_fs(void)
|
||||
}
|
||||
|
||||
MODULE_AUTHOR("Anton Altaparmakov <aia21@cantab.net>");
|
||||
MODULE_DESCRIPTION("NTFS 1.2/3.x driver - Copyright (c) 2001-2006 Anton Altaparmakov");
|
||||
MODULE_DESCRIPTION("NTFS 1.2/3.x driver - Copyright (c) 2001-2007 Anton Altaparmakov");
|
||||
MODULE_VERSION(NTFS_VERSION);
|
||||
MODULE_LICENSE("GPL");
|
||||
#ifdef DEBUG
|
||||
|
Reference in New Issue
Block a user