Skip to content

Commit

Permalink
UBI: block: Set disk_capacity out of the mutex
Browse files Browse the repository at this point in the history
There's no need to set the disk capacity with the mutex held, so this
commit takes the variable setting out of the mutex. This simplifies
the disk capacity fix for very large volumes in a follow up commit.

Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
  • Loading branch information
Ezequiel Garcia authored and Artem Bityutskiy committed Jul 28, 2014
1 parent 495f2bf commit 0a3d571
Showing 1 changed file with 2 additions and 4 deletions.
6 changes: 2 additions & 4 deletions drivers/mtd/ubi/block.c
Original file line number Diff line number Diff line change
Expand Up @@ -378,7 +378,7 @@ int ubiblock_create(struct ubi_volume_info *vi)
{
struct ubiblock *dev;
struct gendisk *gd;
int disk_capacity;
int disk_capacity = (vi->size * vi->usable_leb_size) >> 9;
int ret;

/* Check that the volume isn't already handled */
Expand Down Expand Up @@ -412,7 +412,6 @@ int ubiblock_create(struct ubi_volume_info *vi)
gd->first_minor = dev->ubi_num * UBI_MAX_VOLUMES + dev->vol_id;
gd->private_data = dev;
sprintf(gd->disk_name, "ubiblock%d_%d", dev->ubi_num, dev->vol_id);
disk_capacity = (vi->size * vi->usable_leb_size) >> 9;
set_capacity(gd, disk_capacity);
dev->gd = gd;

Expand Down Expand Up @@ -501,7 +500,7 @@ int ubiblock_remove(struct ubi_volume_info *vi)
static int ubiblock_resize(struct ubi_volume_info *vi)
{
struct ubiblock *dev;
int disk_capacity;
int disk_capacity = (vi->size * vi->usable_leb_size) >> 9;

/*
* Need to lock the device list until we stop using the device,
Expand All @@ -516,7 +515,6 @@ static int ubiblock_resize(struct ubi_volume_info *vi)
}

mutex_lock(&dev->dev_mutex);
disk_capacity = (vi->size * vi->usable_leb_size) >> 9;
set_capacity(dev->gd, disk_capacity);
ubi_msg("%s resized to %d LEBs", dev->gd->disk_name, vi->size);
mutex_unlock(&dev->dev_mutex);
Expand Down

0 comments on commit 0a3d571

Please sign in to comment.