X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Flclient%2Flcommon_misc.c;h=5b85217334c9ae4d91a909488873efce09eaa789;hb=9f7e47cfc7f0346ac2eb0ab45c8dff058c271fa1;hp=ce9b14d102a7375b37e4d15bf6a11efdfacf654e;hpb=6fe18330660980fc4ec4fd4e960f5415e571a54e;p=fs%2Flustre-release.git diff --git a/lustre/lclient/lcommon_misc.c b/lustre/lclient/lcommon_misc.c index ce9b14d..5b85217 100644 --- a/lustre/lclient/lcommon_misc.c +++ b/lustre/lclient/lcommon_misc.c @@ -26,7 +26,7 @@ * GPL HEADER END */ /* - * Copyright 2008 Sun Microsystems, Inc. All rights reserved. + * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. * Use is subject to license terms. */ /* @@ -102,13 +102,13 @@ int cl_ocd_update(struct obd_device *host, flags = cli->cl_import->imp_connect_data.ocd_connect_flags; CDEBUG(D_SUPER, "Changing connect_flags: "LPX64" -> "LPX64"\n", lco->lco_flags, flags); - spin_lock(&lco->lco_lock); + cfs_mutex_down(&lco->lco_lock); lco->lco_flags &= flags; /* for each osc event update ea size */ if (lco->lco_dt_exp) cl_init_ea_size(lco->lco_md_exp, lco->lco_dt_exp); - spin_unlock(&lco->lco_lock); + cfs_mutex_up(&lco->lco_lock); result = 0; } else { CERROR("unexpected notification from %s %s!\n", @@ -154,8 +154,9 @@ int cl_get_grouplock(struct cl_object *obj, unsigned long gid, int nonblock, descr->cld_mode = CLM_GROUP; enqflags = CEF_MUST | (nonblock ? CEF_NONBLOCK : 0); - lock = cl_lock_request(env, io, descr, enqflags, - GROUPLOCK_SCOPE, cfs_current()); + descr->cld_enq_flags = enqflags; + + lock = cl_lock_request(env, io, descr, GROUPLOCK_SCOPE, cfs_current()); if (IS_ERR(lock)) { cl_io_fini(env, io); cl_env_put(env, &refcheck);