linux_dsm_epyc7002/fs/partitions
Tejun Heo 88e341261c block: update add_partition() error handling
d805dda4 tried to fix error case handling in add_partition() but had a
few problems.

* disk->part[] entry is set early and left dangling if operation
  fails.

* Once device initialized, the last put_device() is responsible for
  freeing all the resources.  The failure path freed part_stats and p
  regardless of put_device() causing double free.

* holders subdir holds reference to the disk device, so failure path
  should remove it to release resources properly which was missing.

This patch fixes the above problems and while at it move partition
slot busy check into add_partition() for completeness and inlines
holders subdirectory creation.  Using separate function for it just
obfuscates the code.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Abdel Benamrouche <draconux@gmail.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2008-10-09 08:56:04 +02:00
..
acorn.c fix compiler warnings in acorn.c 2007-07-16 09:05:42 -07:00
acorn.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
amiga.c [PATCH] Fix check_partition routines 2006-12-07 08:39:30 -08:00
amiga.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
atari.c [PATCH] Fix check_partition routines 2006-12-07 08:39:30 -08:00
atari.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
check.c block: update add_partition() error handling 2008-10-09 08:56:04 +02:00
check.h [PATCH] small partitions/msdos cleanups 2005-06-25 16:24:59 -07:00
efi.c fs/partitions/efi: convert to pr_debug 2008-07-25 10:53:44 -07:00
efi.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
ibm.c [S390] fixed cdl-format detection. 2007-07-10 11:24:44 +02:00
ibm.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
karma.c [PATCH] partitions: Read Rio Karma partition table 2006-01-16 23:15:29 -08:00
karma.h [PATCH] partitions: Read Rio Karma partition table 2006-01-16 23:15:29 -08:00
Kconfig partition: use DEFAULT_SGI_PARTITION for SGI_PARTION default 2008-02-06 10:41:08 -08:00
ldm.c fs: ldm.[ch] use get_unaligned_* helpers 2008-07-25 10:53:26 -07:00
ldm.h fs: ldm.[ch] use get_unaligned_* helpers 2008-07-25 10:53:26 -07:00
mac.c [PATCH] Enable RAID autorun on Mac partition tables. 2006-12-04 08:36:37 -08:00
mac.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Makefile partition: add support for sysv68 partitions 2007-05-08 11:15:09 -07:00
msdos.c fat: detect media without partition table correctly 2008-04-28 08:58:47 -07:00
msdos.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
osf.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
osf.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sgi.c [PARTITION]: Add whole_disk attribute. 2007-02-10 23:50:00 -08:00
sgi.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sun.c fs/partitions/sun.c endianness annotations 2007-10-14 12:41:51 -07:00
sun.h [PARTITION]: Sun/Solaris VTOC table corrections 2007-07-30 00:27:31 -07:00
sysv68.c partition: add support for sysv68 partitions 2007-05-08 11:15:09 -07:00
sysv68.h partition: add support for sysv68 partitions 2007-05-08 11:15:09 -07:00
ultrix.c fs/partitions/ultrix.c should #include "ultrix.h" 2005-11-08 16:49:14 +01:00
ultrix.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00