Commit 1011487f authored by Bobi Jam's avatar Bobi Jam Committed by Greg Kroah-Hartman
Browse files

staging: lustre: llite: lower message level for ll_setattr_raw()



Truncate and write can happen at the same time, so that a file can
be set modified even though the file is not restored from released
state, and ll_hsm_state_set() is not applicable for the file, and
it will return error in this case, we'd lower the error message level
in this case.

Signed-off-by: default avatarBobi Jam <bobijam.xu@intel.com>
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6817
Reviewed-on: http://review.whamcloud.com/15541


Reviewed-by: default avatarAndreas Dilger <andreas.dilger@intel.com>
Reviewed-by: default avatarJohn L. Hammond <john.hammond@intel.com>
Reviewed-by: default avatarOleg Drokin <oleg.drokin@intel.com>
Signed-off-by: default avatarJames Simmons <jsimmons@infradead.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent e0ccf5d0
Loading
Loading
Loading
Loading
+9 −1
Original line number Original line Diff line number Diff line
@@ -1513,6 +1513,7 @@ int ll_setattr_raw(struct dentry *dentry, struct iattr *attr, bool hsm_import)
		 */
		 */
		attr->ia_valid |= MDS_OPEN_OWNEROVERRIDE;
		attr->ia_valid |= MDS_OPEN_OWNEROVERRIDE;
		op_data->op_bias |= MDS_DATA_MODIFIED;
		op_data->op_bias |= MDS_DATA_MODIFIED;
		clear_bit(LLIF_DATA_MODIFIED, &lli->lli_flags);
	}
	}


	rc = ll_md_setattr(dentry, op_data);
	rc = ll_md_setattr(dentry, op_data);
@@ -1560,8 +1561,15 @@ int ll_setattr_raw(struct dentry *dentry, struct iattr *attr, bool hsm_import)
		int rc2;
		int rc2;


		rc2 = ll_hsm_state_set(inode, &hss);
		rc2 = ll_hsm_state_set(inode, &hss);
		/*
		 * truncate and write can happen at the same time, so that
		 * the file can be set modified even though the file is not
		 * restored from released state, and ll_hsm_state_set() is
		 * not applicable for the file, and rc2 < 0 is normal in this
		 * case.
		 */
		if (rc2 < 0)
		if (rc2 < 0)
			CERROR(DFID "HSM set dirty failed: rc2 = %d\n",
			CDEBUG(D_INFO, DFID "HSM set dirty failed: rc2 = %d\n",
			       PFID(ll_inode2fid(inode)), rc2);
			       PFID(ll_inode2fid(inode)), rc2);
	}
	}