Unverified Commit b3e04872 authored by Konstantin Komarov's avatar Konstantin Komarov
Browse files

fs/ntfs3: Make ntfs_fallocate return -ENOSPC instead of -EFBIG



In some cases we need to return ENOSPC
Fixes xfstest generic/213
Fixes: 11434697 ("fs/ntfs3: Check new size for limits")

Signed-off-by: default avatarKonstantin Komarov <almaz.alexandrovich@paragon-software.com>
parent c1e0ab37
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -671,6 +671,19 @@ static long ntfs_fallocate(struct file *file, int mode, loff_t vbo, loff_t len)
		ni_unlock(ni);
	} else {
		/* Check new size. */

		/* generic/213: expected -ENOSPC instead of -EFBIG. */
		if (!is_supported_holes) {
			loff_t to_alloc = new_size - inode_get_bytes(inode);

			if (to_alloc > 0 &&
			    (to_alloc >> sbi->cluster_bits) >
				    wnd_zeroes(&sbi->used.bitmap)) {
				err = -ENOSPC;
				goto out;
			}
		}

		err = inode_newsize_ok(inode, new_size);
		if (err)
			goto out;