[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 08/32] hd-geometry: Move disk geometry guessing
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH 08/32] hd-geometry: Move disk geometry guessing back from block.c |
Date: |
Sat, 30 Jun 2012 07:50:01 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.3 (gnu/linux) |
Blue Swirl <address@hidden> writes:
> On Fri, Jun 29, 2012 at 3:34 PM, Markus Armbruster <address@hidden> wrote:
>> Commit f3d54fc4 factored it out of hw/ide.c for reuse. Sensible,
>> except it was put into block.c. Device-specific functionality should
>> be kept in device code, not the block layer. Move it to
>> hw/hd-geometry.c, and make stylistic changes required to keep
>> checkpatch.pl happy.
>>
>> Signed-off-by: Markus Armbruster <address@hidden>
>> ---
>> block.c | 121 ------------------------------------------
>> block.h | 1 -
>> blockdev.h | 5 ++
>> hw/Makefile.objs | 2 +-
>> hw/hd-geometry.c | 153
>> ++++++++++++++++++++++++++++++++++++++++++++++++++++++
>> hw/ide/core.c | 2 +-
>> hw/scsi-disk.c | 4 +-
>> hw/virtio-blk.c | 2 +-
>> 8 files changed, 163 insertions(+), 127 deletions(-)
>> create mode 100644 hw/hd-geometry.c
[...]
>> diff --git a/blockdev.h b/blockdev.h
>> index 260e16b..7b05945 100644
>> --- a/blockdev.h
>> +++ b/blockdev.h
>> @@ -62,4 +62,9 @@ void qmp_change_blockdev(const char *device, const char
>> *filename,
>> bool has_format, const char *format, Error **errp);
>> void do_commit(Monitor *mon, const QDict *qdict);
>> int do_drive_del(Monitor *mon, const QDict *qdict, QObject **ret_data);
>> +
>> +/* Hard disk geometry */
>> +void hd_geometry_guess(BlockDriverState *bs,
>> + int *pcyls, int *pheads, int *psecs);
>
> I'd move this to a separate header under hw/.
hw/hd-geometry.h? Or a header collecting shared block device model
code, say hw/block-common.h?
>> +
>> #endif
>> diff --git a/hw/Makefile.objs b/hw/Makefile.objs
>> index 3d77259..5bf1d76 100644
>> --- a/hw/Makefile.objs
>> +++ b/hw/Makefile.objs
>> @@ -137,7 +137,7 @@ common-obj-$(CONFIG_MAX111X) += max111x.o
>> common-obj-$(CONFIG_DS1338) += ds1338.o
>> common-obj-y += i2c.o smbus.o smbus_eeprom.o
>> common-obj-y += eeprom93xx.o
>> -common-obj-y += scsi-disk.o cdrom.o
>> +common-obj-y += scsi-disk.o cdrom.o hd-geometry.o
>> common-obj-y += scsi-generic.o scsi-bus.o
>> common-obj-y += hid.o
>> common-obj-$(CONFIG_SSI) += ssi.o
>> diff --git a/hw/hd-geometry.c b/hw/hd-geometry.c
>> new file mode 100644
>> index 0000000..9b22e3f
>> --- /dev/null
>> +++ b/hw/hd-geometry.c
>> @@ -0,0 +1,153 @@
>> +/*
>> + * Hard disk geometry utilities
>> + *
>> + * Copyright (c) 2003 Fabrice Bellard
>> + *
>> + * Permission is hereby granted, free of charge, to any person obtaining a
>> copy
>> + * of this software and associated documentation files (the "Software"), to
>> deal
>> + * in the Software without restriction, including without limitation the
>> rights
>> + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
>> + * copies of the Software, and to permit persons to whom the Software is
>> + * furnished to do so, subject to the following conditions:
>> + *
>> + * The above copyright notice and this permission notice shall be included
>> in
>> + * all copies or substantial portions of the Software.
>> + *
>> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
>> OR
>> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
>> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
>> + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
>> OTHER
>> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
>> FROM,
>> + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
>> + * THE SOFTWARE.
>> + */
By the way, X11 license. I'd very much prefer to put my contributions
under GPLv2+. Is there an acceptable way to do that?
>> +#include "blockdev.h"
>> +
>> +struct partition {
>
> Partition
Okay.
[...]
- [Qemu-devel] [PATCH 10/32] hd-geometry: Unnest conditional in hd_geometry_guess(), (continued)
- [Qemu-devel] [PATCH 10/32] hd-geometry: Unnest conditional in hd_geometry_guess(), Markus Armbruster, 2012/06/29
- [Qemu-devel] [PATCH 19/32] scsi-hd: qdev properties for disk geometry, Markus Armbruster, 2012/06/29
- [Qemu-devel] [PATCH 30/32] hd-geometry: Compute BIOS CHS translation in one place, Markus Armbruster, 2012/06/29
- [Qemu-devel] [PATCH 12/32] hd-geometry: Clean up gratuitous goto in hd_geometry_guess(), Markus Armbruster, 2012/06/29
- [Qemu-devel] [PATCH 31/32] blockdev: Drop redundant CHS validation for if=ide, Markus Armbruster, 2012/06/29
- [Qemu-devel] [PATCH 20/32] virtio-blk: qdev properties for disk geometry, Markus Armbruster, 2012/06/29
- [Qemu-devel] [PATCH 17/32] qdev: Introduce block geometry properties, Markus Armbruster, 2012/06/29
- [Qemu-devel] [PATCH 27/32] block: Geometry and translation hints are now useless, purge them, Markus Armbruster, 2012/06/29
- [Qemu-devel] [PATCH 08/32] hd-geometry: Move disk geometry guessing back from block.c, Markus Armbruster, 2012/06/29
- [Qemu-devel] [PATCH 26/32] qtest: Cover qdev property for BIOS CHS translation, Markus Armbruster, 2012/06/29
- [Qemu-devel] [PATCH 32/32] Relax IDE CHS limits from 16383, 16, 63 to 65535, 16, 255, Markus Armbruster, 2012/06/29
- [Qemu-devel] [PATCH 23/32] qdev: Collect private helpers in one place, Markus Armbruster, 2012/06/29
- [Qemu-devel] [PATCH 25/32] ide: qdev property for BIOS CHS translation, Markus Armbruster, 2012/06/29
- [Qemu-devel] [PATCH 18/32] hd-geometry: Switch to uint32_t to match BlockConf, Markus Armbruster, 2012/06/29
- [Qemu-devel] [PATCH 24/32] qdev: New property type chs-translation, Markus Armbruster, 2012/06/29
- [Qemu-devel] [PATCH 22/32] qtest: Cover qdev properties for disk geometry, Markus Armbruster, 2012/06/29