Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 73c34431 authored by NeilBrown's avatar NeilBrown Committed by Linus Torvalds
Browse files

md: change ITERATE_RDEV_GENERIC to rdev_for_each_list, and remove ITERATE_RDEV_PENDING.



Finish ITERATE_ to for_each conversion.

Signed-off-by: default avatarNeil Brown <neilb@suse.de>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent d089c6af
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -3766,7 +3766,7 @@ static void autorun_devices(int part)
		printk(KERN_INFO "md: considering %s ...\n",
			bdevname(rdev0->bdev,b));
		INIT_LIST_HEAD(&candidates);
		ITERATE_RDEV_PENDING(rdev,tmp)
		rdev_for_each_list(rdev, tmp, pending_raid_disks)
			if (super_90_load(rdev, rdev0, 0) >= 0) {
				printk(KERN_INFO "md:  adding %s ...\n",
					bdevname(rdev->bdev,b));
@@ -3810,7 +3810,7 @@ static void autorun_devices(int part)
		} else {
			printk(KERN_INFO "md: created %s\n", mdname(mddev));
			mddev->persistent = 1;
			ITERATE_RDEV_GENERIC(candidates,rdev,tmp) {
			rdev_for_each_list(rdev, tmp, candidates) {
				list_del_init(&rdev->same_set);
				if (bind_rdev_to_array(rdev, mddev))
					export_rdev(rdev);
@@ -3821,7 +3821,7 @@ static void autorun_devices(int part)
		/* on success, candidates will be empty, on error
		 * it won't...
		 */
		ITERATE_RDEV_GENERIC(candidates,rdev,tmp)
		rdev_for_each_list(rdev, tmp, candidates)
			export_rdev(rdev);
		mddev_put(mddev);
	}
@@ -4936,7 +4936,7 @@ static void status_unused(struct seq_file *seq)

	seq_printf(seq, "unused devices: ");

	ITERATE_RDEV_PENDING(rdev,tmp) {
	rdev_for_each_list(rdev, tmp, pending_raid_disks) {
		char b[BDEVNAME_SIZE];
		i++;
		seq_printf(seq, "%s ",
+4 −10
Original line number Diff line number Diff line
@@ -313,23 +313,17 @@ static inline char * mdname (mddev_t * mddev)
 * iterates through some rdev ringlist. It's safe to remove the
 * current 'rdev'. Dont touch 'tmp' though.
 */
#define ITERATE_RDEV_GENERIC(head,rdev,tmp)				\
#define rdev_for_each_list(rdev, tmp, list)				\
									\
	for ((tmp) = (head).next;					\
	for ((tmp) = (list).next;					\
		(rdev) = (list_entry((tmp), mdk_rdev_t, same_set)),	\
			(tmp) = (tmp)->next, (tmp)->prev != &(head)	\
			(tmp) = (tmp)->next, (tmp)->prev != &(list)	\
		; )
/*
 * iterates through the 'same array disks' ringlist
 */
#define rdev_for_each(rdev, tmp, mddev)				\
	ITERATE_RDEV_GENERIC((mddev)->disks,rdev,tmp)

/*
 * Iterates through 'pending RAID disks'
 */
#define ITERATE_RDEV_PENDING(rdev,tmp)					\
	ITERATE_RDEV_GENERIC(pending_raid_disks,rdev,tmp)
	rdev_for_each_list(rdev, tmp, (mddev)->disks)

typedef struct mdk_thread_s {
	void			(*run) (mddev_t *mddev);