mirror of https://gitee.com/openkylin/linux.git
ufs: fix reserved blocks check
a) honour ->s_minfree; don't just go with default (5) b) don't bother with capability checks until we know we'll need them Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
fffd70f588
commit
b451cec4bb
|
@ -400,10 +400,12 @@ u64 ufs_new_fragments(struct inode *inode, void *p, u64 fragment,
|
|||
/*
|
||||
* There is not enough space for user on the device
|
||||
*/
|
||||
if (!capable(CAP_SYS_RESOURCE) && ufs_freespace(uspi, UFS_MINFREE) <= 0) {
|
||||
mutex_unlock(&UFS_SB(sb)->s_lock);
|
||||
UFSD("EXIT (FAILED)\n");
|
||||
return 0;
|
||||
if (unlikely(ufs_freespace(uspi, uspi->s_minfree) <= 0)) {
|
||||
if (!capable(CAP_SYS_RESOURCE)) {
|
||||
mutex_unlock(&UFS_SB(sb)->s_lock);
|
||||
UFSD("EXIT (FAILED)\n");
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (goal >= uspi->s_size)
|
||||
|
|
Loading…
Reference in New Issue