[Ocfs2-devel] ocfs2: why not set EROFS when clearing bits multiple times

Joseph Qi joseph.qi at huawei.com
Tue Nov 5 00:20:08 PST 2013


In ocfs2_block_group_clear_bits, when num_bits != bits_cleared, it just
log an error message without setting EROFS.

The code is below:

	/*
	 * If encountered, it means we are clearing bits multiple times. While
	 * we are handling the case, we still need to be alerted to its
	 * occurrence. Hence, marking it as an ERROR and not NOTICE.
	 */
	if (num_bits != bits_cleared) {
		mlog(ML_ERROR, "Trying to clear %u bits at offset %u in group "
		     "descriptor # %llu (device %s), needed to clear %u bits\n",
		     num_bits, bit_off,
		     (unsigned long long)le64_to_cpu(bg->bg_blkno),
		     alloc_inode->i_sb->s_id, bits_cleared);
	}

If this case happens, does it mean the filesystem have already been
inconsistent? If so, why not set EROFS when this case happens?
Or anyone knows which case will casue bits to be cleared multiple times?
Thanks very much.




More information about the Ocfs2-devel mailing list