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

Commit 5787c252 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull MD fix from Shaohua Li:
 "As you know, Neil steps down from MD.  I'm looking after it.  Here are
  some patches queued.

  A build fix from Gayatri and several trival patches from me"

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/md:
  md-cluster: delete useless code
  md-cluster: fix missing memory free
  raid6/algos.c : bug fix : Add the missing definitions to the pq.h file
  MD: add myself as MD maintainer
  MD: rename some functions
parents 04d740d5 9ea06415
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -10154,6 +10154,7 @@ S: Supported
F:	drivers/media/pci/solo6x10/

SOFTWARE RAID (Multiple Disks) SUPPORT
M:	Shaohua Li <shli@kernel.org>
L:	linux-raid@vger.kernel.org
T:	git git://neil.brown.name/md
S:	Supported
+0 −4
Original line number Diff line number Diff line
@@ -210,10 +210,6 @@ static int write_sb_page(struct bitmap *bitmap, struct page *page, int wait)
	struct block_device *bdev;
	struct mddev *mddev = bitmap->mddev;
	struct bitmap_storage *store = &bitmap->storage;
	int node_offset = 0;

	if (mddev_is_clustered(bitmap->mddev))
		node_offset = bitmap->cluster_slot * store->file_pages;

	while ((rdev = next_active_rdev(rdev, mddev)) != NULL) {
		int size = PAGE_SIZE;
+9 −9
Original line number Diff line number Diff line
@@ -170,7 +170,7 @@ static void add_sector(struct faulty_conf *conf, sector_t start, int mode)
		conf->nfaults = n+1;
}

static void make_request(struct mddev *mddev, struct bio *bio)
static void faulty_make_request(struct mddev *mddev, struct bio *bio)
{
	struct faulty_conf *conf = mddev->private;
	int failit = 0;
@@ -226,7 +226,7 @@ static void make_request(struct mddev *mddev, struct bio *bio)
	generic_make_request(bio);
}

static void status(struct seq_file *seq, struct mddev *mddev)
static void faulty_status(struct seq_file *seq, struct mddev *mddev)
{
	struct faulty_conf *conf = mddev->private;
	int n;
@@ -259,7 +259,7 @@ static void status(struct seq_file *seq, struct mddev *mddev)
}


static int reshape(struct mddev *mddev)
static int faulty_reshape(struct mddev *mddev)
{
	int mode = mddev->new_layout & ModeMask;
	int count = mddev->new_layout >> ModeShift;
@@ -299,7 +299,7 @@ static sector_t faulty_size(struct mddev *mddev, sector_t sectors, int raid_disk
	return sectors;
}

static int run(struct mddev *mddev)
static int faulty_run(struct mddev *mddev)
{
	struct md_rdev *rdev;
	int i;
@@ -327,7 +327,7 @@ static int run(struct mddev *mddev)
	md_set_array_sectors(mddev, faulty_size(mddev, 0, 0));
	mddev->private = conf;

	reshape(mddev);
	faulty_reshape(mddev);

	return 0;
}
@@ -344,11 +344,11 @@ static struct md_personality faulty_personality =
	.name		= "faulty",
	.level		= LEVEL_FAULTY,
	.owner		= THIS_MODULE,
	.make_request	= make_request,
	.run		= run,
	.make_request	= faulty_make_request,
	.run		= faulty_run,
	.free		= faulty_free,
	.status		= status,
	.check_reshape	= reshape,
	.status		= faulty_status,
	.check_reshape	= faulty_reshape,
	.size		= faulty_size,
};

+5 −1
Original line number Diff line number Diff line
@@ -293,6 +293,7 @@ static void recover_bitmaps(struct md_thread *thread)
dlm_unlock:
		dlm_unlock_sync(bm_lockres);
clear_bit:
		lockres_free(bm_lockres);
		clear_bit(slot, &cinfo->recovery_map);
	}
}
@@ -682,8 +683,10 @@ static int gather_all_resync_info(struct mddev *mddev, int total_slots)
		bm_lockres = lockres_init(mddev, str, NULL, 1);
		if (!bm_lockres)
			return -ENOMEM;
		if (i == (cinfo->slot_number - 1))
		if (i == (cinfo->slot_number - 1)) {
			lockres_free(bm_lockres);
			continue;
		}

		bm_lockres->flags |= DLM_LKF_NOQUEUE;
		ret = dlm_lock_sync(bm_lockres, DLM_LOCK_PW);
@@ -858,6 +861,7 @@ static int leave(struct mddev *mddev)
	lockres_free(cinfo->token_lockres);
	lockres_free(cinfo->ack_lockres);
	lockres_free(cinfo->no_new_dev_lockres);
	lockres_free(cinfo->resync_lockres);
	lockres_free(cinfo->bitmap_lockres);
	unlock_all_bitmaps(mddev);
	dlm_release_lockspace(cinfo->lockspace, 2);
+11 −10
Original line number Diff line number Diff line
@@ -1044,7 +1044,7 @@ static void raid1_unplug(struct blk_plug_cb *cb, bool from_schedule)
	kfree(plug);
}

static void make_request(struct mddev *mddev, struct bio * bio)
static void raid1_make_request(struct mddev *mddev, struct bio * bio)
{
	struct r1conf *conf = mddev->private;
	struct raid1_info *mirror;
@@ -1422,7 +1422,7 @@ static void make_request(struct mddev *mddev, struct bio * bio)
	wake_up(&conf->wait_barrier);
}

static void status(struct seq_file *seq, struct mddev *mddev)
static void raid1_status(struct seq_file *seq, struct mddev *mddev)
{
	struct r1conf *conf = mddev->private;
	int i;
@@ -1439,7 +1439,7 @@ static void status(struct seq_file *seq, struct mddev *mddev)
	seq_printf(seq, "]");
}

static void error(struct mddev *mddev, struct md_rdev *rdev)
static void raid1_error(struct mddev *mddev, struct md_rdev *rdev)
{
	char b[BDEVNAME_SIZE];
	struct r1conf *conf = mddev->private;
@@ -2472,7 +2472,8 @@ static int init_resync(struct r1conf *conf)
 * that can be installed to exclude normal IO requests.
 */

static sector_t sync_request(struct mddev *mddev, sector_t sector_nr, int *skipped)
static sector_t raid1_sync_request(struct mddev *mddev, sector_t sector_nr,
				   int *skipped)
{
	struct r1conf *conf = mddev->private;
	struct r1bio *r1_bio;
@@ -2890,7 +2891,7 @@ static struct r1conf *setup_conf(struct mddev *mddev)
}

static void raid1_free(struct mddev *mddev, void *priv);
static int run(struct mddev *mddev)
static int raid1_run(struct mddev *mddev)
{
	struct r1conf *conf;
	int i;
@@ -3170,15 +3171,15 @@ static struct md_personality raid1_personality =
	.name		= "raid1",
	.level		= 1,
	.owner		= THIS_MODULE,
	.make_request	= make_request,
	.run		= run,
	.make_request	= raid1_make_request,
	.run		= raid1_run,
	.free		= raid1_free,
	.status		= status,
	.error_handler	= error,
	.status		= raid1_status,
	.error_handler	= raid1_error,
	.hot_add_disk	= raid1_add_disk,
	.hot_remove_disk= raid1_remove_disk,
	.spare_active	= raid1_spare_active,
	.sync_request	= sync_request,
	.sync_request	= raid1_sync_request,
	.resize		= raid1_resize,
	.size		= raid1_size,
	.check_reshape	= raid1_reshape,
Loading