@@ -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 );
129128fail :
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
201199fail :
202- filemap_invalidate_unlock (inode -> i_mapping );
200+ filemap_invalidate_unlock (bdev -> bd_mapping );
203201 return err ;
204202}
205203
0 commit comments