public inbox for lvm2-cvs@sourceware.org help / color / mirror / Atom feed
From: zkabelac@sourceware.org To: lvm-devel@redhat.com, lvm2-cvs@sourceware.org Subject: LVM2 ./WHATS_NEW lib/locking/locking.c Date: Thu, 13 Jan 2011 14:56:00 -0000 [thread overview] Message-ID: <20110113145618.12179.qmail@sourceware.org> (raw) CVSROOT: /cvs/lvm2 Module name: LVM2 Changes by: zkabelac@sourceware.org 2011-01-13 14:56:17 Modified files: . : WHATS_NEW lib/locking : locking.c Log message: Skip unnecessary lock_vol() call after volume deactivation Improve condition within lock_vol so we are not calling extra unlock if the volume just has been deactivated. Patch uses lck_type and replaces negative 'and' condition to more readable 'or' condition. Few missing strace traces added. Patches: http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/WHATS_NEW.diff?cvsroot=lvm2&r1=1.1879&r2=1.1880 http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/locking/locking.c.diff?cvsroot=lvm2&r1=1.88&r2=1.89 --- LVM2/WHATS_NEW 2011/01/13 14:51:32 1.1879 +++ LVM2/WHATS_NEW 2011/01/13 14:56:17 1.1880 @@ -1,5 +1,6 @@ Version 2.02.81 - =================================== + Skip unnecessary lock_vol() call after volume deactivation. Extend exec_cmd params to specify, when device sync is needed. Replace fs_unlock by sync_local_dev_names to notify local clvmd. (2.02.80) Introduce sync_local_dev_names and CLVMD_CMD_SYNC_NAMES to issue fs_unlock. --- LVM2/lib/locking/locking.c 2011/01/12 20:42:50 1.88 +++ LVM2/lib/locking/locking.c 2011/01/13 14:56:17 1.89 @@ -406,6 +406,7 @@ { char resource[258] __attribute__((aligned(8))); lv_operation_t lv_op; + int lck_type = flags & LCK_TYPE_MASK; switch (flags & (LCK_SCOPE_MASK | LCK_TYPE_MASK)) { case LCK_LV_SUSPEND: @@ -432,15 +433,15 @@ if (is_orphan_vg(vol)) vol = VG_ORPHANS; /* VG locks alphabetical, ORPHAN lock last */ - if (((flags & LCK_TYPE_MASK) != LCK_UNLOCK) && - !(flags & LCK_CACHE) && - !lvmcache_verify_lock_order(vol)) - return 0; + if ((lck_type != LCK_UNLOCK) && + !(flags & LCK_CACHE) && + !lvmcache_verify_lock_order(vol)) + return_0; /* Lock VG to change on-disk metadata. */ /* If LVM1 driver knows about the VG, it can't be accessed. */ if (!check_lvm1_vg_inactive(cmd, vol)) - return 0; + return_0; break; case LCK_LV: /* All LV locks are non-blocking. */ @@ -455,18 +456,18 @@ strncpy(resource, vol, sizeof(resource)); if (!_lock_vol(cmd, resource, flags, lv_op)) - return 0; + return_0; /* * If a real lock was acquired (i.e. not LCK_CACHE), * perform an immediate unlock unless LCK_HOLD was requested. */ - if (!(flags & LCK_CACHE) && !(flags & LCK_HOLD) && - ((flags & LCK_TYPE_MASK) != LCK_UNLOCK)) { - if (!_lock_vol(cmd, resource, - (flags & ~LCK_TYPE_MASK) | LCK_UNLOCK, lv_op)) - return 0; - } + if ((lck_type == LCK_NULL) || (lck_type == LCK_UNLOCK) || + (flags & (LCK_CACHE | LCK_HOLD))) + return 1; + + if (!_lock_vol(cmd, resource, (flags & ~LCK_TYPE_MASK) | LCK_UNLOCK, lv_op)) + return_0; return 1; }
next reply other threads:[~2011-01-13 14:56 UTC|newest] Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top 2011-01-13 14:56 zkabelac [this message] -- strict thread matches above, loose matches on Subject: below -- 2012-03-27 15:53 mbroz 2011-08-10 16:07 mbroz 2010-03-31 17:23 mbroz 2010-01-13 17:40 mbroz 2009-11-23 10:55 mbroz 2009-07-14 11:01 agk 2009-02-22 16:13 agk 2008-05-08 18:35 agk 2006-10-14 16:37 agk
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20110113145618.12179.qmail@sourceware.org \ --to=zkabelac@sourceware.org \ --cc=lvm-devel@redhat.com \ --cc=lvm2-cvs@sourceware.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).