linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/3] Badblock tracking for gendisks
@ 2015-12-08  2:52 Vishal Verma
  2015-12-08  2:52 ` [PATCH v2 1/3] badblocks: Add core badblock management code Vishal Verma
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Vishal Verma @ 2015-12-08  2:52 UTC (permalink / raw)
  To: linux-nvdimm
  Cc: Vishal Verma, linux-block, linux-raid, linux-scsi, Jens Axboe,
	NeilBrown, Jeff Moyer, James Bottomley

v3:
  - Add kernel-doc style comments to all exported functions in badblocks.c (James)
  - Make return values from badblocks functions consistent with themselves
    and the kernel style. Change the polarity of badblocks_set, and update
    all callers accordingly (James)
  - In gendisk, don't unconditionally allocate badblocks, export the initializer.
    This also allows the initializer to be a non-void return type, so that the
    badblocks user can act upon failures better (James)


v2:
  - In badblocks_free, make 'page' NULL (patch 1)
  - Move the core badblocks code to a new .c file (patch 1) (Jens)
  - Fix a sizeof usage in disk_alloc_badblocks (patch 2) (Dan)
  - Since disk_alloc_badblocks can fail, check disk->bb for NULL in the
    genhd wrappers (patch 2) (Jeff)
  - Update the md conversion to also ise the badblocks init and free
    functions (patch 3)
  - Remove the BB_* macros from md.h as they are now in badblocks.h (patch 3)

Patch 1 copies badblock management code into a header of its own,
making it generally available. It follows common libraries of code
such as linked lists, where anyone may embed a core data structure
in another place, and use the provided accessor functions to
manipulate the data.

Patch 2 adds badblock tracking to gendisks (in preparation for use
by NVDIMM devices).

Patch 3 converts md over to use the new badblocks 'library'. I have
done some pretty simple testing on this - created a raid 1 device,
made sure the sysfs entries show up, and can be used to add and view
badblocks. A closer look by the md folks would be nice here.

Vishal Verma (3):
  badblocks: Add core badblock management code
  block: Add badblock management for gendisks
  md: convert to use the generic badblocks code

 block/Makefile            |   2 +-
 block/badblocks.c         | 576 ++++++++++++++++++++++++++++++++++++++++++++++
 block/genhd.c             |  76 ++++++
 drivers/md/md.c           | 516 ++---------------------------------------
 drivers/md/md.h           |  40 +---
 include/linux/badblocks.h |  53 +++++
 include/linux/genhd.h     |   7 +
 7 files changed, 741 insertions(+), 529 deletions(-)
 create mode 100644 block/badblocks.c
 create mode 100644 include/linux/badblocks.h

-- 
2.5.0


^ permalink raw reply	[flat|nested] 8+ messages in thread
* [PATCH v2 0/3] Badblock tracking for gendisks
@ 2015-11-25 18:43 Vishal Verma
  2015-11-25 18:43 ` [PATCH v2 2/3] block: Add badblock management " Vishal Verma
  0 siblings, 1 reply; 8+ messages in thread
From: Vishal Verma @ 2015-11-25 18:43 UTC (permalink / raw)
  To: linux-nvdimm
  Cc: Vishal Verma, linux-block, linux-raid, linux-scsi, Jens Axboe,
	NeilBrown, Jeff Moyer

v2:
  - In badblocks_free, make 'page' NULL (patch 1)
  - Move the core badblocks code to a new .c file (patch 1) (Jens)
  - Fix a sizeof usage in disk_alloc_badblocks (patch 2) (Dan)
  - Since disk_alloc_badblocks can fail, check disk->bb for NULL in the
    genhd wrappers (patch 2) (Jeff)
  - Update the md conversion to also ise the badblocks init and free
    functions (patch 3)
  - Remove the BB_* macros from md.h as they are now in badblocks.h (patch 3)

Patch 1 copies badblock management code into a header of its own,
making it generally available. It follows common libraries of code
such as linked lists, where anyone may embed a core data structure
in another place, and use the provided accessor functions to
manipulate the data.

Patch 2 adds badblock tracking to gendisks (in preparation for use
by NVDIMM devices). Right now, it is turned on unconditionally - I'd
appreciate comments on if that is the right path.

Patch 3 converts md over to use the new badblocks 'library'. I have
done some pretty simple testing on this - created a raid 1 device,
made sure the sysfs entries show up, and can be used to add and view
badblocks. A closer look by the md folks would be nice here.


Vishal Verma (3):
  badblocks: Add core badblock management code
  block: Add badblock management for gendisks
  md: convert to use the generic badblocks code

 block/Makefile            |   2 +-
 block/badblocks.c         | 523 ++++++++++++++++++++++++++++++++++++++++++++++
 block/genhd.c             |  81 +++++++
 drivers/md/md.c           | 507 ++------------------------------------------
 drivers/md/md.h           |  40 +---
 include/linux/badblocks.h |  53 +++++
 include/linux/genhd.h     |   6 +
 7 files changed, 687 insertions(+), 525 deletions(-)
 create mode 100644 block/badblocks.c
 create mode 100644 include/linux/badblocks.h

-- 
2.5.0


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

end of thread, other threads:[~2015-12-08  2:54 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-12-08  2:52 [PATCH v2 0/3] Badblock tracking for gendisks Vishal Verma
2015-12-08  2:52 ` [PATCH v2 1/3] badblocks: Add core badblock management code Vishal Verma
2015-12-08  2:52 ` [PATCH v2 2/3] block: Add badblock management for gendisks Vishal Verma
2015-12-08  2:52 ` [PATCH v2 3/3] md: convert to use the generic badblocks code Vishal Verma
2015-12-08  2:54 ` [PATCH v2 0/3] Badblock tracking for gendisks Verma, Vishal L
  -- strict thread matches above, loose matches on Subject: below --
2015-11-25 18:43 Vishal Verma
2015-11-25 18:43 ` [PATCH v2 2/3] block: Add badblock management " Vishal Verma
2015-12-04 23:33   ` James Bottomley
2015-12-05  0:17     ` Verma, Vishal L

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).