From: Fam Zheng <famz@redhat.com> To: linux-kernel@vger.kernel.org Cc: linux-nvme@lists.infradead.org, Keith Busch <keith.busch@intel.com>, Michael Ellerman <mpe@ellerman.id.au>, Benjamin Herrenschmidt <benh@kernel.crashing.org>, linuxppc-dev@lists.ozlabs.org, "Michael S. Tsirkin" <mst@redhat.com>, linux-block@vger.kernel.org, Brian Norris <computersforpeace@gmail.com>, Paul Mackerras <paulus@samba.org>, linux-mtd@lists.infradead.org, "Ed L. Cashin" <ed.cashin@acm.org>, Jens Axboe <axboe@kernel.dk>, Minchan Kim <minchan@kernel.org>, virtualization@lists.linux-foundation.org, Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com>, Nitin Gupta <ngupta@vflare.org>, David Woodhouse <dwmw2@infradead.org> Subject: [PATCH 00/15] Fix issue with KOBJ_ADD uevent versus disk attributes Date: Wed, 17 Aug 2016 15:15:00 +0800 [thread overview] Message-ID: <1471418115-3654-1-git-send-email-famz@redhat.com> (raw) This is an attempt to fix the issue that some disks' sysfs attributes are not ready at the time its KOBJ_ADD event is sent. The symptom is during device hotplug, udev may fail to find certain attributes, such as serial or wwn, of the disk. As a result the /dev/disk/by-id entries are not created. The cause is device_add_disk emits the uevent before returning, and the callers have to create sysfs entries after that. The fix here is to pass attr_groups from callers to device_add_disk, so it can be added before KOBJ_ADD. Also add basic error handling around device_add_disk code, (or add FIXME comment where work is left). Fam Zheng (15): disk: Drop add_disk in favor of device_add_disk genhd: Return error from register_disk() genhd: Return error from blk_register_region block: Return error from blk_integrity_add genhd: Return error from disk_{add,alloc}_events genhd: Add return code to device_add_disk genhd: Add attribute group parameter to device_add_disk nvme: Pass attribute group to device_add_disk virtio-blk: Pass attribute group to device_add_disk mtd: Pass attribute group to device_add_disk zram: Pass attribute group to device_add_disk mtip: Pass attribute group to device_add_disk aoeblk: Pass attribute group to device_add_disk axonram: Pass attribute group to device_add_disk block: Add FIXME comment to handle device_add_disk error arch/m68k/emu/nfblock.c | 3 +- arch/powerpc/sysdev/axonram.c | 23 +++++--- arch/um/drivers/ubd_kern.c | 3 +- arch/xtensa/platforms/iss/simdisk.c | 3 +- block/blk-integrity.c | 12 ++-- block/genhd.c | 112 +++++++++++++++++++++++++----------- drivers/block/DAC960.c | 3 +- drivers/block/amiflop.c | 3 +- drivers/block/aoe/aoeblk.c | 13 ++--- drivers/block/ataflop.c | 3 +- drivers/block/brd.c | 6 +- drivers/block/cciss.c | 3 +- drivers/block/drbd/drbd_main.c | 3 +- drivers/block/floppy.c | 5 +- drivers/block/hd.c | 3 +- drivers/block/loop.c | 3 +- drivers/block/mg_disk.c | 3 +- drivers/block/mtip32xx/mtip32xx.c | 39 +++---------- drivers/block/nbd.c | 3 +- drivers/block/null_blk.c | 3 +- drivers/block/osdblk.c | 3 +- drivers/block/paride/pcd.c | 3 +- drivers/block/paride/pd.c | 3 +- drivers/block/paride/pf.c | 3 +- drivers/block/pktcdvd.c | 3 +- drivers/block/ps3disk.c | 3 +- drivers/block/ps3vram.c | 3 +- drivers/block/rbd.c | 3 +- drivers/block/rsxx/dev.c | 3 +- drivers/block/skd_main.c | 5 +- drivers/block/sunvdc.c | 3 +- drivers/block/swim.c | 3 +- drivers/block/swim3.c | 3 +- drivers/block/sx8.c | 3 +- drivers/block/umem.c | 3 +- drivers/block/virtio_blk.c | 38 ++++++++---- drivers/block/xen-blkfront.c | 3 +- drivers/block/xsysace.c | 3 +- drivers/block/z2ram.c | 3 +- drivers/block/zram/zram_drv.c | 7 +-- drivers/cdrom/gdrom.c | 3 +- drivers/ide/ide-cd.c | 3 +- drivers/ide/ide-gd.c | 3 +- drivers/lightnvm/gennvm.c | 3 +- drivers/md/bcache/super.c | 6 +- drivers/md/dm.c | 3 +- drivers/md/md.c | 5 +- drivers/memstick/core/ms_block.c | 3 +- drivers/memstick/core/mspro_block.c | 3 +- drivers/mmc/card/block.c | 3 +- drivers/mtd/mtd_blkdevs.c | 9 +-- drivers/mtd/ubi/block.c | 3 +- drivers/nvdimm/blk.c | 3 +- drivers/nvdimm/btt.c | 3 +- drivers/nvdimm/pmem.c | 3 +- drivers/nvme/host/core.c | 7 +-- drivers/s390/block/dasd_genhd.c | 3 +- drivers/s390/block/dcssblk.c | 3 +- drivers/s390/block/scm_blk.c | 3 +- drivers/s390/block/xpram.c | 3 +- drivers/sbus/char/jsflash.c | 3 +- drivers/scsi/sd.c | 3 +- drivers/scsi/sr.c | 5 +- drivers/scsi/st.c | 4 +- fs/block_dev.c | 2 +- include/linux/genhd.h | 21 +++---- 66 files changed, 277 insertions(+), 186 deletions(-) -- 2.7.4
WARNING: multiple messages have this Message-ID (diff)
From: famz@redhat.com (Fam Zheng) Subject: [PATCH 00/15] Fix issue with KOBJ_ADD uevent versus disk attributes Date: Wed, 17 Aug 2016 15:15:00 +0800 [thread overview] Message-ID: <1471418115-3654-1-git-send-email-famz@redhat.com> (raw) This is an attempt to fix the issue that some disks' sysfs attributes are not ready at the time its KOBJ_ADD event is sent. The symptom is during device hotplug, udev may fail to find certain attributes, such as serial or wwn, of the disk. As a result the /dev/disk/by-id entries are not created. The cause is device_add_disk emits the uevent before returning, and the callers have to create sysfs entries after that. The fix here is to pass attr_groups from callers to device_add_disk, so it can be added before KOBJ_ADD. Also add basic error handling around device_add_disk code, (or add FIXME comment where work is left). Fam Zheng (15): disk: Drop add_disk in favor of device_add_disk genhd: Return error from register_disk() genhd: Return error from blk_register_region block: Return error from blk_integrity_add genhd: Return error from disk_{add,alloc}_events genhd: Add return code to device_add_disk genhd: Add attribute group parameter to device_add_disk nvme: Pass attribute group to device_add_disk virtio-blk: Pass attribute group to device_add_disk mtd: Pass attribute group to device_add_disk zram: Pass attribute group to device_add_disk mtip: Pass attribute group to device_add_disk aoeblk: Pass attribute group to device_add_disk axonram: Pass attribute group to device_add_disk block: Add FIXME comment to handle device_add_disk error arch/m68k/emu/nfblock.c | 3 +- arch/powerpc/sysdev/axonram.c | 23 +++++--- arch/um/drivers/ubd_kern.c | 3 +- arch/xtensa/platforms/iss/simdisk.c | 3 +- block/blk-integrity.c | 12 ++-- block/genhd.c | 112 +++++++++++++++++++++++++----------- drivers/block/DAC960.c | 3 +- drivers/block/amiflop.c | 3 +- drivers/block/aoe/aoeblk.c | 13 ++--- drivers/block/ataflop.c | 3 +- drivers/block/brd.c | 6 +- drivers/block/cciss.c | 3 +- drivers/block/drbd/drbd_main.c | 3 +- drivers/block/floppy.c | 5 +- drivers/block/hd.c | 3 +- drivers/block/loop.c | 3 +- drivers/block/mg_disk.c | 3 +- drivers/block/mtip32xx/mtip32xx.c | 39 +++---------- drivers/block/nbd.c | 3 +- drivers/block/null_blk.c | 3 +- drivers/block/osdblk.c | 3 +- drivers/block/paride/pcd.c | 3 +- drivers/block/paride/pd.c | 3 +- drivers/block/paride/pf.c | 3 +- drivers/block/pktcdvd.c | 3 +- drivers/block/ps3disk.c | 3 +- drivers/block/ps3vram.c | 3 +- drivers/block/rbd.c | 3 +- drivers/block/rsxx/dev.c | 3 +- drivers/block/skd_main.c | 5 +- drivers/block/sunvdc.c | 3 +- drivers/block/swim.c | 3 +- drivers/block/swim3.c | 3 +- drivers/block/sx8.c | 3 +- drivers/block/umem.c | 3 +- drivers/block/virtio_blk.c | 38 ++++++++---- drivers/block/xen-blkfront.c | 3 +- drivers/block/xsysace.c | 3 +- drivers/block/z2ram.c | 3 +- drivers/block/zram/zram_drv.c | 7 +-- drivers/cdrom/gdrom.c | 3 +- drivers/ide/ide-cd.c | 3 +- drivers/ide/ide-gd.c | 3 +- drivers/lightnvm/gennvm.c | 3 +- drivers/md/bcache/super.c | 6 +- drivers/md/dm.c | 3 +- drivers/md/md.c | 5 +- drivers/memstick/core/ms_block.c | 3 +- drivers/memstick/core/mspro_block.c | 3 +- drivers/mmc/card/block.c | 3 +- drivers/mtd/mtd_blkdevs.c | 9 +-- drivers/mtd/ubi/block.c | 3 +- drivers/nvdimm/blk.c | 3 +- drivers/nvdimm/btt.c | 3 +- drivers/nvdimm/pmem.c | 3 +- drivers/nvme/host/core.c | 7 +-- drivers/s390/block/dasd_genhd.c | 3 +- drivers/s390/block/dcssblk.c | 3 +- drivers/s390/block/scm_blk.c | 3 +- drivers/s390/block/xpram.c | 3 +- drivers/sbus/char/jsflash.c | 3 +- drivers/scsi/sd.c | 3 +- drivers/scsi/sr.c | 5 +- drivers/scsi/st.c | 4 +- fs/block_dev.c | 2 +- include/linux/genhd.h | 21 +++---- 66 files changed, 277 insertions(+), 186 deletions(-) -- 2.7.4
next reply other threads:[~2016-08-17 7:15 UTC|newest] Thread overview: 78+ messages / expand[flat|nested] mbox.gz Atom feed top 2016-08-17 7:15 Fam Zheng [this message] 2016-08-17 7:15 ` [PATCH 00/15] Fix issue with KOBJ_ADD uevent versus disk attributes Fam Zheng 2016-08-17 7:15 ` [PATCH 01/15] disk: Drop add_disk in favor of device_add_disk Fam Zheng 2016-08-17 7:15 ` Fam Zheng 2016-08-17 7:15 ` Fam Zheng 2016-08-17 7:15 ` [PATCH 02/15] genhd: Return error from register_disk() Fam Zheng 2016-08-17 7:15 ` Fam Zheng 2016-08-17 7:15 ` Fam Zheng 2016-08-17 7:15 ` [PATCH 03/15] genhd: Return error from blk_register_region Fam Zheng 2016-08-17 7:15 ` Fam Zheng 2016-08-17 7:15 ` Fam Zheng 2016-08-17 7:15 ` [PATCH 04/15] block: Return error from blk_integrity_add Fam Zheng 2016-08-17 7:15 ` Fam Zheng 2016-08-17 7:15 ` Fam Zheng 2016-08-17 7:15 ` [PATCH 05/15] genhd: Return error from disk_{add,alloc}_events Fam Zheng 2016-08-17 7:15 ` Fam Zheng 2016-08-17 7:15 ` Fam Zheng 2016-08-17 7:15 ` [PATCH 06/15] genhd: Add return code to device_add_disk Fam Zheng 2016-08-17 7:15 ` Fam Zheng 2016-08-17 7:15 ` Fam Zheng 2016-08-17 8:49 ` Cornelia Huck 2016-08-17 8:49 ` Cornelia Huck 2016-08-17 8:49 ` Cornelia Huck 2016-08-17 8:48 ` Fam Zheng 2016-08-17 8:48 ` Fam Zheng 2016-08-17 8:48 ` Fam Zheng 2016-08-17 9:06 ` Cornelia Huck 2016-08-17 9:06 ` Cornelia Huck 2016-08-17 9:14 ` Fam Zheng 2016-08-17 9:14 ` Fam Zheng 2016-08-18 1:09 ` Ed Cashin 2016-08-18 1:09 ` Ed Cashin 2016-08-18 1:09 ` Ed Cashin 2016-08-17 9:14 ` Fam Zheng 2016-08-17 9:06 ` Cornelia Huck 2016-08-17 7:15 ` [PATCH 07/15] genhd: Add attribute group parameter " Fam Zheng 2016-08-17 7:15 ` Fam Zheng 2016-08-17 7:15 ` Fam Zheng 2016-08-17 7:15 ` [PATCH 08/15] nvme: Pass attribute group " Fam Zheng 2016-08-17 7:15 ` Fam Zheng 2016-08-17 7:15 ` Fam Zheng 2016-08-17 8:13 ` kbuild test robot 2016-08-17 8:13 ` kbuild test robot 2016-08-17 8:13 ` kbuild test robot 2016-08-17 7:15 ` [PATCH 09/15] virtio-blk: " Fam Zheng 2016-08-17 7:15 ` Fam Zheng 2016-08-17 7:15 ` Fam Zheng 2016-09-04 4:18 ` Michael S. Tsirkin 2016-09-04 4:18 ` Michael S. Tsirkin 2016-09-04 4:18 ` Michael S. Tsirkin 2016-08-17 7:15 ` [PATCH 10/15] mtd: " Fam Zheng 2016-08-17 7:15 ` Fam Zheng 2016-08-17 7:15 ` Fam Zheng 2016-08-17 7:15 ` [PATCH 11/15] zram: " Fam Zheng 2016-08-17 7:15 ` Fam Zheng 2016-08-17 7:15 ` Fam Zheng 2016-08-18 1:59 ` Sergey Senozhatsky 2016-08-18 1:59 ` Sergey Senozhatsky 2016-08-18 1:59 ` Sergey Senozhatsky 2016-08-18 2:06 ` Sergey Senozhatsky 2016-08-18 2:06 ` Sergey Senozhatsky 2016-08-18 2:06 ` Sergey Senozhatsky 2016-08-17 7:15 ` [PATCH 12/15] mtip: " Fam Zheng 2016-08-17 7:15 ` Fam Zheng 2016-08-17 7:15 ` Fam Zheng 2016-08-17 7:15 ` [PATCH 13/15] aoeblk: " Fam Zheng 2016-08-17 7:15 ` Fam Zheng 2016-08-17 7:15 ` Fam Zheng 2016-08-17 7:15 ` [PATCH 14/15] axonram: " Fam Zheng 2016-08-17 7:15 ` Fam Zheng 2016-08-17 7:15 ` Fam Zheng 2016-08-17 7:15 ` [PATCH 15/15] block: Add FIXME comment to handle device_add_disk error Fam Zheng 2016-08-17 7:15 ` Fam Zheng 2016-08-18 2:36 ` Sergey Senozhatsky 2016-08-18 2:36 ` Sergey Senozhatsky 2016-08-18 2:36 ` Sergey Senozhatsky 2016-08-17 7:15 ` Fam Zheng 2016-08-17 7:15 [PATCH 00/15] Fix issue with KOBJ_ADD uevent versus disk attributes Fam Zheng
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1471418115-3654-1-git-send-email-famz@redhat.com \ --to=famz@redhat.com \ --cc=axboe@kernel.dk \ --cc=benh@kernel.crashing.org \ --cc=computersforpeace@gmail.com \ --cc=dwmw2@infradead.org \ --cc=ed.cashin@acm.org \ --cc=keith.busch@intel.com \ --cc=linux-block@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mtd@lists.infradead.org \ --cc=linux-nvme@lists.infradead.org \ --cc=linuxppc-dev@lists.ozlabs.org \ --cc=minchan@kernel.org \ --cc=mpe@ellerman.id.au \ --cc=mst@redhat.com \ --cc=ngupta@vflare.org \ --cc=paulus@samba.org \ --cc=sergey.senozhatsky.work@gmail.com \ --cc=virtualization@lists.linux-foundation.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.