Darrick J. Wong
aafe12cee0
xfs: don't trip over negative free space in xfs_reserve_blocks
...
If we somehow end up with a filesystem that has fewer free blocks than
the blocks set aside to avoid ENOSPC deadlocks, it's possible that the
free space calculation in xfs_reserve_blocks will spit out a negative
number (because percpu_counter_sum returns s64). We fail to notice
this negative number and set fdblks_delta to it. Now we increment
fdblocks(!) and the unsigned type of m_resblks means that we end up
setting a ridiculously huge m_resblks reservation.
Avoid this comedy of errors by detecting the negative free space and
returning -ENOSPC.
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Allison Henderson <allison.henderson@oracle.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2018-06-24 11:56:36 -07:00
..
2018-06-21 23:25:57 -07:00
2018-06-08 10:07:51 -07:00
2018-05-15 18:12:50 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-08 10:07:51 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-12 15:49:00 -07:00
2018-06-12 15:49:00 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-21 23:24:38 -07:00
2018-06-06 14:17:53 -07:00
2018-06-08 10:07:52 -07:00
2018-06-06 14:17:53 -07:00
2018-06-08 10:07:51 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2017-11-02 11:10:55 +01:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-12 15:49:00 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-24 11:56:36 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-21 23:31:38 -07:00
2018-06-12 15:49:00 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-12 15:49:00 -07:00
2018-06-06 14:17:53 -07:00
2018-06-08 10:07:52 -07:00
2018-06-08 10:07:52 -07:00
2018-06-15 07:31:07 +09:00
2018-06-06 14:17:53 -07:00
2018-06-08 10:07:52 -07:00
2018-06-06 14:17:53 -07:00
2018-06-08 10:07:52 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-08 10:07:52 -07:00
2018-06-08 10:07:52 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2017-11-02 11:10:55 +01:00
2018-06-06 14:17:53 -07:00
2018-06-08 10:07:52 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-05-22 07:19:08 -07:00
2018-05-22 07:19:08 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-08 10:07:52 -07:00
2018-06-06 14:17:53 -07:00
2018-06-12 15:49:00 -07:00
2018-06-06 14:17:53 -07:00
2018-06-12 15:49:00 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-15 07:31:07 +09:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-24 11:56:35 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00
2018-06-06 14:17:53 -07:00