diff options
Diffstat (limited to 'fs/ubifs/lpt_commit.c')
| -rw-r--r-- | fs/ubifs/lpt_commit.c | 40 | 
1 files changed, 20 insertions, 20 deletions
diff --git a/fs/ubifs/lpt_commit.c b/fs/ubifs/lpt_commit.c index dfcb5748a7d..cddd6bd214f 100644 --- a/fs/ubifs/lpt_commit.c +++ b/fs/ubifs/lpt_commit.c @@ -27,6 +27,7 @@  #include <linux/crc16.h>  #include <linux/slab.h> +#include <linux/random.h>  #include "ubifs.h"  #ifdef CONFIG_UBIFS_FS_DEBUG @@ -116,8 +117,8 @@ static int get_cnodes_to_commit(struct ubifs_info *c)  		return 0;  	cnt += 1;  	while (1) { -		ubifs_assert(!test_bit(COW_ZNODE, &cnode->flags)); -		__set_bit(COW_ZNODE, &cnode->flags); +		ubifs_assert(!test_bit(COW_CNODE, &cnode->flags)); +		__set_bit(COW_CNODE, &cnode->flags);  		cnext = next_dirty_cnode(cnode);  		if (!cnext) {  			cnode->cnext = c->lpt_cnext; @@ -465,7 +466,7 @@ static int write_cnodes(struct ubifs_info *c)  		 */  		clear_bit(DIRTY_CNODE, &cnode->flags);  		smp_mb__before_clear_bit(); -		clear_bit(COW_ZNODE, &cnode->flags); +		clear_bit(COW_CNODE, &cnode->flags);  		smp_mb__after_clear_bit();  		offs += len;  		dbg_chk_lpt_sz(c, 1, len); @@ -1160,11 +1161,11 @@ static int lpt_gc_lnum(struct ubifs_info *c, int lnum)  	void *buf = c->lpt_buf;  	dbg_lp("LEB %d", lnum); -	err = ubi_read(c->ubi, lnum, buf, 0, c->leb_size); -	if (err) { -		ubifs_err("cannot read LEB %d, error %d", lnum, err); + +	err = ubifs_leb_read(c, lnum, buf, 0, c->leb_size, 1); +	if (err)  		return err; -	} +  	while (1) {  		if (!is_a_node(c, buf, len)) {  			int pad_len; @@ -1640,7 +1641,7 @@ static int dbg_check_ltab_lnum(struct ubifs_info *c, int lnum)  	int ret;  	void *buf, *p; -	if (!(ubifs_chk_flags & UBIFS_CHK_LPROPS)) +	if (!dbg_is_chk_lprops(c))  		return 0;  	buf = p = __vmalloc(c->leb_size, GFP_NOFS, PAGE_KERNEL); @@ -1650,11 +1651,11 @@ static int dbg_check_ltab_lnum(struct ubifs_info *c, int lnum)  	}  	dbg_lp("LEB %d", lnum); -	err = ubi_read(c->ubi, lnum, buf, 0, c->leb_size); -	if (err) { -		dbg_msg("ubi_read failed, LEB %d, error %d", lnum, err); + +	err = ubifs_leb_read(c, lnum, buf, 0, c->leb_size, 1); +	if (err)  		goto out; -	} +  	while (1) {  		if (!is_a_node(c, p, len)) {  			int i, pad_len; @@ -1711,7 +1712,7 @@ int dbg_check_ltab(struct ubifs_info *c)  {  	int lnum, err, i, cnt; -	if (!(ubifs_chk_flags & UBIFS_CHK_LPROPS)) +	if (!dbg_is_chk_lprops(c))  		return 0;  	/* Bring the entire tree into memory */ @@ -1754,7 +1755,7 @@ int dbg_chk_lpt_free_spc(struct ubifs_info *c)  	long long free = 0;  	int i; -	if (!(ubifs_chk_flags & UBIFS_CHK_LPROPS)) +	if (!dbg_is_chk_lprops(c))  		return 0;  	for (i = 0; i < c->lpt_lebs; i++) { @@ -1796,7 +1797,7 @@ int dbg_chk_lpt_sz(struct ubifs_info *c, int action, int len)  	long long chk_lpt_sz, lpt_sz;  	int err = 0; -	if (!(ubifs_chk_flags & UBIFS_CHK_LPROPS)) +	if (!dbg_is_chk_lprops(c))  		return 0;  	switch (action) { @@ -1901,11 +1902,10 @@ static void dump_lpt_leb(const struct ubifs_info *c, int lnum)  		return;  	} -	err = ubi_read(c->ubi, lnum, buf, 0, c->leb_size); -	if (err) { -		ubifs_err("cannot read LEB %d, error %d", lnum, err); +	err = ubifs_leb_read(c, lnum, buf, 0, c->leb_size, 1); +	if (err)  		goto out; -	} +  	while (1) {  		offs = c->leb_size - len;  		if (!is_a_node(c, p, len)) { @@ -2019,7 +2019,7 @@ static int dbg_populate_lsave(struct ubifs_info *c)  	struct ubifs_lpt_heap *heap;  	int i; -	if (!(ubifs_chk_flags & UBIFS_CHK_GEN)) +	if (!dbg_is_chk_gen(c))  		return 0;  	if (random32() & 3)  		return 0;  |