From 09a3c5ffaf38bf21c44bc74018812cdb4ada4eb1 Mon Sep 17 00:00:00 2001 From: Chris Wright Date: Tue, 13 Sep 2005 09:52:27 -0700 Subject: [PATCH] Add jfs_delete_inode Oops fix, fwd from Chuck Ebbert: I'm submitting this patch for -stable: - it reportedly fixes an oops - it's already in 2.6.13-git --- ...s_delete_inode-must-call-clear_inode.patch | 61 +++++++++++++++++++ queue/series | 1 + 2 files changed, 62 insertions(+) create mode 100644 queue/jfs_delete_inode-must-call-clear_inode.patch diff --git a/queue/jfs_delete_inode-must-call-clear_inode.patch b/queue/jfs_delete_inode-must-call-clear_inode.patch new file mode 100644 index 00000000000..fa0e36f5182 --- /dev/null +++ b/queue/jfs_delete_inode-must-call-clear_inode.patch @@ -0,0 +1,61 @@ +From stable-bounces@linux.kernel.org Tue Sep 13 01:19:12 2005 +Date: Tue, 13 Sep 2005 04:16:09 -0400 +From: Chuck Ebbert <76306.1226@compuserve.com> +To: linux-stable +Cc: Dave Kleikamp +Subject: jfs: jfs_delete_inode must call clear_inode + +From: Dave Kleikamp + +JFS: jfs_delete_inode should always call clear_inode. + +> From Chuck Ebbert: +I'm submitting this patch for -stable: + + - it reportedly fixes an oops + - it's already in 2.6.13-git + +Signed-off-by: Dave Kleikamp +Signed-off-by: Chris Wright +--- + fs/jfs/inode.c | 24 ++++++++++++------------ + 1 files changed, 12 insertions(+), 12 deletions(-) + +Index: linux-2.6.13.y/fs/jfs/inode.c +=================================================================== +--- linux-2.6.13.y.orig/fs/jfs/inode.c ++++ linux-2.6.13.y/fs/jfs/inode.c +@@ -128,21 +128,21 @@ void jfs_delete_inode(struct inode *inod + { + jfs_info("In jfs_delete_inode, inode = 0x%p", inode); + +- if (is_bad_inode(inode) || +- (JFS_IP(inode)->fileset != cpu_to_le32(FILESYSTEM_I))) +- return; ++ if (!is_bad_inode(inode) && ++ (JFS_IP(inode)->fileset == cpu_to_le32(FILESYSTEM_I))) { + +- if (test_cflag(COMMIT_Freewmap, inode)) +- jfs_free_zero_link(inode); ++ if (test_cflag(COMMIT_Freewmap, inode)) ++ jfs_free_zero_link(inode); + +- diFree(inode); ++ diFree(inode); + +- /* +- * Free the inode from the quota allocation. +- */ +- DQUOT_INIT(inode); +- DQUOT_FREE_INODE(inode); +- DQUOT_DROP(inode); ++ /* ++ * Free the inode from the quota allocation. ++ */ ++ DQUOT_INIT(inode); ++ DQUOT_FREE_INODE(inode); ++ DQUOT_DROP(inode); ++ } + + clear_inode(inode); + } diff --git a/queue/series b/queue/series index 868badb0d68..130574a4970 100644 --- a/queue/series +++ b/queue/series @@ -3,3 +3,4 @@ hpt366-write-dword-not-byte-for-ROM-resource.patch sungem-enable-and-map-pci-rom-properly.patch sunhme-enable-and-map-pci-rom-properly.patch netfilter-fix-dhcp-masquerade-problem.patch +jfs_delete_inode-must-call-clear_inode.patch -- 2.47.3