lkml.org 
[lkml]   [2010]   [Apr]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: 2.6.33.3-rt16 Oops caused by umount
On Wed, 28 Apr 2010, Xianghua Xiao wrote:
> Just tried the patch, still got umount hang, please see below.

Can you please apply the patch below and provide the debug output ?

Thanks,

tglx
---
fs/file_table.c | 22 +++++++++++++++++++++-
1 file changed, 21 insertions(+), 1 deletion(-)
Index: linux-2.6-tip/fs/file_table.c
===================================================================
--- linux-2.6-tip.orig/fs/file_table.c
+++ linux-2.6-tip/fs/file_table.c
@@ -410,7 +410,27 @@ int fs_may_remount_ro(struct super_block
list = &sb->s_files;
#endif
list_for_each_entry(file, list, f_u.fu_list) {
- struct inode *inode = file->f_path.dentry->d_inode;
+ struct inode *inode;
+
+ if (!file->f_path) {
+ printk(KERN_ERR "file %p fpath == NULL\n",
+ file);
+ continue;
+ }
+
+ if (!file->f_path.dentry) {
+ printk(KERN_ERR "file %p dentry == NULL\n",
+ file);
+ continue;
+ }
+
+ if (!file->f_path.dentry->d_inode) {
+ printk(KERN_ERR "file %p d_inode == NULL\n",
+ file);
+ continue;
+ }
+
+ inode = file->f_path.dentry->d_inode;

/* File with pending delete? */
if (inode->i_nlink == 0)

\
 
 \ /
  Last update: 2010-04-28 18:37    [from the cache]
©2003-2011 Jasper Spaans