drivers/bch: ioctl() - BIOC_FLUSH: Add calling ioctl() of block driver

Passing `BIOC_FLUSH` to block driver to ensure that changes transfers ("flushes") to the block device

Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
This commit is contained in:
wangjianyu3 2024-01-02 17:01:28 +08:00 committed by Xiang Xiao
parent 08dcef4de0
commit 521b3bb500
1 changed files with 14 additions and 11 deletions

View File

@ -420,14 +420,6 @@ static int bch_ioctl(FAR struct file *filep, int cmd, unsigned long arg)
}
break;
case BIOC_FLUSH:
{
/* Flush any dirty pages remaining in the cache */
ret = bchlib_flushsector(bch, false);
}
break;
#ifdef CONFIG_BCH_ENCRYPTION
/* This is a request to set the encryption key? */
@ -439,9 +431,20 @@ static int bch_ioctl(FAR struct file *filep, int cmd, unsigned long arg)
break;
#endif
/* Otherwise, pass the IOCTL command on to the contained block
* driver.
*/
case BIOC_FLUSH:
{
/* Flush any dirty pages remaining in the cache */
ret = bchlib_flushsector(bch, false);
if (ret < 0)
{
break;
}
/* Go through */
}
/* Pass the IOCTL command on to the contained block driver. */
default:
{