diff options
Diffstat (limited to 'fs/afs/callback.c')
-rw-r--r-- | fs/afs/callback.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/fs/afs/callback.c b/fs/afs/callback.c index 611215547142..e674bebbb8b1 100644 --- a/fs/afs/callback.c +++ b/fs/afs/callback.c | |||
@@ -72,7 +72,10 @@ void afs_broken_callback_work(struct work_struct *work) | |||
72 | return; /* someone else is dealing with it */ | 72 | return; /* someone else is dealing with it */ |
73 | 73 | ||
74 | if (test_bit(AFS_VNODE_CB_BROKEN, &vnode->flags)) { | 74 | if (test_bit(AFS_VNODE_CB_BROKEN, &vnode->flags)) { |
75 | if (afs_vnode_fetch_status(vnode) < 0) | 75 | if (S_ISDIR(vnode->vfs_inode.i_mode)) |
76 | afs_clear_permits(vnode); | ||
77 | |||
78 | if (afs_vnode_fetch_status(vnode, NULL, NULL) < 0) | ||
76 | goto out; | 79 | goto out; |
77 | 80 | ||
78 | if (test_bit(AFS_VNODE_DELETED, &vnode->flags)) | 81 | if (test_bit(AFS_VNODE_DELETED, &vnode->flags)) |