Fix rounding error in gfs2_iomap_page_prepare
-----BEGIN PGP SIGNATURE----- iQIbBAABAgAGBQJdA9AdAAoJENW/n+sDE2U67xgP+PnBqsdJpFVfodQyu+AEHdxJ et2nZmcsQGRXj5iha7lWI6Mu0x/7q9FOCS1I0aZDwcHn1A0R5R/xulKcnl6ySjrp bd6GnehP1KicufykAPr5lGHmiIIp/SdIDe7z6XUkV1Eksl6ls8WTWi+JEsP7uDjw TGQ6GTOziRUKHshuEkvvYfA3OhbebNzP1FjgPr6keg7PFeLAaiUWKxlTYj9Vov8F 4YnOsdfFEFpiJy8w5N/Ggfmp1fbY+uyzoS70Xe+y7XTdkX57fPnzlCxLsji7PgAp AN38cpUHib46Ng8YyGfdB2wzJ5BAauYLy7zYGLiNdHXFvwkm4bP2CyeALyhG/Jg7 HOBJ1owekaBV/o96NgyuJTfv65zdV0su7s24YBVJlY+aUOkZWJb2N4quyv/WyiTY Ds1xR4Uql6WOBt6fb4Ady+4lD0j01k5YMk56fcmHlykldVYXXeJXksS/0MxKBR5T qGWPHpldVXK6TZhRo8SkS/H2h6CdqevwxECa2YMrnWFVaioTo5jBtO6l5Nn7z0Ni qaELyzFdhDlnq8ywvmo1zBPT2NjF4m0XQkEiy5P1RvkxSq500zvOEVVCx8vXICY7 TwUpCSRP5Tu9P9LurvgTf/Pltsf0pApKyYRIC4hu8/6jNxum1Rq0JZW2JepNDSJH qnQPowGLnhAJDWIfIPU= =Z7P5 -----END PGP SIGNATURE----- Merge tag 'gfs2-v5.2.fixes2' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2 Pull gfs2 fix from Andreas Gruenbacher: "Fix rounding error in gfs2_iomap_page_prepare" * tag 'gfs2-v5.2.fixes2' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2: gfs2: Fix rounding error in gfs2_iomap_page_prepare
This commit is contained in:
commit
4066524401
|
@ -991,9 +991,12 @@ static void gfs2_write_unlock(struct inode *inode)
|
|||
static int gfs2_iomap_page_prepare(struct inode *inode, loff_t pos,
|
||||
unsigned len, struct iomap *iomap)
|
||||
{
|
||||
unsigned int blockmask = i_blocksize(inode) - 1;
|
||||
struct gfs2_sbd *sdp = GFS2_SB(inode);
|
||||
unsigned int blocks;
|
||||
|
||||
return gfs2_trans_begin(sdp, RES_DINODE + (len >> inode->i_blkbits), 0);
|
||||
blocks = ((pos & blockmask) + len + blockmask) >> inode->i_blkbits;
|
||||
return gfs2_trans_begin(sdp, RES_DINODE + blocks, 0);
|
||||
}
|
||||
|
||||
static void gfs2_iomap_page_done(struct inode *inode, loff_t pos,
|
||||
|
|
Loading…
Reference in a new issue