Skip to content

Commit caebc16

Browse files
committed
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2: nilfs2: use mark_buffer_dirty to mark btnode or meta data dirty nilfs2: always set back pointer to host inode in mapping->host nilfs2: get rid of NILFS_I_NILFS nilfs2: use list_first_entry nilfs2: use empty_aops for gc-inodes nilfs2: implement resize ioctl nilfs2: add truncation routine of segment usage file nilfs2: add routine to move secondary super block nilfs2: add ioctl which limits range of segment to be allocated nilfs2: zero fill unused portion of super root block nilfs2: super root size should change depending on inode size nilfs2: get rid of private page allocator nilfs2: merge list_del()/list_add_tail() to list_move_tail()
2 parents d798f7f + 5fc7b14 commit caebc16

27 files changed

+603
-386
lines changed

fs/nilfs2/alloc.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -489,8 +489,8 @@ int nilfs_palloc_prepare_alloc_entry(struct inode *inode,
489489
void nilfs_palloc_commit_alloc_entry(struct inode *inode,
490490
struct nilfs_palloc_req *req)
491491
{
492-
nilfs_mdt_mark_buffer_dirty(req->pr_bitmap_bh);
493-
nilfs_mdt_mark_buffer_dirty(req->pr_desc_bh);
492+
mark_buffer_dirty(req->pr_bitmap_bh);
493+
mark_buffer_dirty(req->pr_desc_bh);
494494
nilfs_mdt_mark_dirty(inode);
495495

496496
brelse(req->pr_bitmap_bh);
@@ -527,8 +527,8 @@ void nilfs_palloc_commit_free_entry(struct inode *inode,
527527
kunmap(req->pr_bitmap_bh->b_page);
528528
kunmap(req->pr_desc_bh->b_page);
529529

530-
nilfs_mdt_mark_buffer_dirty(req->pr_desc_bh);
531-
nilfs_mdt_mark_buffer_dirty(req->pr_bitmap_bh);
530+
mark_buffer_dirty(req->pr_desc_bh);
531+
mark_buffer_dirty(req->pr_bitmap_bh);
532532
nilfs_mdt_mark_dirty(inode);
533533

534534
brelse(req->pr_bitmap_bh);
@@ -683,8 +683,8 @@ int nilfs_palloc_freev(struct inode *inode, __u64 *entry_nrs, size_t nitems)
683683
kunmap(bitmap_bh->b_page);
684684
kunmap(desc_bh->b_page);
685685

686-
nilfs_mdt_mark_buffer_dirty(desc_bh);
687-
nilfs_mdt_mark_buffer_dirty(bitmap_bh);
686+
mark_buffer_dirty(desc_bh);
687+
mark_buffer_dirty(bitmap_bh);
688688
nilfs_mdt_mark_dirty(inode);
689689

690690
brelse(bitmap_bh);

fs/nilfs2/bmap.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,9 @@
3434

3535
struct inode *nilfs_bmap_get_dat(const struct nilfs_bmap *bmap)
3636
{
37-
return NILFS_I_NILFS(bmap->b_inode)->ns_dat;
37+
struct the_nilfs *nilfs = bmap->b_inode->i_sb->s_fs_info;
38+
39+
return nilfs->ns_dat;
3840
}
3941

4042
static int nilfs_bmap_convert_error(struct nilfs_bmap *bmap,

fs/nilfs2/btnode.c

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,6 @@
3434
#include "page.h"
3535
#include "btnode.h"
3636

37-
void nilfs_btnode_cache_init(struct address_space *btnc,
38-
struct backing_dev_info *bdi)
39-
{
40-
nilfs_mapping_init(btnc, bdi);
41-
}
42-
4337
void nilfs_btnode_cache_clear(struct address_space *btnc)
4438
{
4539
invalidate_mapping_pages(btnc, 0, -1);
@@ -62,7 +56,7 @@ nilfs_btnode_create_block(struct address_space *btnc, __u64 blocknr)
6256
BUG();
6357
}
6458
memset(bh->b_data, 0, 1 << inode->i_blkbits);
65-
bh->b_bdev = NILFS_I_NILFS(inode)->ns_bdev;
59+
bh->b_bdev = inode->i_sb->s_bdev;
6660
bh->b_blocknr = blocknr;
6761
set_buffer_mapped(bh);
6862
set_buffer_uptodate(bh);
@@ -94,10 +88,11 @@ int nilfs_btnode_submit_block(struct address_space *btnc, __u64 blocknr,
9488
if (pblocknr == 0) {
9589
pblocknr = blocknr;
9690
if (inode->i_ino != NILFS_DAT_INO) {
97-
struct inode *dat = NILFS_I_NILFS(inode)->ns_dat;
91+
struct the_nilfs *nilfs = inode->i_sb->s_fs_info;
9892

9993
/* blocknr is a virtual block number */
100-
err = nilfs_dat_translate(dat, blocknr, &pblocknr);
94+
err = nilfs_dat_translate(nilfs->ns_dat, blocknr,
95+
&pblocknr);
10196
if (unlikely(err)) {
10297
brelse(bh);
10398
goto out_locked;
@@ -120,7 +115,7 @@ int nilfs_btnode_submit_block(struct address_space *btnc, __u64 blocknr,
120115
goto found;
121116
}
122117
set_buffer_mapped(bh);
123-
bh->b_bdev = NILFS_I_NILFS(inode)->ns_bdev;
118+
bh->b_bdev = inode->i_sb->s_bdev;
124119
bh->b_blocknr = pblocknr; /* set block address for read */
125120
bh->b_end_io = end_buffer_read_sync;
126121
get_bh(bh);
@@ -259,7 +254,7 @@ void nilfs_btnode_commit_change_key(struct address_space *btnc,
259254
"invalid oldkey %lld (newkey=%lld)",
260255
(unsigned long long)oldkey,
261256
(unsigned long long)newkey);
262-
nilfs_btnode_mark_dirty(obh);
257+
mark_buffer_dirty(obh);
263258

264259
spin_lock_irq(&btnc->tree_lock);
265260
radix_tree_delete(&btnc->page_tree, oldkey);
@@ -271,7 +266,7 @@ void nilfs_btnode_commit_change_key(struct address_space *btnc,
271266
unlock_page(opage);
272267
} else {
273268
nilfs_copy_buffer(nbh, obh);
274-
nilfs_btnode_mark_dirty(nbh);
269+
mark_buffer_dirty(nbh);
275270

276271
nbh->b_blocknr = newkey;
277272
ctxt->bh = nbh;

fs/nilfs2/btnode.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ struct nilfs_btnode_chkey_ctxt {
3737
struct buffer_head *newbh;
3838
};
3939

40-
void nilfs_btnode_cache_init(struct address_space *, struct backing_dev_info *);
4140
void nilfs_btnode_cache_clear(struct address_space *);
4241
struct buffer_head *nilfs_btnode_create_block(struct address_space *btnc,
4342
__u64 blocknr);
@@ -51,7 +50,4 @@ void nilfs_btnode_commit_change_key(struct address_space *,
5150
void nilfs_btnode_abort_change_key(struct address_space *,
5251
struct nilfs_btnode_chkey_ctxt *);
5352

54-
#define nilfs_btnode_mark_dirty(bh) nilfs_mark_buffer_dirty(bh)
55-
56-
5753
#endif /* _NILFS_BTNODE_H */

fs/nilfs2/btree.c

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -714,7 +714,7 @@ static void nilfs_btree_promote_key(struct nilfs_bmap *btree,
714714
nilfs_btree_get_nonroot_node(path, level),
715715
path[level].bp_index, key);
716716
if (!buffer_dirty(path[level].bp_bh))
717-
nilfs_btnode_mark_dirty(path[level].bp_bh);
717+
mark_buffer_dirty(path[level].bp_bh);
718718
} while ((path[level].bp_index == 0) &&
719719
(++level < nilfs_btree_height(btree) - 1));
720720
}
@@ -739,7 +739,7 @@ static void nilfs_btree_do_insert(struct nilfs_bmap *btree,
739739
nilfs_btree_node_insert(node, path[level].bp_index,
740740
*keyp, *ptrp, ncblk);
741741
if (!buffer_dirty(path[level].bp_bh))
742-
nilfs_btnode_mark_dirty(path[level].bp_bh);
742+
mark_buffer_dirty(path[level].bp_bh);
743743

744744
if (path[level].bp_index == 0)
745745
nilfs_btree_promote_key(btree, path, level + 1,
@@ -777,9 +777,9 @@ static void nilfs_btree_carry_left(struct nilfs_bmap *btree,
777777
nilfs_btree_node_move_left(left, node, n, ncblk, ncblk);
778778

779779
if (!buffer_dirty(path[level].bp_bh))
780-
nilfs_btnode_mark_dirty(path[level].bp_bh);
780+
mark_buffer_dirty(path[level].bp_bh);
781781
if (!buffer_dirty(path[level].bp_sib_bh))
782-
nilfs_btnode_mark_dirty(path[level].bp_sib_bh);
782+
mark_buffer_dirty(path[level].bp_sib_bh);
783783

784784
nilfs_btree_promote_key(btree, path, level + 1,
785785
nilfs_btree_node_get_key(node, 0));
@@ -823,9 +823,9 @@ static void nilfs_btree_carry_right(struct nilfs_bmap *btree,
823823
nilfs_btree_node_move_right(node, right, n, ncblk, ncblk);
824824

825825
if (!buffer_dirty(path[level].bp_bh))
826-
nilfs_btnode_mark_dirty(path[level].bp_bh);
826+
mark_buffer_dirty(path[level].bp_bh);
827827
if (!buffer_dirty(path[level].bp_sib_bh))
828-
nilfs_btnode_mark_dirty(path[level].bp_sib_bh);
828+
mark_buffer_dirty(path[level].bp_sib_bh);
829829

830830
path[level + 1].bp_index++;
831831
nilfs_btree_promote_key(btree, path, level + 1,
@@ -870,9 +870,9 @@ static void nilfs_btree_split(struct nilfs_bmap *btree,
870870
nilfs_btree_node_move_right(node, right, n, ncblk, ncblk);
871871

872872
if (!buffer_dirty(path[level].bp_bh))
873-
nilfs_btnode_mark_dirty(path[level].bp_bh);
873+
mark_buffer_dirty(path[level].bp_bh);
874874
if (!buffer_dirty(path[level].bp_sib_bh))
875-
nilfs_btnode_mark_dirty(path[level].bp_sib_bh);
875+
mark_buffer_dirty(path[level].bp_sib_bh);
876876

877877
newkey = nilfs_btree_node_get_key(right, 0);
878878
newptr = path[level].bp_newreq.bpr_ptr;
@@ -919,7 +919,7 @@ static void nilfs_btree_grow(struct nilfs_bmap *btree,
919919
nilfs_btree_node_set_level(root, level + 1);
920920

921921
if (!buffer_dirty(path[level].bp_sib_bh))
922-
nilfs_btnode_mark_dirty(path[level].bp_sib_bh);
922+
mark_buffer_dirty(path[level].bp_sib_bh);
923923

924924
path[level].bp_bh = path[level].bp_sib_bh;
925925
path[level].bp_sib_bh = NULL;
@@ -1194,7 +1194,7 @@ static void nilfs_btree_do_delete(struct nilfs_bmap *btree,
11941194
nilfs_btree_node_delete(node, path[level].bp_index,
11951195
keyp, ptrp, ncblk);
11961196
if (!buffer_dirty(path[level].bp_bh))
1197-
nilfs_btnode_mark_dirty(path[level].bp_bh);
1197+
mark_buffer_dirty(path[level].bp_bh);
11981198
if (path[level].bp_index == 0)
11991199
nilfs_btree_promote_key(btree, path, level + 1,
12001200
nilfs_btree_node_get_key(node, 0));
@@ -1226,9 +1226,9 @@ static void nilfs_btree_borrow_left(struct nilfs_bmap *btree,
12261226
nilfs_btree_node_move_right(left, node, n, ncblk, ncblk);
12271227

12281228
if (!buffer_dirty(path[level].bp_bh))
1229-
nilfs_btnode_mark_dirty(path[level].bp_bh);
1229+
mark_buffer_dirty(path[level].bp_bh);
12301230
if (!buffer_dirty(path[level].bp_sib_bh))
1231-
nilfs_btnode_mark_dirty(path[level].bp_sib_bh);
1231+
mark_buffer_dirty(path[level].bp_sib_bh);
12321232

12331233
nilfs_btree_promote_key(btree, path, level + 1,
12341234
nilfs_btree_node_get_key(node, 0));
@@ -1258,9 +1258,9 @@ static void nilfs_btree_borrow_right(struct nilfs_bmap *btree,
12581258
nilfs_btree_node_move_left(node, right, n, ncblk, ncblk);
12591259

12601260
if (!buffer_dirty(path[level].bp_bh))
1261-
nilfs_btnode_mark_dirty(path[level].bp_bh);
1261+
mark_buffer_dirty(path[level].bp_bh);
12621262
if (!buffer_dirty(path[level].bp_sib_bh))
1263-
nilfs_btnode_mark_dirty(path[level].bp_sib_bh);
1263+
mark_buffer_dirty(path[level].bp_sib_bh);
12641264

12651265
path[level + 1].bp_index++;
12661266
nilfs_btree_promote_key(btree, path, level + 1,
@@ -1289,7 +1289,7 @@ static void nilfs_btree_concat_left(struct nilfs_bmap *btree,
12891289
nilfs_btree_node_move_left(left, node, n, ncblk, ncblk);
12901290

12911291
if (!buffer_dirty(path[level].bp_sib_bh))
1292-
nilfs_btnode_mark_dirty(path[level].bp_sib_bh);
1292+
mark_buffer_dirty(path[level].bp_sib_bh);
12931293

12941294
nilfs_btnode_delete(path[level].bp_bh);
12951295
path[level].bp_bh = path[level].bp_sib_bh;
@@ -1315,7 +1315,7 @@ static void nilfs_btree_concat_right(struct nilfs_bmap *btree,
13151315
nilfs_btree_node_move_left(node, right, n, ncblk, ncblk);
13161316

13171317
if (!buffer_dirty(path[level].bp_bh))
1318-
nilfs_btnode_mark_dirty(path[level].bp_bh);
1318+
mark_buffer_dirty(path[level].bp_bh);
13191319

13201320
nilfs_btnode_delete(path[level].bp_sib_bh);
13211321
path[level].bp_sib_bh = NULL;
@@ -1709,7 +1709,7 @@ nilfs_btree_commit_convert_and_insert(struct nilfs_bmap *btree,
17091709
nilfs_btree_node_init(node, 0, 1, n, ncblk, keys, ptrs);
17101710
nilfs_btree_node_insert(node, n, key, dreq->bpr_ptr, ncblk);
17111711
if (!buffer_dirty(bh))
1712-
nilfs_btnode_mark_dirty(bh);
1712+
mark_buffer_dirty(bh);
17131713
if (!nilfs_bmap_dirty(btree))
17141714
nilfs_bmap_set_dirty(btree);
17151715

@@ -1787,7 +1787,7 @@ static int nilfs_btree_propagate_p(struct nilfs_bmap *btree,
17871787
{
17881788
while ((++level < nilfs_btree_height(btree) - 1) &&
17891789
!buffer_dirty(path[level].bp_bh))
1790-
nilfs_btnode_mark_dirty(path[level].bp_bh);
1790+
mark_buffer_dirty(path[level].bp_bh);
17911791

17921792
return 0;
17931793
}
@@ -2229,7 +2229,7 @@ static int nilfs_btree_mark(struct nilfs_bmap *btree, __u64 key, int level)
22292229
}
22302230

22312231
if (!buffer_dirty(bh))
2232-
nilfs_btnode_mark_dirty(bh);
2232+
mark_buffer_dirty(bh);
22332233
brelse(bh);
22342234
if (!nilfs_bmap_dirty(btree))
22352235
nilfs_bmap_set_dirty(btree);

fs/nilfs2/cpfile.c

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -216,14 +216,14 @@ int nilfs_cpfile_get_checkpoint(struct inode *cpfile,
216216
if (!nilfs_cpfile_is_in_first(cpfile, cno))
217217
nilfs_cpfile_block_add_valid_checkpoints(cpfile, cp_bh,
218218
kaddr, 1);
219-
nilfs_mdt_mark_buffer_dirty(cp_bh);
219+
mark_buffer_dirty(cp_bh);
220220

221221
kaddr = kmap_atomic(header_bh->b_page, KM_USER0);
222222
header = nilfs_cpfile_block_get_header(cpfile, header_bh,
223223
kaddr);
224224
le64_add_cpu(&header->ch_ncheckpoints, 1);
225225
kunmap_atomic(kaddr, KM_USER0);
226-
nilfs_mdt_mark_buffer_dirty(header_bh);
226+
mark_buffer_dirty(header_bh);
227227
nilfs_mdt_mark_dirty(cpfile);
228228
}
229229

@@ -326,7 +326,7 @@ int nilfs_cpfile_delete_checkpoints(struct inode *cpfile,
326326
}
327327
if (nicps > 0) {
328328
tnicps += nicps;
329-
nilfs_mdt_mark_buffer_dirty(cp_bh);
329+
mark_buffer_dirty(cp_bh);
330330
nilfs_mdt_mark_dirty(cpfile);
331331
if (!nilfs_cpfile_is_in_first(cpfile, cno)) {
332332
count =
@@ -358,7 +358,7 @@ int nilfs_cpfile_delete_checkpoints(struct inode *cpfile,
358358
header = nilfs_cpfile_block_get_header(cpfile, header_bh,
359359
kaddr);
360360
le64_add_cpu(&header->ch_ncheckpoints, -(u64)tnicps);
361-
nilfs_mdt_mark_buffer_dirty(header_bh);
361+
mark_buffer_dirty(header_bh);
362362
nilfs_mdt_mark_dirty(cpfile);
363363
kunmap_atomic(kaddr, KM_USER0);
364364
}
@@ -671,10 +671,10 @@ static int nilfs_cpfile_set_snapshot(struct inode *cpfile, __u64 cno)
671671
le64_add_cpu(&header->ch_nsnapshots, 1);
672672
kunmap_atomic(kaddr, KM_USER0);
673673

674-
nilfs_mdt_mark_buffer_dirty(prev_bh);
675-
nilfs_mdt_mark_buffer_dirty(curr_bh);
676-
nilfs_mdt_mark_buffer_dirty(cp_bh);
677-
nilfs_mdt_mark_buffer_dirty(header_bh);
674+
mark_buffer_dirty(prev_bh);
675+
mark_buffer_dirty(curr_bh);
676+
mark_buffer_dirty(cp_bh);
677+
mark_buffer_dirty(header_bh);
678678
nilfs_mdt_mark_dirty(cpfile);
679679

680680
brelse(prev_bh);
@@ -774,10 +774,10 @@ static int nilfs_cpfile_clear_snapshot(struct inode *cpfile, __u64 cno)
774774
le64_add_cpu(&header->ch_nsnapshots, -1);
775775
kunmap_atomic(kaddr, KM_USER0);
776776

777-
nilfs_mdt_mark_buffer_dirty(next_bh);
778-
nilfs_mdt_mark_buffer_dirty(prev_bh);
779-
nilfs_mdt_mark_buffer_dirty(cp_bh);
780-
nilfs_mdt_mark_buffer_dirty(header_bh);
777+
mark_buffer_dirty(next_bh);
778+
mark_buffer_dirty(prev_bh);
779+
mark_buffer_dirty(cp_bh);
780+
mark_buffer_dirty(header_bh);
781781
nilfs_mdt_mark_dirty(cpfile);
782782

783783
brelse(prev_bh);

fs/nilfs2/dat.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ static int nilfs_dat_prepare_entry(struct inode *dat,
5454
static void nilfs_dat_commit_entry(struct inode *dat,
5555
struct nilfs_palloc_req *req)
5656
{
57-
nilfs_mdt_mark_buffer_dirty(req->pr_entry_bh);
57+
mark_buffer_dirty(req->pr_entry_bh);
5858
nilfs_mdt_mark_dirty(dat);
5959
brelse(req->pr_entry_bh);
6060
}
@@ -361,7 +361,7 @@ int nilfs_dat_move(struct inode *dat, __u64 vblocknr, sector_t blocknr)
361361
entry->de_blocknr = cpu_to_le64(blocknr);
362362
kunmap_atomic(kaddr, KM_USER0);
363363

364-
nilfs_mdt_mark_buffer_dirty(entry_bh);
364+
mark_buffer_dirty(entry_bh);
365365
nilfs_mdt_mark_dirty(dat);
366366

367367
brelse(entry_bh);

fs/nilfs2/file.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,6 @@ static int nilfs_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf)
111111
nilfs_transaction_commit(inode->i_sb);
112112

113113
mapped:
114-
SetPageChecked(page);
115114
wait_on_page_writeback(page);
116115
return VM_FAULT_LOCKED;
117116
}

0 commit comments

Comments
 (0)