majianpeng <majianpeng@xxxxxxxxx> writes: > When remove gendisk, set the size of inode of block_device to zero. > This is mainly let the vfs know disk removed. > > Signed-off-by: Jianpeng Ma <majianpeng@xxxxxxxxx> Reviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx> > --- > block/genhd.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/block/genhd.c b/block/genhd.c > index dadf42b..9a4c245 100644 > --- a/block/genhd.c > +++ b/block/genhd.c > @@ -1369,6 +1369,12 @@ int invalidate_partition(struct gendisk *disk, int partno) > if (bdev) { > fsync_bdev(bdev); > res = __invalidate_device(bdev, true); > + /* > + * When used buffer-mode on raw blockdevice,the disk removed. > + * But the vfs don't know.So tell the vfs size of disk > + * became zero, the buffer write can return > + */ > + i_size_write(bdev->bd_inode, 0); > bdput(bdev); > } > return res; -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html