diff --git a/fs/jfs/jfs_logmgr.c b/fs/jfs/jfs_logmgr.c index 9609349e92e5..14404780f38d 100644 --- a/fs/jfs/jfs_logmgr.c +++ b/fs/jfs/jfs_logmgr.c @@ -1163,6 +1163,15 @@ static int open_inline_log(struct super_block *sb) set_bit(log_INLINELOG, &log->flag); log->bdev_file = sb->s_bdev_file; + printk("sb: %p, sb t: %s, sbf: %p, bdev1: %p, sbdev: %p, %s\n", + sb, sb->s_type->name, sb->s_bdev_file, file_bdev(sb->s_bdev_file), sb->s_bdev, __func__); + + if (!bdev_nr_sectors(file_bdev(sb->s_bdev_file))) { + kfree(log); + jfs_warn("open_inline_log: block device max sector is 0"); + return -EINVAL; + } + log->base = addressPXD(&JFS_SBI(sb)->logpxd); log->size = lengthPXD(&JFS_SBI(sb)->logpxd) >> (L2LOGPSIZE - sb->s_blocksize_bits);