Skip to content

Commit 881494e

Browse files
author
Al Viro
committed
blk_ioctl_{discard,zeroout}(): we only want ->bd_inode->i_mapping here...
Signed-off-by: Al Viro <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Christian Brauner <[email protected]>
1 parent 22f89a4 commit 881494e

File tree

1 file changed

+4
-6
lines changed

1 file changed

+4
-6
lines changed

block/ioctl.c

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,6 @@ static int blk_ioctl_discard(struct block_device *bdev, blk_mode_t mode,
9797
{
9898
uint64_t range[2];
9999
uint64_t start, len, end;
100-
struct inode *inode = bdev->bd_inode;
101100
int err;
102101

103102
if (!(mode & BLK_OPEN_WRITE))
@@ -121,13 +120,13 @@ static int blk_ioctl_discard(struct block_device *bdev, blk_mode_t mode,
121120
end > bdev_nr_bytes(bdev))
122121
return -EINVAL;
123122

124-
filemap_invalidate_lock(inode->i_mapping);
123+
filemap_invalidate_lock(bdev->bd_mapping);
125124
err = truncate_bdev_range(bdev, mode, start, start + len - 1);
126125
if (err)
127126
goto fail;
128127
err = blkdev_issue_discard(bdev, start >> 9, len >> 9, GFP_KERNEL);
129128
fail:
130-
filemap_invalidate_unlock(inode->i_mapping);
129+
filemap_invalidate_unlock(bdev->bd_mapping);
131130
return err;
132131
}
133132

@@ -167,7 +166,6 @@ static int blk_ioctl_zeroout(struct block_device *bdev, blk_mode_t mode,
167166
{
168167
uint64_t range[2];
169168
uint64_t start, end, len;
170-
struct inode *inode = bdev->bd_inode;
171169
int err;
172170

173171
if (!(mode & BLK_OPEN_WRITE))
@@ -190,7 +188,7 @@ static int blk_ioctl_zeroout(struct block_device *bdev, blk_mode_t mode,
190188
return -EINVAL;
191189

192190
/* Invalidate the page cache, including dirty pages */
193-
filemap_invalidate_lock(inode->i_mapping);
191+
filemap_invalidate_lock(bdev->bd_mapping);
194192
err = truncate_bdev_range(bdev, mode, start, end);
195193
if (err)
196194
goto fail;
@@ -199,7 +197,7 @@ static int blk_ioctl_zeroout(struct block_device *bdev, blk_mode_t mode,
199197
BLKDEV_ZERO_NOUNMAP);
200198

201199
fail:
202-
filemap_invalidate_unlock(inode->i_mapping);
200+
filemap_invalidate_unlock(bdev->bd_mapping);
203201
return err;
204202
}
205203

0 commit comments

Comments
 (0)