mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-11 08:18:47 +00:00
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:
parent
3cdcf63ed2
commit
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;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user