UBI: rename_volumes: Use UBI_METAONLY
authorRichard Weinberger <richard@nod.at>
Mon, 24 Nov 2014 21:30:10 +0000 (22:30 +0100)
committerRichard Weinberger <richard@nod.at>
Wed, 28 Jan 2015 14:57:13 +0000 (15:57 +0100)
By using UBI_METAONLY in rename_volumes() it is now possible to rename
an UBI volume atomically while it is open for writing.
This is useful for firmware upgrades.

Cc: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Cc: Andrew Murray <amurray@embedded-bits.co.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
Tested-by: Guido Martínez <guido@vanguardiasur.com.ar>
Reviewed-by: Guido Martínez <guido@vanguardiasur.com.ar>
Tested-by: Christoph Fritz <chf.fritz@googlemail.com>
Tested-by: Andrew Murray <amurray@embedded-bits.co.uk>
drivers/mtd/ubi/cdev.c

index f5c715c..286383c 100644 (file)
@@ -736,7 +736,7 @@ static int rename_volumes(struct ubi_device *ubi,
                        goto out_free;
                }
 
-               re->desc = ubi_open_volume(ubi->ubi_num, vol_id, UBI_READWRITE);
+               re->desc = ubi_open_volume(ubi->ubi_num, vol_id, UBI_METAONLY);
                if (IS_ERR(re->desc)) {
                        err = PTR_ERR(re->desc);
                        ubi_err(ubi, "cannot open volume %d, error %d",