mirror of
				https://kernel.googlesource.com/pub/scm/linux/kernel/git/stable/linux-stable.git
				synced 2025-11-04 07:44:51 +10:00 
			
		
		
		
	fs/ntfs3: Optimization in ntfs_set_state()
The current volume flags are updated only if VOLUME_FLAG_DIRTY has been changed. Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
This commit is contained in:
		
							parent
							
								
									1842fbc8d2
								
							
						
					
					
						commit
						625602487a
					
				@ -925,6 +925,7 @@ int ntfs_set_state(struct ntfs_sb_info *sbi, enum NTFS_DIRTY_FLAGS dirty)
 | 
			
		||||
	struct VOLUME_INFO *info;
 | 
			
		||||
	struct mft_inode *mi;
 | 
			
		||||
	struct ntfs_inode *ni;
 | 
			
		||||
	__le16 info_flags;
 | 
			
		||||
 | 
			
		||||
	/*
 | 
			
		||||
	 * Do not change state if fs was real_dirty.
 | 
			
		||||
@ -957,6 +958,8 @@ int ntfs_set_state(struct ntfs_sb_info *sbi, enum NTFS_DIRTY_FLAGS dirty)
 | 
			
		||||
		goto out;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	info_flags = info->flags;
 | 
			
		||||
 | 
			
		||||
	switch (dirty) {
 | 
			
		||||
	case NTFS_DIRTY_ERROR:
 | 
			
		||||
		ntfs_notice(sbi->sb, "Mark volume as dirty due to NTFS errors");
 | 
			
		||||
@ -970,8 +973,10 @@ int ntfs_set_state(struct ntfs_sb_info *sbi, enum NTFS_DIRTY_FLAGS dirty)
 | 
			
		||||
		break;
 | 
			
		||||
	}
 | 
			
		||||
	/* Cache current volume flags. */
 | 
			
		||||
	sbi->volume.flags = info->flags;
 | 
			
		||||
	mi->dirty = true;
 | 
			
		||||
	if (info_flags != info->flags) {
 | 
			
		||||
		sbi->volume.flags = info->flags;
 | 
			
		||||
		mi->dirty = true;
 | 
			
		||||
	}
 | 
			
		||||
	err = 0;
 | 
			
		||||
 | 
			
		||||
out:
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user