# Re: rework check\_disk\_change()

- From: Douglas Gilbert \<dgilbert@interlog.com\>
- Date: 2020-09-02 15:46:17 
- List: linux-raid
- Page: https://ratatoskr.run/linux-raid/2020/09/187854
- Thread: https://ratatoskr.run/linux-block/2020/09/187819/t.md

```text
On 2020-09-02 10:11 a.m., Christoph Hellwig wrote:
> Hi Jens,
>
> this series replaced the not very nice check_disk_change() function with
> a new bdev_media_changed that avoids having the ->revalidate_disk call
> at its end.  As a result ->revalidate_disk can be removed from a lot of
> drivers.
>

For over 20 years the sg driver has been carrying this snippet that hangs
off the completion callback:

       if (driver_stat & DRIVER_SENSE) {
                struct scsi_sense_hdr ssh;

                if (scsi_normalize_sense(sbp, sense_len, &ssh)) {
                        if (!scsi_sense_is_deferred(&ssh)) {
                                if (ssh.sense_key == UNIT_ATTENTION) {
                                        if (sdp->device->removable)
                                                sdp->device->changed = 1;
                                }
                        }
                }
        }

Is it needed? The unit attention (UA) may not be associated with the
device changing. Shouldn't the SCSI mid-level monitor UAs if they
impact the state of a scsi_device object?

Doug Gilbert

```
