diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2024-04-03 16:47:22 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2024-04-03 17:34:02 -0400 |
commit | 5639fb38cabaa326b8b664d874a46509d4a60bf2 (patch) | |
tree | 3f3aa73ebc9505bede820ce02d7e8a9bad7dfa08 /linux/blkdev.c | |
parent | 9f4ed5ce05888b62d1e4417323c553e5d06f4abf (diff) |
Update bcachefs sources to 09d4c2acbf4c bcachefs: reconstruct_inode()
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'linux/blkdev.c')
-rw-r--r-- | linux/blkdev.c | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/linux/blkdev.c b/linux/blkdev.c index b7f58737..54122955 100644 --- a/linux/blkdev.c +++ b/linux/blkdev.c @@ -162,16 +162,18 @@ sector_t get_capacity(struct gendisk *disk) return bytes >> 9; } -void bdev_release(struct bdev_handle *handle) +void fput(struct file *file) { - fdatasync(handle->bdev->bd_fd); - close(handle->bdev->bd_fd); - free(handle->bdev); - free(handle); + struct block_device *bdev = file_bdev(file); + + fdatasync(bdev->bd_fd); + close(bdev->bd_fd); + free(bdev); + free(file); } -struct bdev_handle *bdev_open_by_path(const char *path, blk_mode_t mode, - void *holder, const struct blk_holder_ops *hop) +struct file *bdev_file_open_by_path(const char *path, blk_mode_t mode, + void *holder, const struct blk_holder_ops *hop) { int fd, flags = 0; @@ -204,13 +206,12 @@ struct bdev_handle *bdev_open_by_path(const char *path, blk_mode_t mode, bdev->bd_disk = &bdev->__bd_disk; bdev->bd_disk->bdi = &bdev->bd_disk->__bdi; bdev->queue.backing_dev_info = bdev->bd_disk->bdi; + bdev->bd_inode = &bdev->__bd_inode; - struct bdev_handle *handle = calloc(sizeof(*handle), 1); - handle->bdev = bdev; - handle->holder = holder; - handle->mode = mode; + struct file *file = calloc(sizeof(*file), 1); + file->f_inode = bdev->bd_inode; - return handle; + return file; } int lookup_bdev(const char *path, dev_t *dev) |