diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-02-12 16:50:21 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-02-12 16:50:21 -0500 |
commit | 6bec0035286119eefc32a5b1102127e6a4032cb2 (patch) | |
tree | 440fab001b4c877b0b0c9fd62d8392e956e387e3 /fs/ocfs2 | |
parent | 5d8e7fb6916556e9b476de33404e8c9e2c9aee61 (diff) | |
parent | 15d0f5ea348b9c4e6d41df294dde38a56a39c7bf (diff) |
Merge branch 'for-3.20/bdi' of git://git.kernel.dk/linux-block
Pull backing device changes from Jens Axboe:
"This contains a cleanup of how the backing device is handled, in
preparation for a rework of the life time rules. In this part, the
most important change is to split the unrelated nommu mmap flags from
it, but also removing a backing_dev_info pointer from the
address_space (and inode), and a cleanup of other various minor bits.
Christoph did all the work here, I just fixed an oops with pages that
have a swap backing. Arnd fixed a missing export, and Oleg killed the
lustre backing_dev_info from staging. Last patch was from Al,
unexporting parts that are now no longer needed outside"
* 'for-3.20/bdi' of git://git.kernel.dk/linux-block:
Make super_blocks and sb_lock static
mtd: export new mtd_mmap_capabilities
fs: make inode_to_bdi() handle NULL inode
staging/lustre/llite: get rid of backing_dev_info
fs: remove default_backing_dev_info
fs: don't reassign dirty inodes to default_backing_dev_info
nfs: don't call bdi_unregister
ceph: remove call to bdi_unregister
fs: remove mapping->backing_dev_info
fs: export inode_to_bdi and use it in favor of mapping->backing_dev_info
nilfs2: set up s_bdi like the generic mount_bdev code
block_dev: get bdev inode bdi directly from the block device
block_dev: only write bdev inode on close
fs: introduce f_op->mmap_capabilities for nommu mmap support
fs: kill BDI_CAP_SWAP_BACKED
fs: deduplicate noop_backing_dev_info
Diffstat (limited to 'fs/ocfs2')
-rw-r--r-- | fs/ocfs2/dlmfs/dlmfs.c | 14 | ||||
-rw-r--r-- | fs/ocfs2/file.c | 2 |
2 files changed, 1 insertions, 15 deletions
diff --git a/fs/ocfs2/dlmfs/dlmfs.c b/fs/ocfs2/dlmfs/dlmfs.c index 57c40e34f56f..061ba6a91bf2 100644 --- a/fs/ocfs2/dlmfs/dlmfs.c +++ b/fs/ocfs2/dlmfs/dlmfs.c | |||
@@ -390,12 +390,6 @@ clear_fields: | |||
390 | ip->ip_conn = NULL; | 390 | ip->ip_conn = NULL; |
391 | } | 391 | } |
392 | 392 | ||
393 | static struct backing_dev_info dlmfs_backing_dev_info = { | ||
394 | .name = "ocfs2-dlmfs", | ||
395 | .ra_pages = 0, /* No readahead */ | ||
396 | .capabilities = BDI_CAP_NO_ACCT_AND_WRITEBACK, | ||
397 | }; | ||
398 | |||
399 | static struct inode *dlmfs_get_root_inode(struct super_block *sb) | 393 | static struct inode *dlmfs_get_root_inode(struct super_block *sb) |
400 | { | 394 | { |
401 | struct inode *inode = new_inode(sb); | 395 | struct inode *inode = new_inode(sb); |
@@ -404,7 +398,6 @@ static struct inode *dlmfs_get_root_inode(struct super_block *sb) | |||
404 | if (inode) { | 398 | if (inode) { |
405 | inode->i_ino = get_next_ino(); | 399 | inode->i_ino = get_next_ino(); |
406 | inode_init_owner(inode, NULL, mode); | 400 | inode_init_owner(inode, NULL, mode); |
407 | inode->i_mapping->backing_dev_info = &dlmfs_backing_dev_info; | ||
408 | inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME; | 401 | inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME; |
409 | inc_nlink(inode); | 402 | inc_nlink(inode); |
410 | 403 | ||
@@ -428,7 +421,6 @@ static struct inode *dlmfs_get_inode(struct inode *parent, | |||
428 | 421 | ||
429 | inode->i_ino = get_next_ino(); | 422 | inode->i_ino = get_next_ino(); |
430 | inode_init_owner(inode, parent, mode); | 423 | inode_init_owner(inode, parent, mode); |
431 | inode->i_mapping->backing_dev_info = &dlmfs_backing_dev_info; | ||
432 | inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME; | 424 | inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME; |
433 | 425 | ||
434 | ip = DLMFS_I(inode); | 426 | ip = DLMFS_I(inode); |
@@ -643,10 +635,6 @@ static int __init init_dlmfs_fs(void) | |||
643 | int status; | 635 | int status; |
644 | int cleanup_inode = 0, cleanup_worker = 0; | 636 | int cleanup_inode = 0, cleanup_worker = 0; |
645 | 637 | ||
646 | status = bdi_init(&dlmfs_backing_dev_info); | ||
647 | if (status) | ||
648 | return status; | ||
649 | |||
650 | dlmfs_inode_cache = kmem_cache_create("dlmfs_inode_cache", | 638 | dlmfs_inode_cache = kmem_cache_create("dlmfs_inode_cache", |
651 | sizeof(struct dlmfs_inode_private), | 639 | sizeof(struct dlmfs_inode_private), |
652 | 0, (SLAB_HWCACHE_ALIGN|SLAB_RECLAIM_ACCOUNT| | 640 | 0, (SLAB_HWCACHE_ALIGN|SLAB_RECLAIM_ACCOUNT| |
@@ -673,7 +661,6 @@ bail: | |||
673 | kmem_cache_destroy(dlmfs_inode_cache); | 661 | kmem_cache_destroy(dlmfs_inode_cache); |
674 | if (cleanup_worker) | 662 | if (cleanup_worker) |
675 | destroy_workqueue(user_dlm_worker); | 663 | destroy_workqueue(user_dlm_worker); |
676 | bdi_destroy(&dlmfs_backing_dev_info); | ||
677 | } else | 664 | } else |
678 | printk("OCFS2 User DLM kernel interface loaded\n"); | 665 | printk("OCFS2 User DLM kernel interface loaded\n"); |
679 | return status; | 666 | return status; |
@@ -693,7 +680,6 @@ static void __exit exit_dlmfs_fs(void) | |||
693 | rcu_barrier(); | 680 | rcu_barrier(); |
694 | kmem_cache_destroy(dlmfs_inode_cache); | 681 | kmem_cache_destroy(dlmfs_inode_cache); |
695 | 682 | ||
696 | bdi_destroy(&dlmfs_backing_dev_info); | ||
697 | } | 683 | } |
698 | 684 | ||
699 | MODULE_AUTHOR("Oracle"); | 685 | MODULE_AUTHOR("Oracle"); |
diff --git a/fs/ocfs2/file.c b/fs/ocfs2/file.c index 245db4f504da..e0f04d55fd05 100644 --- a/fs/ocfs2/file.c +++ b/fs/ocfs2/file.c | |||
@@ -2363,7 +2363,7 @@ relock: | |||
2363 | goto out_dio; | 2363 | goto out_dio; |
2364 | } | 2364 | } |
2365 | } else { | 2365 | } else { |
2366 | current->backing_dev_info = file->f_mapping->backing_dev_info; | 2366 | current->backing_dev_info = inode_to_bdi(inode); |
2367 | written = generic_perform_write(file, from, *ppos); | 2367 | written = generic_perform_write(file, from, *ppos); |
2368 | if (likely(written >= 0)) | 2368 | if (likely(written >= 0)) |
2369 | iocb->ki_pos = *ppos + written; | 2369 | iocb->ki_pos = *ppos + written; |