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

Commit c27b2d63 authored by Jens Axboe's avatar Jens Axboe
Browse files

Merge branch 'nvme-4.13' of git://git.infradead.org/nvme into for-4.13/block

Pull NVMe changes for 4.13 from Christoph:

Highlights:

 - UUID identifier support from Johannes
 - Lots of cleanups from Sagi
 - Host Memory Buffer support from me

And lots of cleanups and smaller fixes of course.

Note that the UUID identifier changes are based on top of the uuid tree.
I am the maintainer of that tree and will send it to Linus as soon as
4.12 is released as various other trees depend on it as well (and the
diffstat includes those changes unfortunately)
parents cc3f2e9f 6b8190d6
Loading
Loading
Loading
Loading
+11 −0
Original line number Original line Diff line number Diff line
@@ -13462,6 +13462,17 @@ W: http://en.wikipedia.org/wiki/Util-linux
T:	git git://git.kernel.org/pub/scm/utils/util-linux/util-linux.git
T:	git git://git.kernel.org/pub/scm/utils/util-linux/util-linux.git
S:	Maintained
S:	Maintained


UUID HELPERS
M:	Christoph Hellwig <hch@lst.de>
R:	Andy Shevchenko <andriy.shevchenko@linux.intel.com>
L:	linux-kernel@vger.kernel.org
T:	git git://git.infradead.org/users/hch/uuid.git
F:	lib/uuid.c
F:	lib/test_uuid.c
F:	include/linux/uuid.h
F:	include/uapi/linux/uuid.h
S:	Maintained

UVESAFB DRIVER
UVESAFB DRIVER
M:	Michal Januszewski <spock@gentoo.org>
M:	Michal Januszewski <spock@gentoo.org>
L:	linux-fbdev@vger.kernel.org
L:	linux-fbdev@vger.kernel.org
+2 −2
Original line number Original line Diff line number Diff line
@@ -109,7 +109,7 @@ struct sysinfo_2_2_2 {
	unsigned short cpus_shared;
	unsigned short cpus_shared;
	char reserved_4[3];
	char reserved_4[3];
	unsigned char vsne;
	unsigned char vsne;
	uuid_be uuid;
	uuid_t uuid;
	char reserved_5[160];
	char reserved_5[160];
	char ext_name[256];
	char ext_name[256];
};
};
@@ -134,7 +134,7 @@ struct sysinfo_3_2_2 {
		char reserved_1[3];
		char reserved_1[3];
		unsigned char evmne;
		unsigned char evmne;
		unsigned int reserved_2;
		unsigned int reserved_2;
		uuid_be uuid;
		uuid_t uuid;
	} vm[8];
	} vm[8];
	char reserved_3[1504];
	char reserved_3[1504];
	char ext_names[8][256];
	char ext_names[8][256];
+1 −1
Original line number Original line Diff line number Diff line
@@ -242,7 +242,7 @@ static void print_ext_name(struct seq_file *m, int lvl,


static void print_uuid(struct seq_file *m, int i, struct sysinfo_3_2_2 *info)
static void print_uuid(struct seq_file *m, int i, struct sysinfo_3_2_2 *info)
{
{
	if (!memcmp(&info->vm[i].uuid, &NULL_UUID_BE, sizeof(uuid_be)))
	if (uuid_is_null(&info->vm[i].uuid))
		return;
		return;
	seq_printf(m, "VM%02d UUID:            %pUb\n", i, &info->vm[i].uuid);
	seq_printf(m, "VM%02d UUID:            %pUb\n", i, &info->vm[i].uuid);
}
}
+5 −5
Original line number Original line Diff line number Diff line
@@ -115,7 +115,7 @@ static bool ldm_parse_privhead(const u8 *data, struct privhead *ph)
		ldm_error("PRIVHEAD disk size doesn't match real disk size");
		ldm_error("PRIVHEAD disk size doesn't match real disk size");
		return false;
		return false;
	}
	}
	if (uuid_be_to_bin(data + 0x0030, (uuid_be *)ph->disk_id)) {
	if (uuid_parse(data + 0x0030, &ph->disk_id)) {
		ldm_error("PRIVHEAD contains an invalid GUID.");
		ldm_error("PRIVHEAD contains an invalid GUID.");
		return false;
		return false;
	}
	}
@@ -234,7 +234,7 @@ static bool ldm_compare_privheads (const struct privhead *ph1,
		(ph1->logical_disk_size  == ph2->logical_disk_size)	&&
		(ph1->logical_disk_size  == ph2->logical_disk_size)	&&
		(ph1->config_start       == ph2->config_start)		&&
		(ph1->config_start       == ph2->config_start)		&&
		(ph1->config_size        == ph2->config_size)		&&
		(ph1->config_size        == ph2->config_size)		&&
		!memcmp (ph1->disk_id, ph2->disk_id, GUID_SIZE));
		uuid_equal(&ph1->disk_id, &ph2->disk_id));
}
}


/**
/**
@@ -557,7 +557,7 @@ static struct vblk * ldm_get_disk_objid (const struct ldmdb *ldb)


	list_for_each (item, &ldb->v_disk) {
	list_for_each (item, &ldb->v_disk) {
		struct vblk *v = list_entry (item, struct vblk, list);
		struct vblk *v = list_entry (item, struct vblk, list);
		if (!memcmp (v->vblk.disk.disk_id, ldb->ph.disk_id, GUID_SIZE))
		if (uuid_equal(&v->vblk.disk.disk_id, &ldb->ph.disk_id))
			return v;
			return v;
	}
	}


@@ -892,7 +892,7 @@ static bool ldm_parse_dsk3 (const u8 *buffer, int buflen, struct vblk *vb)
	disk = &vb->vblk.disk;
	disk = &vb->vblk.disk;
	ldm_get_vstr (buffer + 0x18 + r_diskid, disk->alt_name,
	ldm_get_vstr (buffer + 0x18 + r_diskid, disk->alt_name,
		sizeof (disk->alt_name));
		sizeof (disk->alt_name));
	if (uuid_be_to_bin(buffer + 0x19 + r_name, (uuid_be *)disk->disk_id))
	if (uuid_parse(buffer + 0x19 + r_name, &disk->disk_id))
		return false;
		return false;


	return true;
	return true;
@@ -927,7 +927,7 @@ static bool ldm_parse_dsk4 (const u8 *buffer, int buflen, struct vblk *vb)
		return false;
		return false;


	disk = &vb->vblk.disk;
	disk = &vb->vblk.disk;
	memcpy (disk->disk_id, buffer + 0x18 + r_name, GUID_SIZE);
	uuid_copy(&disk->disk_id, (uuid_t *)(buffer + 0x18 + r_name));
	return true;
	return true;
}
}


+2 −4
Original line number Original line Diff line number Diff line
@@ -112,8 +112,6 @@ struct frag { /* VBLK Fragment handling */


/* In memory LDM database structures. */
/* In memory LDM database structures. */


#define GUID_SIZE		16

struct privhead {			/* Offsets and sizes are in sectors. */
struct privhead {			/* Offsets and sizes are in sectors. */
	u16	ver_major;
	u16	ver_major;
	u16	ver_minor;
	u16	ver_minor;
@@ -121,7 +119,7 @@ struct privhead { /* Offsets and sizes are in sectors. */
	u64	logical_disk_size;
	u64	logical_disk_size;
	u64	config_start;
	u64	config_start;
	u64	config_size;
	u64	config_size;
	u8	disk_id[GUID_SIZE];
	uuid_t	disk_id;
};
};


struct tocblock {			/* We have exactly two bitmaps. */
struct tocblock {			/* We have exactly two bitmaps. */
@@ -154,7 +152,7 @@ struct vblk_dgrp { /* VBLK Disk Group */
};
};


struct vblk_disk {			/* VBLK Disk */
struct vblk_disk {			/* VBLK Disk */
	u8	disk_id[GUID_SIZE];
	uuid_t	disk_id;
	u8	alt_name[128];
	u8	alt_name[128];
};
};


Loading