Re: regression on BLKRRPART ioctl for EIO

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,
Is there advice on how to fix this `blockdev --rereadpt` regression in
the kernel?
Would appreciate some advice.

Thanks,
Saranya


On Mon, Feb 12, 2024 at 8:01 PM Saranya Muruganandam
<saranyamohan@xxxxxxxxxx> wrote:
>
> When we fail to read from the disk, BLKRRPART used to be able to
> capture and bubble this up to the caller.
> It no longer does since we no longer capture the error from bdev_disk_changed.
>
> Here is an example with fault-injection:
>
> # echo 0 > /sys/kernel/debug/fail_make_request/interval
> # echo 100 > /sys/kernel/debug/fail_make_request/probability
> # echo -1 > /sys/kernel/debug/fail_make_request/times
> # echo 1 > /sys/block/sdc/make-it-fail
> # blockdev --rereadpt /dev/sdc # no error
> # echo $?
> 0 # incorrectly reports success.
>
> Whereas fdisk and sfdisk correctly report the issue :
>
> # sfdisk /dev/sdc
> sfdisk: cannot open /dev/sdc: Input/output error
> # fdisk /dev/sdc
>
> Welcome to fdisk (util-linux 2.28.2).
> Changes will remain in memory only, until you decide to write them.
> Be careful before using the write command.
>
> fdisk: cannot open /dev/sdc: Input/output error
>
> Best,
> Saranya
>
>
>
> On Mon, Feb 12, 2024 at 8:00 PM Saranya Muruganandam
> <saranyamohan@xxxxxxxxxx> wrote:
> >
> > When we fail to read from the disk, BLKRRPART used to be able to capture and bubble this up to the caller.
> > It no longer does since we no longer capture the error from bdev_disk_changed.
> >
> > Here is an example with fault-injection:
> >
> > # echo 0 > /sys/kernel/debug/fail_make_request/interval
> > # echo 100 > /sys/kernel/debug/fail_make_request/probability
> > # echo -1 > /sys/kernel/debug/fail_make_request/times
> > # echo 1 > /sys/block/sdc/make-it-fail
> > # blockdev --rereadpt /dev/sdc # no error
> > # echo $?
> > 0 # incorrectly reports success.
> >
> > Whereas fdisk and sfdisk correctly report the issue :
> >
> > # sfdisk /dev/sdc
> > sfdisk: cannot open /dev/sdc: Input/output error
> > # fdisk /dev/sdc
> >
> > Welcome to fdisk (util-linux 2.28.2).
> > Changes will remain in memory only, until you decide to write them.
> > Be careful before using the write command.
> >
> > fdisk: cannot open /dev/sdc: Input/output error
> >
> > Best,
> > Saranya
> >
> > On Mon, Feb 12, 2024 at 7:44 AM Christoph Hellwig <hch@xxxxxx> wrote:
> >>
> >> What scenario are you looking at?





[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux