linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/15] Fix issue with KOBJ_ADD uevent versus disk attributes
@ 2016-08-17  7:15 Fam Zheng
  2016-08-17  7:15 ` [PATCH 01/15] disk: Drop add_disk in favor of device_add_disk Fam Zheng
                   ` (14 more replies)
  0 siblings, 15 replies; 26+ messages in thread
From: Fam Zheng @ 2016-08-17  7:15 UTC (permalink / raw)
  To: linux-kernel
  Cc: linux-nvme, Keith Busch, Michael Ellerman, Benjamin Herrenschmidt,
	linuxppc-dev, Michael S. Tsirkin, linux-block, Brian Norris,
	Paul Mackerras, linux-mtd, Ed L. Cashin, Jens Axboe, Minchan Kim,
	virtualization, Sergey Senozhatsky, Nitin Gupta, David Woodhouse

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

^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2016-09-04  4:18 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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 ` [PATCH 02/15] genhd: Return error from register_disk() Fam Zheng
2016-08-17  7:15 ` [PATCH 03/15] genhd: Return error from blk_register_region Fam Zheng
2016-08-17  7:15 ` [PATCH 04/15] block: Return error from blk_integrity_add 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 ` [PATCH 06/15] genhd: Add return code to device_add_disk Fam Zheng
2016-08-17  8:49   ` Cornelia Huck
2016-08-17  8:48     ` Fam Zheng
2016-08-17  9:06       ` Cornelia Huck
2016-08-17  9:14         ` Fam Zheng
2016-08-18  1:09           ` Ed Cashin
2016-08-17  7:15 ` [PATCH 07/15] genhd: Add attribute group parameter " Fam Zheng
2016-08-17  7:15 ` [PATCH 08/15] nvme: Pass attribute group " Fam Zheng
2016-08-17  8:13   ` kbuild test robot
2016-08-17  7:15 ` [PATCH 09/15] virtio-blk: " Fam Zheng
2016-09-04  4:18   ` Michael S. Tsirkin
2016-08-17  7:15 ` [PATCH 10/15] mtd: " Fam Zheng
2016-08-17  7:15 ` [PATCH 11/15] zram: " Fam Zheng
2016-08-18  1:59   ` 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 ` [PATCH 13/15] aoeblk: " Fam Zheng
2016-08-17  7:15 ` [PATCH 14/15] axonram: " Fam Zheng
2016-08-17  7:15 ` [PATCH 15/15] block: Add FIXME comment to handle device_add_disk error Fam Zheng
2016-08-18  2:36   ` Sergey Senozhatsky

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).