mbox series

[RFC,v4,linux-next,00/19] fs & block: remove bdev->bd_inode

Message ID 20240222124555.2049140-1-yukuai1@huaweicloud.com (mailing list archive)
Headers show
Series fs & block: remove bdev->bd_inode | expand

Message

Yu Kuai Feb. 22, 2024, 12:45 p.m. UTC
From: Yu Kuai <yukuai3@huawei.com>

Changes in v4:
 - respin on the top of linux-next, based on Christian's patchset to
 open bdev as file. Most of patches from v3 is dropped and change to use
 file_inode(bdev_file) to get bd_inode or bdev_file->f_mapping to get
 bd_inode->i_mapping.

Changes in v3:
 - remove bdev_associated_mapping() and patch 12 from v1;
 - add kerneldoc comments for new bdev apis;
 - rename __bdev_get_folio() to bdev_get_folio;
 - fix a problem in erofs that erofs_init_metabuf() is not always
 called.
 - add reviewed-by tag for patch 15-17;

Changes in v2:
 - remove some bdev apis that is not necessary;
 - pass in offset for bdev_read_folio() and __bdev_get_folio();
 - remove bdev_gfp_constraint() and add a new helper in fs/buffer.c to
 prevent access bd_indoe() directly from mapping_gfp_constraint() in
 ext4.(patch 15, 16);
 - remove block_device_ejected() from ext4.

Yu Kuai (19):
  block: move two helpers into bdev.c
  block: remove sync_blockdev_nowait()
  block: remove sync_blockdev_range()
  block: prevent direct access of bd_inode
  bcachefs: remove dead function bdev_sectors()
  cramfs: prevent direct access of bd_inode
  erofs: prevent direct access of bd_inode
  nilfs2: prevent direct access of bd_inode
  gfs2: prevent direct access of bd_inode
  s390/dasd: use bdev api in dasd_format()
  btrfs: prevent direct access of bd_inode
  ext4: remove block_device_ejected()
  ext4: prevent direct access of bd_inode
  jbd2: prevent direct access of bd_inode
  bcache: prevent direct access of bd_inode
  block2mtd: prevent direct access of bd_inode
  dm-vdo: prevent direct access of bd_inode
  scsi: factor out a helper bdev_read_folio() from scsi_bios_ptable()
  fs & block: remove bdev->bd_inode

 block/bdev.c                              | 108 +++++++++++++++-------
 block/blk-zoned.c                         |   4 +-
 block/blk.h                               |   2 +
 block/fops.c                              |   4 +-
 block/genhd.c                             |   9 +-
 block/ioctl.c                             |   8 +-
 block/partitions/core.c                   |   8 +-
 drivers/md/bcache/super.c                 |   7 +-
 drivers/md/dm-vdo/dedupe.c                |   3 +-
 drivers/md/dm-vdo/dm-vdo-target.c         |   5 +-
 drivers/md/dm-vdo/indexer/config.c        |   1 +
 drivers/md/dm-vdo/indexer/config.h        |   3 +
 drivers/md/dm-vdo/indexer/index-layout.c  |   6 +-
 drivers/md/dm-vdo/indexer/index-layout.h  |   2 +-
 drivers/md/dm-vdo/indexer/index-session.c |  13 +--
 drivers/md/dm-vdo/indexer/index.c         |   4 +-
 drivers/md/dm-vdo/indexer/index.h         |   2 +-
 drivers/md/dm-vdo/indexer/indexer.h       |   4 +-
 drivers/md/dm-vdo/indexer/io-factory.c    |  13 ++-
 drivers/md/dm-vdo/indexer/io-factory.h    |   4 +-
 drivers/md/dm-vdo/indexer/volume.c        |   4 +-
 drivers/md/dm-vdo/indexer/volume.h        |   2 +-
 drivers/md/md-bitmap.c                    |   2 +-
 drivers/mtd/devices/block2mtd.c           |   6 +-
 drivers/s390/block/dasd_ioctl.c           |   5 +-
 drivers/scsi/scsicam.c                    |   3 +-
 fs/affs/file.c                            |   2 +-
 fs/bcachefs/util.h                        |   5 -
 fs/btrfs/dev-replace.c                    |   2 +-
 fs/btrfs/disk-io.c                        |  17 ++--
 fs/btrfs/disk-io.h                        |   4 +-
 fs/btrfs/inode.c                          |   2 +-
 fs/btrfs/super.c                          |   2 +-
 fs/btrfs/volumes.c                        |  32 ++++---
 fs/btrfs/volumes.h                        |   2 +-
 fs/btrfs/zoned.c                          |  20 ++--
 fs/btrfs/zoned.h                          |   4 +-
 fs/buffer.c                               | 103 ++++++++++++---------
 fs/cramfs/inode.c                         |   2 +-
 fs/direct-io.c                            |   4 +-
 fs/erofs/data.c                           |   5 +-
 fs/erofs/internal.h                       |   1 +
 fs/erofs/zmap.c                           |   2 +-
 fs/exfat/fatent.c                         |   2 +-
 fs/ext2/inode.c                           |   4 +-
 fs/ext2/xattr.c                           |   2 +-
 fs/ext4/dir.c                             |   2 +-
 fs/ext4/ext4_jbd2.c                       |   2 +-
 fs/ext4/inode.c                           |   8 +-
 fs/ext4/mmp.c                             |   2 +-
 fs/ext4/page-io.c                         |   5 +-
 fs/ext4/super.c                           |  30 ++----
 fs/ext4/xattr.c                           |   2 +-
 fs/f2fs/data.c                            |   7 +-
 fs/f2fs/f2fs.h                            |   1 +
 fs/fat/inode.c                            |   2 +-
 fs/fuse/dax.c                             |   2 +-
 fs/gfs2/aops.c                            |   2 +-
 fs/gfs2/bmap.c                            |   2 +-
 fs/gfs2/glock.c                           |   2 +-
 fs/gfs2/meta_io.c                         |   2 +-
 fs/gfs2/ops_fstype.c                      |   2 +-
 fs/hpfs/file.c                            |   2 +-
 fs/iomap/buffered-io.c                    |   8 +-
 fs/iomap/direct-io.c                      |  11 ++-
 fs/iomap/swapfile.c                       |   2 +-
 fs/iomap/trace.h                          |   2 +-
 fs/jbd2/commit.c                          |   2 +-
 fs/jbd2/journal.c                         |  34 ++++---
 fs/jbd2/recovery.c                        |   8 +-
 fs/jbd2/revoke.c                          |  13 +--
 fs/jbd2/transaction.c                     |   8 +-
 fs/mpage.c                                |  26 ++++--
 fs/nilfs2/btnode.c                        |   4 +-
 fs/nilfs2/gcinode.c                       |   2 +-
 fs/nilfs2/mdt.c                           |   2 +-
 fs/nilfs2/page.c                          |   4 +-
 fs/nilfs2/recovery.c                      |  27 ++++--
 fs/nilfs2/segment.c                       |   2 +-
 fs/ntfs3/fsntfs.c                         |   8 +-
 fs/ntfs3/inode.c                          |   4 +-
 fs/ntfs3/super.c                          |   2 +-
 fs/ocfs2/journal.c                        |   2 +-
 fs/reiserfs/fix_node.c                    |   2 +-
 fs/reiserfs/journal.c                     |  10 +-
 fs/reiserfs/prints.c                      |   4 +-
 fs/reiserfs/reiserfs.h                    |   6 +-
 fs/reiserfs/stree.c                       |   2 +-
 fs/reiserfs/tail_conversion.c             |   2 +-
 fs/sync.c                                 |   9 +-
 fs/xfs/xfs_iomap.c                        |   4 +-
 fs/zonefs/file.c                          |   4 +-
 include/linux/blk_types.h                 |   1 -
 include/linux/blkdev.h                    |  21 +----
 include/linux/buffer_head.h               |  73 ++++++++++-----
 include/linux/iomap.h                     |  14 ++-
 include/linux/jbd2.h                      |  18 +++-
 include/trace/events/block.h              |   2 +-
 98 files changed, 491 insertions(+), 376 deletions(-)

Comments

Christoph Hellwig Feb. 28, 2024, 1:42 p.m. UTC | #1
The series looks good to me:

Reviewed-by: Christoph Hellwig <hch@lst.de>
Yu Kuai March 15, 2024, 12:08 p.m. UTC | #2
Hi, Christian
Hi, Christoph
Hi, Jan

Perhaps now is a good time to send a formal version of this set.
However, I'm not sure yet what branch should I rebase and send this set.
Should I send to the vfs tree?

Thanks,
Kuai

在 2024/02/22 20:45, Yu Kuai 写道:
> From: Yu Kuai <yukuai3@huawei.com>
> 
> Changes in v4:
>   - respin on the top of linux-next, based on Christian's patchset to
>   open bdev as file. Most of patches from v3 is dropped and change to use
>   file_inode(bdev_file) to get bd_inode or bdev_file->f_mapping to get
>   bd_inode->i_mapping.
> 
> Changes in v3:
>   - remove bdev_associated_mapping() and patch 12 from v1;
>   - add kerneldoc comments for new bdev apis;
>   - rename __bdev_get_folio() to bdev_get_folio;
>   - fix a problem in erofs that erofs_init_metabuf() is not always
>   called.
>   - add reviewed-by tag for patch 15-17;
> 
> Changes in v2:
>   - remove some bdev apis that is not necessary;
>   - pass in offset for bdev_read_folio() and __bdev_get_folio();
>   - remove bdev_gfp_constraint() and add a new helper in fs/buffer.c to
>   prevent access bd_indoe() directly from mapping_gfp_constraint() in
>   ext4.(patch 15, 16);
>   - remove block_device_ejected() from ext4.
> 
> Yu Kuai (19):
>    block: move two helpers into bdev.c
>    block: remove sync_blockdev_nowait()
>    block: remove sync_blockdev_range()
>    block: prevent direct access of bd_inode
>    bcachefs: remove dead function bdev_sectors()
>    cramfs: prevent direct access of bd_inode
>    erofs: prevent direct access of bd_inode
>    nilfs2: prevent direct access of bd_inode
>    gfs2: prevent direct access of bd_inode
>    s390/dasd: use bdev api in dasd_format()
>    btrfs: prevent direct access of bd_inode
>    ext4: remove block_device_ejected()
>    ext4: prevent direct access of bd_inode
>    jbd2: prevent direct access of bd_inode
>    bcache: prevent direct access of bd_inode
>    block2mtd: prevent direct access of bd_inode
>    dm-vdo: prevent direct access of bd_inode
>    scsi: factor out a helper bdev_read_folio() from scsi_bios_ptable()
>    fs & block: remove bdev->bd_inode
> 
>   block/bdev.c                              | 108 +++++++++++++++-------
>   block/blk-zoned.c                         |   4 +-
>   block/blk.h                               |   2 +
>   block/fops.c                              |   4 +-
>   block/genhd.c                             |   9 +-
>   block/ioctl.c                             |   8 +-
>   block/partitions/core.c                   |   8 +-
>   drivers/md/bcache/super.c                 |   7 +-
>   drivers/md/dm-vdo/dedupe.c                |   3 +-
>   drivers/md/dm-vdo/dm-vdo-target.c         |   5 +-
>   drivers/md/dm-vdo/indexer/config.c        |   1 +
>   drivers/md/dm-vdo/indexer/config.h        |   3 +
>   drivers/md/dm-vdo/indexer/index-layout.c  |   6 +-
>   drivers/md/dm-vdo/indexer/index-layout.h  |   2 +-
>   drivers/md/dm-vdo/indexer/index-session.c |  13 +--
>   drivers/md/dm-vdo/indexer/index.c         |   4 +-
>   drivers/md/dm-vdo/indexer/index.h         |   2 +-
>   drivers/md/dm-vdo/indexer/indexer.h       |   4 +-
>   drivers/md/dm-vdo/indexer/io-factory.c    |  13 ++-
>   drivers/md/dm-vdo/indexer/io-factory.h    |   4 +-
>   drivers/md/dm-vdo/indexer/volume.c        |   4 +-
>   drivers/md/dm-vdo/indexer/volume.h        |   2 +-
>   drivers/md/md-bitmap.c                    |   2 +-
>   drivers/mtd/devices/block2mtd.c           |   6 +-
>   drivers/s390/block/dasd_ioctl.c           |   5 +-
>   drivers/scsi/scsicam.c                    |   3 +-
>   fs/affs/file.c                            |   2 +-
>   fs/bcachefs/util.h                        |   5 -
>   fs/btrfs/dev-replace.c                    |   2 +-
>   fs/btrfs/disk-io.c                        |  17 ++--
>   fs/btrfs/disk-io.h                        |   4 +-
>   fs/btrfs/inode.c                          |   2 +-
>   fs/btrfs/super.c                          |   2 +-
>   fs/btrfs/volumes.c                        |  32 ++++---
>   fs/btrfs/volumes.h                        |   2 +-
>   fs/btrfs/zoned.c                          |  20 ++--
>   fs/btrfs/zoned.h                          |   4 +-
>   fs/buffer.c                               | 103 ++++++++++++---------
>   fs/cramfs/inode.c                         |   2 +-
>   fs/direct-io.c                            |   4 +-
>   fs/erofs/data.c                           |   5 +-
>   fs/erofs/internal.h                       |   1 +
>   fs/erofs/zmap.c                           |   2 +-
>   fs/exfat/fatent.c                         |   2 +-
>   fs/ext2/inode.c                           |   4 +-
>   fs/ext2/xattr.c                           |   2 +-
>   fs/ext4/dir.c                             |   2 +-
>   fs/ext4/ext4_jbd2.c                       |   2 +-
>   fs/ext4/inode.c                           |   8 +-
>   fs/ext4/mmp.c                             |   2 +-
>   fs/ext4/page-io.c                         |   5 +-
>   fs/ext4/super.c                           |  30 ++----
>   fs/ext4/xattr.c                           |   2 +-
>   fs/f2fs/data.c                            |   7 +-
>   fs/f2fs/f2fs.h                            |   1 +
>   fs/fat/inode.c                            |   2 +-
>   fs/fuse/dax.c                             |   2 +-
>   fs/gfs2/aops.c                            |   2 +-
>   fs/gfs2/bmap.c                            |   2 +-
>   fs/gfs2/glock.c                           |   2 +-
>   fs/gfs2/meta_io.c                         |   2 +-
>   fs/gfs2/ops_fstype.c                      |   2 +-
>   fs/hpfs/file.c                            |   2 +-
>   fs/iomap/buffered-io.c                    |   8 +-
>   fs/iomap/direct-io.c                      |  11 ++-
>   fs/iomap/swapfile.c                       |   2 +-
>   fs/iomap/trace.h                          |   2 +-
>   fs/jbd2/commit.c                          |   2 +-
>   fs/jbd2/journal.c                         |  34 ++++---
>   fs/jbd2/recovery.c                        |   8 +-
>   fs/jbd2/revoke.c                          |  13 +--
>   fs/jbd2/transaction.c                     |   8 +-
>   fs/mpage.c                                |  26 ++++--
>   fs/nilfs2/btnode.c                        |   4 +-
>   fs/nilfs2/gcinode.c                       |   2 +-
>   fs/nilfs2/mdt.c                           |   2 +-
>   fs/nilfs2/page.c                          |   4 +-
>   fs/nilfs2/recovery.c                      |  27 ++++--
>   fs/nilfs2/segment.c                       |   2 +-
>   fs/ntfs3/fsntfs.c                         |   8 +-
>   fs/ntfs3/inode.c                          |   4 +-
>   fs/ntfs3/super.c                          |   2 +-
>   fs/ocfs2/journal.c                        |   2 +-
>   fs/reiserfs/fix_node.c                    |   2 +-
>   fs/reiserfs/journal.c                     |  10 +-
>   fs/reiserfs/prints.c                      |   4 +-
>   fs/reiserfs/reiserfs.h                    |   6 +-
>   fs/reiserfs/stree.c                       |   2 +-
>   fs/reiserfs/tail_conversion.c             |   2 +-
>   fs/sync.c                                 |   9 +-
>   fs/xfs/xfs_iomap.c                        |   4 +-
>   fs/zonefs/file.c                          |   4 +-
>   include/linux/blk_types.h                 |   1 -
>   include/linux/blkdev.h                    |  21 +----
>   include/linux/buffer_head.h               |  73 ++++++++++-----
>   include/linux/iomap.h                     |  14 ++-
>   include/linux/jbd2.h                      |  18 +++-
>   include/trace/events/block.h              |   2 +-
>   98 files changed, 491 insertions(+), 376 deletions(-)
>
Christian Brauner March 15, 2024, 1:54 p.m. UTC | #3
On Fri, Mar 15, 2024 at 08:08:49PM +0800, Yu Kuai wrote:
> Hi, Christian
> Hi, Christoph
> Hi, Jan
> 
> Perhaps now is a good time to send a formal version of this set.
> However, I'm not sure yet what branch should I rebase and send this set.
> Should I send to the vfs tree?

Nearly all of it is in fs/ so I'd say yes.
Yu Kuai March 16, 2024, 2:49 a.m. UTC | #4
Hi, Christian

在 2024/03/15 21:54, Christian Brauner 写道:
> On Fri, Mar 15, 2024 at 08:08:49PM +0800, Yu Kuai wrote:
>> Hi, Christian
>> Hi, Christoph
>> Hi, Jan
>>
>> Perhaps now is a good time to send a formal version of this set.
>> However, I'm not sure yet what branch should I rebase and send this set.
>> Should I send to the vfs tree?
> 
> Nearly all of it is in fs/ so I'd say yes.
> .

I see that you just create a new branch vfs.fixes, perhaps can I rebase
this set against this branch?

Thanks,
Kuai

>
Christian Brauner March 18, 2024, 9:39 a.m. UTC | #5
On Sat, Mar 16, 2024 at 10:49:33AM +0800, Yu Kuai wrote:
> Hi, Christian
> 
> 在 2024/03/15 21:54, Christian Brauner 写道:
> > On Fri, Mar 15, 2024 at 08:08:49PM +0800, Yu Kuai wrote:
> > > Hi, Christian
> > > Hi, Christoph
> > > Hi, Jan
> > > 
> > > Perhaps now is a good time to send a formal version of this set.
> > > However, I'm not sure yet what branch should I rebase and send this set.
> > > Should I send to the vfs tree?
> > 
> > Nearly all of it is in fs/ so I'd say yes.
> > .
> 
> I see that you just create a new branch vfs.fixes, perhaps can I rebase
> this set against this branch?

Please base it on vfs.super. I'll rebase it to v6.9-rc1 on Sunday.
Yu Kuai March 19, 2024, 1:18 a.m. UTC | #6
Hi,

在 2024/03/18 17:39, Christian Brauner 写道:
> On Sat, Mar 16, 2024 at 10:49:33AM +0800, Yu Kuai wrote:
>> Hi, Christian
>>
>> 在 2024/03/15 21:54, Christian Brauner 写道:
>>> On Fri, Mar 15, 2024 at 08:08:49PM +0800, Yu Kuai wrote:
>>>> Hi, Christian
>>>> Hi, Christoph
>>>> Hi, Jan
>>>>
>>>> Perhaps now is a good time to send a formal version of this set.
>>>> However, I'm not sure yet what branch should I rebase and send this set.
>>>> Should I send to the vfs tree?
>>>
>>> Nearly all of it is in fs/ so I'd say yes.
>>> .
>>
>> I see that you just create a new branch vfs.fixes, perhaps can I rebase
>> this set against this branch?
> 
> Please base it on vfs.super. I'll rebase it to v6.9-rc1 on Sunday.

Okay, I just see that vfs.super doesn't contain commit
1cdeac6da33f("btrfs: pass btrfs_device to btrfs_scratch_superblocks()"),
and you might need to fix the conflict at some point.

Thanks,
Kuai

> .
>
Yu Kuai March 19, 2024, 1:43 a.m. UTC | #7
Hi,

在 2024/03/19 9:18, Yu Kuai 写道:
> Hi,
> 
> 在 2024/03/18 17:39, Christian Brauner 写道:
>> On Sat, Mar 16, 2024 at 10:49:33AM +0800, Yu Kuai wrote:
>>> Hi, Christian
>>>
>>> 在 2024/03/15 21:54, Christian Brauner 写道:
>>>> On Fri, Mar 15, 2024 at 08:08:49PM +0800, Yu Kuai wrote:
>>>>> Hi, Christian
>>>>> Hi, Christoph
>>>>> Hi, Jan
>>>>>
>>>>> Perhaps now is a good time to send a formal version of this set.
>>>>> However, I'm not sure yet what branch should I rebase and send this 
>>>>> set.
>>>>> Should I send to the vfs tree?
>>>>
>>>> Nearly all of it is in fs/ so I'd say yes.
>>>> .
>>>
>>> I see that you just create a new branch vfs.fixes, perhaps can I rebase
>>> this set against this branch?
>>
>> Please base it on vfs.super. I'll rebase it to v6.9-rc1 on Sunday.
> 
> Okay, I just see that vfs.super doesn't contain commit
> 1cdeac6da33f("btrfs: pass btrfs_device to btrfs_scratch_superblocks()"),
> and you might need to fix the conflict at some point.

And there is another problem, dm-vdo doesn't exist in vfs.super yet. Do
you still want me to rebase here?

Thanks,
Kuai

> 
> Thanks,
> Kuai
> 
>> .
>>
> 
> .
>
Matthew Sakai March 19, 2024, 2:13 a.m. UTC | #8
On 3/18/24 21:43, Yu Kuai wrote:
> Hi,
> 
> 在 2024/03/19 9:18, Yu Kuai 写道:
>> Hi,
>>
>> 在 2024/03/18 17:39, Christian Brauner 写道:
>>> On Sat, Mar 16, 2024 at 10:49:33AM +0800, Yu Kuai wrote:
>>>> Hi, Christian
>>>>
>>>> 在 2024/03/15 21:54, Christian Brauner 写道:
>>>>> On Fri, Mar 15, 2024 at 08:08:49PM +0800, Yu Kuai wrote:
>>>>>> Hi, Christian
>>>>>> Hi, Christoph
>>>>>> Hi, Jan
>>>>>>
>>>>>> Perhaps now is a good time to send a formal version of this set.
>>>>>> However, I'm not sure yet what branch should I rebase and send 
>>>>>> this set.
>>>>>> Should I send to the vfs tree?
>>>>>
>>>>> Nearly all of it is in fs/ so I'd say yes.
>>>>> .
>>>>
>>>> I see that you just create a new branch vfs.fixes, perhaps can I rebase
>>>> this set against this branch?
>>>
>>> Please base it on vfs.super. I'll rebase it to v6.9-rc1 on Sunday.
>>
>> Okay, I just see that vfs.super doesn't contain commit
>> 1cdeac6da33f("btrfs: pass btrfs_device to btrfs_scratch_superblocks()"),
>> and you might need to fix the conflict at some point.
> 
> And there is another problem, dm-vdo doesn't exist in vfs.super yet. Do
> you still want me to rebase here?
> 

The dm-vdo changes don't appear to rely on earlier patches in the 
series, so I think dm-vdo could incorporate the dm-vdo patch 
independently from the rest of the series, if that would be helpful. (I 
don't want to confuse things too much.) In that case it would go through 
the dm tree with the rest of dm-vdo.

Matt
Yu Kuai March 19, 2024, 2:27 a.m. UTC | #9
Hi,

在 2024/03/19 10:13, Matthew Sakai 写道:
> 
> On 3/18/24 21:43, Yu Kuai wrote:
>> Hi,
>>
>> 在 2024/03/19 9:18, Yu Kuai 写道:
>>> Hi,
>>>
>>> 在 2024/03/18 17:39, Christian Brauner 写道:
>>>> On Sat, Mar 16, 2024 at 10:49:33AM +0800, Yu Kuai wrote:
>>>>> Hi, Christian
>>>>>
>>>>> 在 2024/03/15 21:54, Christian Brauner 写道:
>>>>>> On Fri, Mar 15, 2024 at 08:08:49PM +0800, Yu Kuai wrote:
>>>>>>> Hi, Christian
>>>>>>> Hi, Christoph
>>>>>>> Hi, Jan
>>>>>>>
>>>>>>> Perhaps now is a good time to send a formal version of this set.
>>>>>>> However, I'm not sure yet what branch should I rebase and send 
>>>>>>> this set.
>>>>>>> Should I send to the vfs tree?
>>>>>>
>>>>>> Nearly all of it is in fs/ so I'd say yes.
>>>>>> .
>>>>>
>>>>> I see that you just create a new branch vfs.fixes, perhaps can I 
>>>>> rebase
>>>>> this set against this branch?
>>>>
>>>> Please base it on vfs.super. I'll rebase it to v6.9-rc1 on Sunday.
>>>
>>> Okay, I just see that vfs.super doesn't contain commit
>>> 1cdeac6da33f("btrfs: pass btrfs_device to btrfs_scratch_superblocks()"),
>>> and you might need to fix the conflict at some point.
>>
>> And there is another problem, dm-vdo doesn't exist in vfs.super yet. Do
>> you still want me to rebase here?
>>
> 
> The dm-vdo changes don't appear to rely on earlier patches in the 
> series, so I think dm-vdo could incorporate the dm-vdo patch 
> independently from the rest of the series, if that would be helpful. (I 
> don't want to confuse things too much.) In that case it would go through 
> the dm tree with the rest of dm-vdo.

We want to remove the 'bd_inode' field in this set. And if we want to go
through dm tree for dm-vdo changes, we must keep the field for now.

I don't have preference, Christian will make the decision.