On 05/08/2012 11:56 PM, Mike Snitzer wrote:
> Move multipath structure's 'lock' and 'queue_size' members to eliminate
> 2 4-byte holes. Also use a bit within a single unsigned int for each
> existing flag (saves 8-bytes). This allows future flags to be added
> without each consuming an unsigned int.
>
> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx>
> ---
> drivers/md/dm-mpath.c | 13 +++++++------
> 1 files changed, 7 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/md/dm-mpath.c b/drivers/md/dm-mpath.c
> index 754f38f..c351607 100644
> --- a/drivers/md/dm-mpath.c
> +++ b/drivers/md/dm-mpath.c
> @@ -61,11 +61,11 @@ struct multipath {
> struct list_head list;
> struct dm_target *ti;
>
> - spinlock_t lock;
> -
> const char *hw_handler_name;
> char *hw_handler_params;
>
> + spinlock_t lock;
> +
> unsigned nr_priority_groups;
> struct list_head priority_groups;
>
> @@ -81,16 +81,17 @@ struct multipath {
> struct priority_group *next_pg; /* Switch to this PG if set */
> unsigned repeat_count; /* I/Os left before calling PS again */
>
> - unsigned queue_io; /* Must we queue all I/O? */
> - unsigned queue_if_no_path; /* Queue I/O if last path fails? */
> - unsigned saved_queue_if_no_path;/* Saved state during suspension */
> + unsigned queue_io:1; /* Must we queue all I/O? */
> + unsigned queue_if_no_path:1; /* Queue I/O if last path fails? */
> + unsigned saved_queue_if_no_path:1; /* Saved state during suspension */
> +
> unsigned pg_init_retries; /* Number of times to retry pg_init */
> unsigned pg_init_count; /* Number of times pg_init called */
> unsigned pg_init_delay_msecs; /* Number of msecs before pg_init retry */
>
> + unsigned queue_size;
> struct work_struct process_queued_ios;
> struct list_head queued_ios;
> - unsigned queue_size;
>
> struct work_struct trigger_event;
>
Acked-by: Hannes Reinecke <hare@xxxxxxx>
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Storage
hare@xxxxxxx +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)
--
dm-devel mailing list
dm-devel@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/dm-devel
[DM Crypt]
[Fedora Desktop]
[ATA RAID]
[Fedora Marketing]
[Fedora Packaging]
[Fedora SELinux]
[Yosemite Discussion]
[Yosemite Photos]
[KDE Users]
[Fedora Tools]
[Fedora Docs]