Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit aad88bde authored by Andriy Skulysh's avatar Andriy Skulysh Committed by Greg Kroah-Hartman
Browse files

staging: lustre: ldlm: ASSERTION(flock->blocking_export!=0) failed



Whole policy structure was zeroed twice. Once during enqueue
and second time during resend or replay. Policy structure
should be initialized with default values only in ldlm_lock_new().

Signed-off-by: default avatarAndriy Skulysh <andriy.skulysh@seagate.com>
Signed-off-by: default avatarBen Evans <bevans@cray.com>
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-8349
Seagate-bug-id: MRP-2536, MRP-2909
Reviewed-on: http://review.whamcloud.com/21061


Reviewed-by: default avatarAlexander Boyko <alexander.boyko@seagate.com>
Reviewed-by: default avatarVitaly Fertman <vitaly.fertman@seagate.com>
Reviewed-by: default avatarMike Pershin <mike.pershin@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 15134e09
Loading
Loading
Loading
Loading
+0 −1
Original line number Original line Diff line number Diff line
@@ -243,7 +243,6 @@ void ldlm_extent_unlink_lock(struct ldlm_lock *lock)
void ldlm_extent_policy_wire_to_local(const union ldlm_wire_policy_data *wpolicy,
void ldlm_extent_policy_wire_to_local(const union ldlm_wire_policy_data *wpolicy,
				      union ldlm_policy_data *lpolicy)
				      union ldlm_policy_data *lpolicy)
{
{
	memset(lpolicy, 0, sizeof(*lpolicy));
	lpolicy->l_extent.start = wpolicy->l_extent.start;
	lpolicy->l_extent.start = wpolicy->l_extent.start;
	lpolicy->l_extent.end = wpolicy->l_extent.end;
	lpolicy->l_extent.end = wpolicy->l_extent.end;
	lpolicy->l_extent.gid = wpolicy->l_extent.gid;
	lpolicy->l_extent.gid = wpolicy->l_extent.gid;
+0 −1
Original line number Original line Diff line number Diff line
@@ -615,7 +615,6 @@ EXPORT_SYMBOL(ldlm_flock_completion_ast);
void ldlm_flock_policy_wire_to_local(const union ldlm_wire_policy_data *wpolicy,
void ldlm_flock_policy_wire_to_local(const union ldlm_wire_policy_data *wpolicy,
				     union ldlm_policy_data *lpolicy)
				     union ldlm_policy_data *lpolicy)
{
{
	memset(lpolicy, 0, sizeof(*lpolicy));
	lpolicy->l_flock.start = wpolicy->l_flock.lfw_start;
	lpolicy->l_flock.start = wpolicy->l_flock.lfw_start;
	lpolicy->l_flock.end = wpolicy->l_flock.lfw_end;
	lpolicy->l_flock.end = wpolicy->l_flock.lfw_end;
	lpolicy->l_flock.pid = wpolicy->l_flock.lfw_pid;
	lpolicy->l_flock.pid = wpolicy->l_flock.lfw_pid;
+0 −1
Original line number Original line Diff line number Diff line
@@ -57,7 +57,6 @@
void ldlm_ibits_policy_wire_to_local(const union ldlm_wire_policy_data *wpolicy,
void ldlm_ibits_policy_wire_to_local(const union ldlm_wire_policy_data *wpolicy,
				     union ldlm_policy_data *lpolicy)
				     union ldlm_policy_data *lpolicy)
{
{
	memset(lpolicy, 0, sizeof(*lpolicy));
	lpolicy->l_inodebits.bits = wpolicy->l_inodebits.bits;
	lpolicy->l_inodebits.bits = wpolicy->l_inodebits.bits;
}
}