forked from Minki/linux
Changes since last update:
- don't allow swapon on files on the realtime device, because the swap code will swap pages out to blocks on the data device, thereby corrupting the filesystem -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABCgAGBQJZSzmHAAoJEPh/dxk0SrTroa4P/02EPljuA4pOhYlTrsrKyul4 7KnVg1AFk2uYlNbEcZjKJTkhMhvCqtENorAWawixezAbSeumft24DgPVmXxXEGRx f2ym8UiwEVSdTs2dlP/8HCgrrx3kgaF6H4tYnu4WQxkMkDfE6feTp0TcOsklW8R1 bR+V+Q9xSJ2WRji9mDBu++3jXKa1VlsOzCRDjnWI7E/ZHJ2n8y412qYxaOHPDvl2 g5AG7jOtB2D7nDEVtfuEdsuSIBHrUsZ/LWrpDlXMhTY7eJ5ipjvcs6RtMayufNdE H5ZeA8bKIJNcpR5Y0MvAb5lQNDA5wg4MTLWfQQ7jlvnI6qaysqWR13UhbfzRBHg8 YDUUWtuyvq+2/gy94VOn82xKTerD8l+KE+pdZUU99qZDsHVZ0FZ0A2IpSA0ZRdj+ xYm2WnzIqgMp5OD0Ef+QYzMr0043eBnD1+CDnG/JbHz/S1nqI4KdzH5t2ndMg9YS g4sl3qKEwR1ZHnECTu2Q9LWAtF5s8WBgVj3brDG9mdMZXwWYLyGKJDNZ6tsxwOzh Z2Pp+6Gs5KRqCt5Acok84KjcS7/XVM0a4w9KOjmlZxZ1K9R5abAePGOT+GEGFP4g qO2WOa+wHX2UlUQI+lYg60PFMCBtO41ewptx/1+ZluREyNE24aIRTQttRRdz2twA /kF8Uf8eGzPWkyP/uCH3 =qkCp -----END PGP SIGNATURE----- Merge tag 'xfs-4.12-fixes-5' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux Pull xfs fixes from Darrick Wong: "I have one more bugfix for you for 4.12-rc7 to fix a disk corruption problem: - don't allow swapon on files on the realtime device, because the swap code will swap pages out to blocks on the data device, thereby corrupting the filesystem" * tag 'xfs-4.12-fixes-5' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux: xfs: don't allow bmap on rt files
This commit is contained in:
commit
7b249bdc3d
@ -1316,9 +1316,12 @@ xfs_vm_bmap(
|
|||||||
* The swap code (ab-)uses ->bmap to get a block mapping and then
|
* The swap code (ab-)uses ->bmap to get a block mapping and then
|
||||||
* bypasseѕ the file system for actual I/O. We really can't allow
|
* bypasseѕ the file system for actual I/O. We really can't allow
|
||||||
* that on reflinks inodes, so we have to skip out here. And yes,
|
* that on reflinks inodes, so we have to skip out here. And yes,
|
||||||
* 0 is the magic code for a bmap error..
|
* 0 is the magic code for a bmap error.
|
||||||
|
*
|
||||||
|
* Since we don't pass back blockdev info, we can't return bmap
|
||||||
|
* information for rt files either.
|
||||||
*/
|
*/
|
||||||
if (xfs_is_reflink_inode(ip))
|
if (xfs_is_reflink_inode(ip) || XFS_IS_REALTIME_INODE(ip))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
filemap_write_and_wait(mapping);
|
filemap_write_and_wait(mapping);
|
||||||
|
Loading…
Reference in New Issue
Block a user