mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 06:44:00 -04:00
block: replace fmode_t with a block-specific type for block open flags
The only overlap between the block open flags mapped into the fmode_t and
other uses of fmode_t are FMODE_READ and FMODE_WRITE. Define a new
blk_mode_t instead for use in blkdev_get_by_{dev,path}, ->open and
->ioctl and stop abusing fmode_t.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Acked-by: Jack Wang <jinpu.wang@ionos.com> [rnbd]
Reviewed-by: Hannes Reinecke <hare@suse.de>
Reviewed-by: Christian Brauner <brauner@kernel.org>
Link: https://lore.kernel.org/r/20230608110258.189493-28-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
committed by
Jens Axboe
parent
5e4ea83467
commit
05bdb99653
@@ -1146,7 +1146,7 @@ clean_up_and_return:
|
||||
* is in their own interest: device control becomes a lot easier
|
||||
* this way.
|
||||
*/
|
||||
int cdrom_open(struct cdrom_device_info *cdi, fmode_t mode)
|
||||
int cdrom_open(struct cdrom_device_info *cdi, blk_mode_t mode)
|
||||
{
|
||||
int ret;
|
||||
|
||||
@@ -1155,7 +1155,7 @@ int cdrom_open(struct cdrom_device_info *cdi, fmode_t mode)
|
||||
/* if this was a O_NONBLOCK open and we should honor the flags,
|
||||
* do a quick open without drive/disc integrity checks. */
|
||||
cdi->use_count++;
|
||||
if ((mode & FMODE_NDELAY) && (cdi->options & CDO_USE_FFLAGS)) {
|
||||
if ((mode & BLK_OPEN_NDELAY) && (cdi->options & CDO_USE_FFLAGS)) {
|
||||
ret = cdi->ops->open(cdi, 1);
|
||||
} else {
|
||||
ret = open_for_data(cdi);
|
||||
@@ -1163,7 +1163,7 @@ int cdrom_open(struct cdrom_device_info *cdi, fmode_t mode)
|
||||
goto err;
|
||||
if (CDROM_CAN(CDC_GENERIC_PACKET))
|
||||
cdrom_mmc3_profile(cdi);
|
||||
if (mode & FMODE_WRITE) {
|
||||
if (mode & BLK_OPEN_WRITE) {
|
||||
ret = -EROFS;
|
||||
if (cdrom_open_write(cdi))
|
||||
goto err_release;
|
||||
|
||||
@@ -474,7 +474,7 @@ static const struct cdrom_device_ops gdrom_ops = {
|
||||
CDC_RESET | CDC_DRIVE_STATUS | CDC_CD_R,
|
||||
};
|
||||
|
||||
static int gdrom_bdops_open(struct gendisk *disk, fmode_t mode)
|
||||
static int gdrom_bdops_open(struct gendisk *disk, blk_mode_t mode)
|
||||
{
|
||||
int ret;
|
||||
|
||||
@@ -499,7 +499,7 @@ static unsigned int gdrom_bdops_check_events(struct gendisk *disk,
|
||||
return cdrom_check_events(gd.cd_info, clearing);
|
||||
}
|
||||
|
||||
static int gdrom_bdops_ioctl(struct block_device *bdev, fmode_t mode,
|
||||
static int gdrom_bdops_ioctl(struct block_device *bdev, blk_mode_t mode,
|
||||
unsigned cmd, unsigned long arg)
|
||||
{
|
||||
int ret;
|
||||
|
||||
Reference in New Issue
Block a user