drivers/char/raw.c | 10 ++-------- fs/block_dev.c | 2 -- 2 files changed, 2 insertions(+), 10 deletions(-) diff -puN drivers/char/raw.c~RD16-rest-B6 drivers/char/raw.c --- 25/drivers/char/raw.c~RD16-rest-B6 2003-10-29 19:30:44.000000000 -0800 +++ 25-akpm/drivers/char/raw.c 2003-10-29 19:30:44.000000000 -0800 @@ -75,9 +75,7 @@ static int raw_open(struct inode *inode, } filp->f_flags |= O_DIRECT; filp->f_mapping = bdev->bd_inode->i_mapping; - if (++raw_devices[minor].inuse == 1) - filp->f_dentry->d_inode->i_mapping = - bdev->bd_inode->i_mapping; + raw_devices[minor].inuse++; } filp->private_data = bdev; out: @@ -96,11 +94,7 @@ static int raw_release(struct inode *ino down(&raw_mutex); bdev = raw_devices[minor].binding; - if (--raw_devices[minor].inuse == 0) { - /* Here inode->i_mapping == bdev->bd_inode->i_mapping */ - inode->i_mapping = &inode->i_data; - inode->i_mapping->backing_dev_info = &default_backing_dev_info; - } + --raw_devices[minor].inuse; up(&raw_mutex); bd_release(bdev); diff -puN fs/block_dev.c~RD16-rest-B6 fs/block_dev.c --- 25/fs/block_dev.c~RD16-rest-B6 2003-10-29 19:30:44.000000000 -0800 +++ 25-akpm/fs/block_dev.c 2003-10-29 19:30:44.000000000 -0800 @@ -252,7 +252,6 @@ static inline void __bd_forget(struct in { list_del_init(&inode->i_devices); inode->i_bdev = NULL; - inode->i_mapping = &inode->i_data; } static void bdev_clear_inode(struct inode *inode) @@ -406,7 +405,6 @@ static struct block_device *bd_acquire(s if (inode->i_bdev) __bd_forget(inode); inode->i_bdev = bdev; - inode->i_mapping = bdev->bd_inode->i_mapping; list_add(&inode->i_devices, &bdev->bd_inodes); spin_unlock(&bdev_lock); } _