mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-18 22:14:16 +00:00
mtd: block: use a simple bool to track open for write
Instead of propagating the fmode_t, just use a bool to track if a mtd block device was opened for writing. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Hannes Reinecke <hare@suse.de> Acked-by: Christian Brauner <brauner@kernel.org> Acked-by: Richard Weinberger <richard@nod.at> Link: https://lore.kernel.org/r/20230608110258.189493-23-hch@lst.de Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
7d9d7d59d4
commit
658afed19c
3 changed files with 3 additions and 3 deletions
|
@ -208,7 +208,7 @@ static int blktrans_open(struct gendisk *disk, fmode_t mode)
|
||||||
ret = __get_mtd_device(dev->mtd);
|
ret = __get_mtd_device(dev->mtd);
|
||||||
if (ret)
|
if (ret)
|
||||||
goto error_release;
|
goto error_release;
|
||||||
dev->file_mode = mode;
|
dev->writable = mode & FMODE_WRITE;
|
||||||
|
|
||||||
unlock:
|
unlock:
|
||||||
dev->open++;
|
dev->open++;
|
||||||
|
|
|
@ -294,7 +294,7 @@ static void mtdblock_release(struct mtd_blktrans_dev *mbd)
|
||||||
* It was the last usage. Free the cache, but only sync if
|
* It was the last usage. Free the cache, but only sync if
|
||||||
* opened for writing.
|
* opened for writing.
|
||||||
*/
|
*/
|
||||||
if (mbd->file_mode & FMODE_WRITE)
|
if (mbd->writable)
|
||||||
mtd_sync(mbd->mtd);
|
mtd_sync(mbd->mtd);
|
||||||
vfree(mtdblk->cache_data);
|
vfree(mtdblk->cache_data);
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,7 +34,7 @@ struct mtd_blktrans_dev {
|
||||||
struct blk_mq_tag_set *tag_set;
|
struct blk_mq_tag_set *tag_set;
|
||||||
spinlock_t queue_lock;
|
spinlock_t queue_lock;
|
||||||
void *priv;
|
void *priv;
|
||||||
fmode_t file_mode;
|
bool writable;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct mtd_blktrans_ops {
|
struct mtd_blktrans_ops {
|
||||||
|
|
Loading…
Add table
Reference in a new issue