diff options
Diffstat (limited to 'fs/coda')
-rw-r--r-- | fs/coda/cache.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/coda/cache.c b/fs/coda/cache.c index 9060f08e70cf..859393fca2b7 100644 --- a/fs/coda/cache.c +++ b/fs/coda/cache.c | |||
@@ -94,6 +94,7 @@ static void coda_flag_children(struct dentry *parent, int flag) | |||
94 | struct dentry *de; | 94 | struct dentry *de; |
95 | 95 | ||
96 | spin_lock(&dcache_lock); | 96 | spin_lock(&dcache_lock); |
97 | spin_lock(&parent->d_lock); | ||
97 | list_for_each(child, &parent->d_subdirs) | 98 | list_for_each(child, &parent->d_subdirs) |
98 | { | 99 | { |
99 | de = list_entry(child, struct dentry, d_u.d_child); | 100 | de = list_entry(child, struct dentry, d_u.d_child); |
@@ -102,6 +103,7 @@ static void coda_flag_children(struct dentry *parent, int flag) | |||
102 | continue; | 103 | continue; |
103 | coda_flag_inode(de->d_inode, flag); | 104 | coda_flag_inode(de->d_inode, flag); |
104 | } | 105 | } |
106 | spin_unlock(&parent->d_lock); | ||
105 | spin_unlock(&dcache_lock); | 107 | spin_unlock(&dcache_lock); |
106 | return; | 108 | return; |
107 | } | 109 | } |