Skip to content

Commit

Permalink
dm mpath: reduce size of struct multipath
Browse files Browse the repository at this point in the history
Move multipath structure's 'lock' and 'queue_size' members to eliminate
two 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 <[email protected]>
Acked-by: Hannes Reinecke <[email protected]>
Signed-off-by: Alasdair G Kergon <[email protected]>
  • Loading branch information
snitm authored and kergon committed Jun 2, 2012
1 parent 76e10d1 commit 1fbdd2b
Showing 1 changed file with 7 additions and 6 deletions.
13 changes: 7 additions & 6 deletions drivers/md/dm-mpath.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand All @@ -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;

Expand Down

0 comments on commit 1fbdd2b

Please sign in to comment.