GFS2: gfs2_dir_get_hash_table(): avoiding deferred vfree() is easy here...
vfree() is allowed under spinlock these days, but it's cheaper when it doesn't step into deferred case and here it's very easy to avoid. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
This commit is contained in:

committad av
Steven Whitehouse

förälder
3cdcf63ed2
incheckning
9265f1d0c7
@@ -370,11 +370,12 @@ static __be64 *gfs2_dir_get_hash_table(struct gfs2_inode *ip)
|
||||
}
|
||||
|
||||
spin_lock(&inode->i_lock);
|
||||
if (ip->i_hash_cache)
|
||||
kvfree(hc);
|
||||
else
|
||||
if (likely(!ip->i_hash_cache)) {
|
||||
ip->i_hash_cache = hc;
|
||||
hc = NULL;
|
||||
}
|
||||
spin_unlock(&inode->i_lock);
|
||||
kvfree(hc);
|
||||
|
||||
return ip->i_hash_cache;
|
||||
}
|
||||
|
Referens i nytt ärende
Block a user