Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

jfs: Convert to bdev_open_by_dev()

Convert jfs to use bdev_open_by_dev() and pass the handle around.

CC: Dave Kleikamp <shaggy@kernel.org>
CC: jfs-discussion@lists.sourceforge.net
Acked-by: Christoph Hellwig <hch@lst.de>
Acked-by: Dave Kleikamp <dave.kleikamp@oracle.com>
Reviewed-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Jan Kara <jack@suse.cz>
Link: https://lore.kernel.org/r/20230927093442.25915-24-jack@suse.cz
Signed-off-by: Christian Brauner <brauner@kernel.org>

authored by

Jan Kara and committed by
Christian Brauner
898c57f4 2b107946

+18 -16
+15 -14
fs/jfs/jfs_logmgr.c
··· 1058 1058 int lmLogOpen(struct super_block *sb) 1059 1059 { 1060 1060 int rc; 1061 - struct block_device *bdev; 1061 + struct bdev_handle *bdev_handle; 1062 1062 struct jfs_log *log; 1063 1063 struct jfs_sb_info *sbi = JFS_SBI(sb); 1064 1064 ··· 1070 1070 1071 1071 mutex_lock(&jfs_log_mutex); 1072 1072 list_for_each_entry(log, &jfs_external_logs, journal_list) { 1073 - if (log->bdev->bd_dev == sbi->logdev) { 1073 + if (log->bdev_handle->bdev->bd_dev == sbi->logdev) { 1074 1074 if (!uuid_equal(&log->uuid, &sbi->loguuid)) { 1075 1075 jfs_warn("wrong uuid on JFS journal"); 1076 1076 mutex_unlock(&jfs_log_mutex); ··· 1100 1100 * file systems to log may have n-to-1 relationship; 1101 1101 */ 1102 1102 1103 - bdev = blkdev_get_by_dev(sbi->logdev, BLK_OPEN_READ | BLK_OPEN_WRITE, 1104 - log, NULL); 1105 - if (IS_ERR(bdev)) { 1106 - rc = PTR_ERR(bdev); 1103 + bdev_handle = bdev_open_by_dev(sbi->logdev, 1104 + BLK_OPEN_READ | BLK_OPEN_WRITE, log, NULL); 1105 + if (IS_ERR(bdev_handle)) { 1106 + rc = PTR_ERR(bdev_handle); 1107 1107 goto free; 1108 1108 } 1109 1109 1110 - log->bdev = bdev; 1110 + log->bdev_handle = bdev_handle; 1111 1111 uuid_copy(&log->uuid, &sbi->loguuid); 1112 1112 1113 1113 /* ··· 1141 1141 lbmLogShutdown(log); 1142 1142 1143 1143 close: /* close external log device */ 1144 - blkdev_put(bdev, log); 1144 + bdev_release(bdev_handle); 1145 1145 1146 1146 free: /* free log descriptor */ 1147 1147 mutex_unlock(&jfs_log_mutex); ··· 1162 1162 init_waitqueue_head(&log->syncwait); 1163 1163 1164 1164 set_bit(log_INLINELOG, &log->flag); 1165 - log->bdev = sb->s_bdev; 1165 + log->bdev_handle = sb->s_bdev_handle; 1166 1166 log->base = addressPXD(&JFS_SBI(sb)->logpxd); 1167 1167 log->size = lengthPXD(&JFS_SBI(sb)->logpxd) >> 1168 1168 (L2LOGPSIZE - sb->s_blocksize_bits); ··· 1436 1436 { 1437 1437 struct jfs_sb_info *sbi = JFS_SBI(sb); 1438 1438 struct jfs_log *log = sbi->log; 1439 - struct block_device *bdev; 1439 + struct bdev_handle *bdev_handle; 1440 1440 int rc = 0; 1441 1441 1442 1442 jfs_info("lmLogClose: log:0x%p", log); ··· 1482 1482 * external log as separate logical volume 1483 1483 */ 1484 1484 list_del(&log->journal_list); 1485 - bdev = log->bdev; 1485 + bdev_handle = log->bdev_handle; 1486 1486 rc = lmLogShutdown(log); 1487 1487 1488 - blkdev_put(bdev, log); 1488 + bdev_release(bdev_handle); 1489 1489 1490 1490 kfree(log); 1491 1491 ··· 1972 1972 1973 1973 bp->l_flag |= lbmREAD; 1974 1974 1975 - bio = bio_alloc(log->bdev, 1, REQ_OP_READ, GFP_NOFS); 1975 + bio = bio_alloc(log->bdev_handle->bdev, 1, REQ_OP_READ, GFP_NOFS); 1976 1976 bio->bi_iter.bi_sector = bp->l_blkno << (log->l2bsize - 9); 1977 1977 __bio_add_page(bio, bp->l_page, LOGPSIZE, bp->l_offset); 1978 1978 BUG_ON(bio->bi_iter.bi_size != LOGPSIZE); ··· 2113 2113 2114 2114 jfs_info("lbmStartIO"); 2115 2115 2116 - bio = bio_alloc(log->bdev, 1, REQ_OP_WRITE | REQ_SYNC, GFP_NOFS); 2116 + bio = bio_alloc(log->bdev_handle->bdev, 1, REQ_OP_WRITE | REQ_SYNC, 2117 + GFP_NOFS); 2117 2118 bio->bi_iter.bi_sector = bp->l_blkno << (log->l2bsize - 9); 2118 2119 __bio_add_page(bio, bp->l_page, LOGPSIZE, bp->l_offset); 2119 2120 BUG_ON(bio->bi_iter.bi_size != LOGPSIZE);
+1 -1
fs/jfs/jfs_logmgr.h
··· 356 356 * before writing syncpt. 357 357 */ 358 358 struct list_head journal_list; /* Global list */ 359 - struct block_device *bdev; /* 4: log lv pointer */ 359 + struct bdev_handle *bdev_handle; /* 4: log lv pointer */ 360 360 int serial; /* 4: log mount serial number */ 361 361 362 362 s64 base; /* @8: log extent address (inline log ) */
+2 -1
fs/jfs/jfs_mount.c
··· 430 430 431 431 if (state == FM_MOUNT) { 432 432 /* record log's dev_t and mount serial number */ 433 - j_sb->s_logdev = cpu_to_le32(new_encode_dev(sbi->log->bdev->bd_dev)); 433 + j_sb->s_logdev = cpu_to_le32( 434 + new_encode_dev(sbi->log->bdev_handle->bdev->bd_dev)); 434 435 j_sb->s_logserial = cpu_to_le32(sbi->log->serial); 435 436 } else if (state == FM_CLEAN) { 436 437 /*