UBI: remove redundant mutex
authorArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
Thu, 7 May 2009 08:25:54 +0000 (11:25 +0300)
committerGrazvydas Ignotas <notasas@gmail.com>
Fri, 17 Jul 2009 13:04:20 +0000 (16:04 +0300)
The @mult_mutex does not serve any purpose. We already have
@volumes_mutex and it is enough. The @volume mutex is pushed
down to the 'ubi_rename_volumes()', because we want first
to open all volumes in the exclusive mode, and then lock the
mutex, just like all other ioctl's (remove, re-size, etc) do.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
drivers/mtd/ubi/build.c
drivers/mtd/ubi/cdev.c
drivers/mtd/ubi/ubi.h

index 4e6b95e..958a6f3 100644 (file)
@@ -995,7 +995,6 @@ int ubi_attach_mtd_dev(struct mtd_info *mtd, int ubi_num, int vid_hdr_offset)
 
        mutex_init(&ubi->buf_mutex);
        mutex_init(&ubi->ckvol_mutex);
-       mutex_init(&ubi->mult_mutex);
        mutex_init(&ubi->volumes_mutex);
        spin_lock_init(&ubi->volumes_lock);
 
index 0726fe3..ca841e3 100644 (file)
@@ -815,9 +815,7 @@ static int rename_volumes(struct ubi_device *ubi,
                        re->desc->vol->vol_id, re->desc->vol->name);
        }
 
-       mutex_lock(&ubi->volumes_mutex);
        err = ubi_rename_volumes(ubi, &rename_list);
-       mutex_unlock(&ubi->volumes_mutex);
 
 out_free:
        list_for_each_entry_safe(re, re1, &rename_list, list) {
@@ -957,9 +955,9 @@ static long ubi_cdev_ioctl(struct file *file, unsigned int cmd,
                        break;
                }
 
-               mutex_lock(&ubi->mult_mutex);
+               mutex_lock(&ubi->volumes_mutex);
                err = rename_volumes(ubi, req);
-               mutex_unlock(&ubi->mult_mutex);
+               mutex_unlock(&ubi->volumes_mutex);
                kfree(req);
                break;
        }
index 2758e37..d44bfac 100644 (file)
@@ -374,7 +374,6 @@ struct ubi_wl_entry;
  * @peb_buf2: another buffer of PEB size used for different purposes
  * @buf_mutex: protects @peb_buf1 and @peb_buf2
  * @ckvol_mutex: serializes static volume checking when opening
- * @mult_mutex: serializes operations on multiple volumes, like re-naming
  * @dbg_peb_buf: buffer of PEB size used for debugging
  * @dbg_buf_mutex: protects @dbg_peb_buf
  */
@@ -453,7 +452,6 @@ struct ubi_device {
        void *peb_buf2;
        struct mutex buf_mutex;
        struct mutex ckvol_mutex;
-       struct mutex mult_mutex;
 #ifdef CONFIG_MTD_UBI_DEBUG
        void *dbg_peb_buf;
        struct mutex dbg_buf_mutex;