diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-10-26 20:58:44 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-10-26 20:58:44 -0400 |
commit | 426e1f5cec4821945642230218876b0e89aafab1 (patch) | |
tree | 2728ace018d0698886989da586210ef1543a7098 /fs/gfs2 | |
parent | 9e5fca251f44832cb996961048ea977f80faf6ea (diff) | |
parent | 63997e98a3be68d7cec806d22bf9b02b2e1daabb (diff) |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (52 commits)
split invalidate_inodes()
fs: skip I_FREEING inodes in writeback_sb_inodes
fs: fold invalidate_list into invalidate_inodes
fs: do not drop inode_lock in dispose_list
fs: inode split IO and LRU lists
fs: switch bdev inode bdi's correctly
fs: fix buffer invalidation in invalidate_list
fsnotify: use dget_parent
smbfs: use dget_parent
exportfs: use dget_parent
fs: use RCU read side protection in d_validate
fs: clean up dentry lru modification
fs: split __shrink_dcache_sb
fs: improve DCACHE_REFERENCED usage
fs: use percpu counter for nr_dentry and nr_dentry_unused
fs: simplify __d_free
fs: take dcache_lock inside __d_path
fs: do not assign default i_ino in new_inode
fs: introduce a per-cpu last_ino allocator
new helper: ihold()
...
Diffstat (limited to 'fs/gfs2')
-rw-r--r-- | fs/gfs2/aops.c | 3 | ||||
-rw-r--r-- | fs/gfs2/ops_fstype.c | 1 | ||||
-rw-r--r-- | fs/gfs2/ops_inode.c | 8 | ||||
-rw-r--r-- | fs/gfs2/super.c | 1 |
4 files changed, 5 insertions, 8 deletions
diff --git a/fs/gfs2/aops.c b/fs/gfs2/aops.c index 6b24afb96aae..4f36f8832b9b 100644 --- a/fs/gfs2/aops.c +++ b/fs/gfs2/aops.c | |||
@@ -618,7 +618,6 @@ static int gfs2_write_begin(struct file *file, struct address_space *mapping, | |||
618 | struct gfs2_alloc *al = NULL; | 618 | struct gfs2_alloc *al = NULL; |
619 | pgoff_t index = pos >> PAGE_CACHE_SHIFT; | 619 | pgoff_t index = pos >> PAGE_CACHE_SHIFT; |
620 | unsigned from = pos & (PAGE_CACHE_SIZE - 1); | 620 | unsigned from = pos & (PAGE_CACHE_SIZE - 1); |
621 | unsigned to = from + len; | ||
622 | struct page *page; | 621 | struct page *page; |
623 | 622 | ||
624 | gfs2_holder_init(ip->i_gl, LM_ST_EXCLUSIVE, 0, &ip->i_gh); | 623 | gfs2_holder_init(ip->i_gl, LM_ST_EXCLUSIVE, 0, &ip->i_gh); |
@@ -691,7 +690,7 @@ static int gfs2_write_begin(struct file *file, struct address_space *mapping, | |||
691 | } | 690 | } |
692 | 691 | ||
693 | prepare_write: | 692 | prepare_write: |
694 | error = block_prepare_write(page, from, to, gfs2_block_map); | 693 | error = __block_write_begin(page, from, len, gfs2_block_map); |
695 | out: | 694 | out: |
696 | if (error == 0) | 695 | if (error == 0) |
697 | return 0; | 696 | return 0; |
diff --git a/fs/gfs2/ops_fstype.c b/fs/gfs2/ops_fstype.c index aeafc233dc89..cade1acbcea9 100644 --- a/fs/gfs2/ops_fstype.c +++ b/fs/gfs2/ops_fstype.c | |||
@@ -1219,7 +1219,6 @@ fail_sb: | |||
1219 | fail_locking: | 1219 | fail_locking: |
1220 | init_locking(sdp, &mount_gh, UNDO); | 1220 | init_locking(sdp, &mount_gh, UNDO); |
1221 | fail_lm: | 1221 | fail_lm: |
1222 | invalidate_inodes(sb); | ||
1223 | gfs2_gl_hash_clear(sdp); | 1222 | gfs2_gl_hash_clear(sdp); |
1224 | gfs2_lm_unmount(sdp); | 1223 | gfs2_lm_unmount(sdp); |
1225 | fail_sys: | 1224 | fail_sys: |
diff --git a/fs/gfs2/ops_inode.c b/fs/gfs2/ops_inode.c index 0534510200d5..12cbea7502c2 100644 --- a/fs/gfs2/ops_inode.c +++ b/fs/gfs2/ops_inode.c | |||
@@ -255,7 +255,7 @@ out_parent: | |||
255 | gfs2_holder_uninit(ghs); | 255 | gfs2_holder_uninit(ghs); |
256 | gfs2_holder_uninit(ghs + 1); | 256 | gfs2_holder_uninit(ghs + 1); |
257 | if (!error) { | 257 | if (!error) { |
258 | atomic_inc(&inode->i_count); | 258 | ihold(inode); |
259 | d_instantiate(dentry, inode); | 259 | d_instantiate(dentry, inode); |
260 | mark_inode_dirty(inode); | 260 | mark_inode_dirty(inode); |
261 | } | 261 | } |
@@ -1294,7 +1294,7 @@ static int write_empty_blocks(struct page *page, unsigned from, unsigned to) | |||
1294 | int error; | 1294 | int error; |
1295 | 1295 | ||
1296 | if (!page_has_buffers(page)) { | 1296 | if (!page_has_buffers(page)) { |
1297 | error = block_prepare_write(page, from, to, gfs2_block_map); | 1297 | error = __block_write_begin(page, from, to - from, gfs2_block_map); |
1298 | if (unlikely(error)) | 1298 | if (unlikely(error)) |
1299 | return error; | 1299 | return error; |
1300 | 1300 | ||
@@ -1313,7 +1313,7 @@ static int write_empty_blocks(struct page *page, unsigned from, unsigned to) | |||
1313 | next += bh->b_size; | 1313 | next += bh->b_size; |
1314 | if (buffer_mapped(bh)) { | 1314 | if (buffer_mapped(bh)) { |
1315 | if (end) { | 1315 | if (end) { |
1316 | error = block_prepare_write(page, start, end, | 1316 | error = __block_write_begin(page, start, end - start, |
1317 | gfs2_block_map); | 1317 | gfs2_block_map); |
1318 | if (unlikely(error)) | 1318 | if (unlikely(error)) |
1319 | return error; | 1319 | return error; |
@@ -1328,7 +1328,7 @@ static int write_empty_blocks(struct page *page, unsigned from, unsigned to) | |||
1328 | } while (next < to); | 1328 | } while (next < to); |
1329 | 1329 | ||
1330 | if (end) { | 1330 | if (end) { |
1331 | error = block_prepare_write(page, start, end, gfs2_block_map); | 1331 | error = __block_write_begin(page, start, end - start, gfs2_block_map); |
1332 | if (unlikely(error)) | 1332 | if (unlikely(error)) |
1333 | return error; | 1333 | return error; |
1334 | empty_write_end(page, start, end); | 1334 | empty_write_end(page, start, end); |
diff --git a/fs/gfs2/super.c b/fs/gfs2/super.c index 047d1176096c..2b2c4997430b 100644 --- a/fs/gfs2/super.c +++ b/fs/gfs2/super.c | |||
@@ -857,7 +857,6 @@ restart: | |||
857 | gfs2_clear_rgrpd(sdp); | 857 | gfs2_clear_rgrpd(sdp); |
858 | gfs2_jindex_free(sdp); | 858 | gfs2_jindex_free(sdp); |
859 | /* Take apart glock structures and buffer lists */ | 859 | /* Take apart glock structures and buffer lists */ |
860 | invalidate_inodes(sdp->sd_vfs); | ||
861 | gfs2_gl_hash_clear(sdp); | 860 | gfs2_gl_hash_clear(sdp); |
862 | /* Unmount the locking protocol */ | 861 | /* Unmount the locking protocol */ |
863 | gfs2_lm_unmount(sdp); | 862 | gfs2_lm_unmount(sdp); |