diff options
Diffstat (limited to 'fs/ubifs/tnc.c')
| -rw-r--r-- | fs/ubifs/tnc.c | 9 | 
1 files changed, 5 insertions, 4 deletions
diff --git a/fs/ubifs/tnc.c b/fs/ubifs/tnc.c index 8119b1fd8d9..91b4213dde8 100644 --- a/fs/ubifs/tnc.c +++ b/fs/ubifs/tnc.c @@ -2876,12 +2876,13 @@ static void tnc_destroy_cnext(struct ubifs_info *c)   */  void ubifs_tnc_close(struct ubifs_info *c)  { -	long clean_freed; -  	tnc_destroy_cnext(c);  	if (c->zroot.znode) { -		clean_freed = ubifs_destroy_tnc_subtree(c->zroot.znode); -		atomic_long_sub(clean_freed, &ubifs_clean_zn_cnt); +		long n; + +		ubifs_destroy_tnc_subtree(c->zroot.znode); +		n = atomic_long_read(&c->clean_zn_cnt); +		atomic_long_sub(n, &ubifs_clean_zn_cnt);  	}  	kfree(c->gap_lebs);  	kfree(c->ilebs);  |