Whamcloud - gitweb
Revert "LU-3027 clio: Do not shrink sublock at cancel" 49/7749/2
authorOleg Drokin <oleg.drokin@intel.com>
Tue, 24 Sep 2013 18:24:56 +0000 (18:24 +0000)
committerOleg Drokin <oleg.drokin@intel.com>
Tue, 24 Sep 2013 18:25:03 +0000 (18:25 +0000)
This uncovered another long standing problem that is LU-3874

This reverts commit fcf44d0a05ebd9bc9c2ce52c314b0e67a656140e

Change-Id: I0b31abdb5c00c089d0f91eb217ea82b2325dac21
Reviewed-on: http://review.whamcloud.com/7749
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Tested-by: Oleg Drokin <oleg.drokin@intel.com>
lustre/lov/lovsub_lock.c

index deee598..6963e59 100644 (file)
@@ -416,12 +416,15 @@ static void lovsub_lock_delete(const struct lu_env *env,
                 struct lov_lock      *lov;
                 struct lov_lock_link *scan;
                 struct lov_lock_link *temp;
                 struct lov_lock      *lov;
                 struct lov_lock_link *scan;
                 struct lov_lock_link *temp;
+                struct lov_lock_sub  *subdata;
 
                 restart = 0;
                 cfs_list_for_each_entry_safe(scan, temp,
                                              &sub->lss_parents, lll_list) {
                         lov     = scan->lll_super;
 
                 restart = 0;
                 cfs_list_for_each_entry_safe(scan, temp,
                                              &sub->lss_parents, lll_list) {
                         lov     = scan->lll_super;
+                        subdata = &lov->lls_sub[scan->lll_idx];
                         lovsub_parent_lock(env, lov);
                         lovsub_parent_lock(env, lov);
+                        subdata->sub_got = subdata->sub_descr;
                         lov_lock_unlink(env, scan, sub);
                         restart = lovsub_lock_delete_one(env, child, lov);
                         lovsub_parent_unlock(env, lov);
                         lov_lock_unlink(env, scan, sub);
                         restart = lovsub_lock_delete_one(env, child, lov);
                         lovsub_parent_unlock(env, lov);