git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fedora kernel-2.6.17-1.2142_FC4 patched with stable patch-2.6.17.4-vs2.0.2-rc26.diff
[linux-2.6.git]
/
fs
/
autofs
/
dirhash.c
diff --git
a/fs/autofs/dirhash.c
b/fs/autofs/dirhash.c
index
448143f
..
3fded38
100644
(file)
--- a/
fs/autofs/dirhash.c
+++ b/
fs/autofs/dirhash.c
@@
-92,7
+92,7
@@
struct autofs_dir_ent *autofs_expire(struct super_block *sb,
;
dput(dentry);
;
dput(dentry);
- if ( may_umount(mnt)
== 0
) {
+ if ( may_umount(mnt) ) {
mntput(mnt);
DPRINTK(("autofs: signaling expire on %s\n", ent->name));
return ent; /* Expirable! */
mntput(mnt);
DPRINTK(("autofs: signaling expire on %s\n", ent->name));
return ent; /* Expirable! */
@@
-232,13
+232,13
@@
void autofs_hash_dputall(struct autofs_dirhash *dh)
/* Delete everything. This is used on filesystem destruction, so we
make no attempt to keep the pointers valid */
/* Delete everything. This is used on filesystem destruction, so we
make no attempt to keep the pointers valid */
-void autofs_hash_nuke(struct autofs_
dirhash *dh
)
+void autofs_hash_nuke(struct autofs_
sb_info *sbi
)
{
int i;
struct autofs_dir_ent *ent, *nent;
for ( i = 0 ; i < AUTOFS_HASH_SIZE ; i++ ) {
{
int i;
struct autofs_dir_ent *ent, *nent;
for ( i = 0 ; i < AUTOFS_HASH_SIZE ; i++ ) {
- for ( ent =
dh->
h[i] ; ent ; ent = nent ) {
+ for ( ent =
sbi->dirhash.
h[i] ; ent ; ent = nent ) {
nent = ent->next;
if ( ent->dentry )
dput(ent->dentry);
nent = ent->next;
if ( ent->dentry )
dput(ent->dentry);
@@
-246,4
+246,5
@@
void autofs_hash_nuke(struct autofs_dirhash *dh)
kfree(ent);
}
}
kfree(ent);
}
}
+ shrink_dcache_sb(sbi->sb);
}
}