[lkml]   [2001]   [Nov]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Patch in this message
SubjectRe: 2.4.15-pre9 breakage (inode.c)
On Fri, Nov 23, 2001 at 04:22:17PM -0500, Alexander Viro wrote:
> Sigh... Supposed fix to problems with stale inodes was completely
> broken.
> What we need is "if we are doing last iput() on fs that is getting
> shut, sync it and don't leave it in cache". And yes, we have a similar

What's this "stale inode" problem? invalidate_inodes in kill_super will
obviously get rid of all of them or we would be getting the
"selfdestructing in 5 seconds" message all the time.

I'm probably missing something, but actually to me it seems the patch in
pre9 plus this your further fix are completly superflous. And if you
mean that there's a race in the sync+invalidate_inode sequence (I didn't
checked) that should be serialized at the higher dcache/mnt layer,
without messing and slowing down all of the iput()s just for the unmount
case where the fsync+invalidate can be serialized by design at the mnt
layer without iput intervention. I actually believe this is the right
fix and it should work fine as far as anything <= 2.4.15pre8 was working
correctly. I'm going to release a 2.4.15aa1 with the below fix applied
(while waiting your comments of course, thanks!).

--- 2.4.15pre9aa1/fs/inode.c.~1~ Thu Nov 22 20:48:23 2001
+++ 2.4.15pre9aa1/fs/inode.c Sat Nov 24 06:30:20 2001
@@ -1071,7 +1071,7 @@
if (inode->i_state != I_CLEAR)
} else {
- if (!list_empty(&inode->i_hash) && sb && sb->s_root) {
+ if (!list_empty(&inode->i_hash)) {
if (!(inode->i_state & (I_DIRTY|I_LOCK))) {
list_add(&inode->i_list, &inode_unused);
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2005-03-22 13:13    [W:0.234 / U:0.108 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site