public inbox for lvm2-cvs@sourceware.org help / color / mirror / Atom feed
From: agk@sourceware.org To: lvm-devel@redhat.com, lvm2-cvs@sourceware.org Subject: LVM2/libdm libdm-deptree.c Date: Wed, 07 Apr 2010 23:51:00 -0000 [thread overview] Message-ID: <20100407235135.14727.qmail@sourceware.org> (raw) CVSROOT: /cvs/lvm2 Module name: LVM2 Changes by: agk@sourceware.org 2010-04-07 23:51:34 Modified files: libdm : libdm-deptree.c Log message: Only fail if the top-level LV fails to be deactivated - allow deactivation of its dependencies to fail. Patches: http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/libdm/libdm-deptree.c.diff?cvsroot=lvm2&r1=1.74&r2=1.75 --- LVM2/libdm/libdm-deptree.c 2010/04/07 21:25:09 1.74 +++ LVM2/libdm/libdm-deptree.c 2010/04/07 23:51:34 1.75 @@ -1013,9 +1013,13 @@ return r; } -int dm_tree_deactivate_children(struct dm_tree_node *dnode, - const char *uuid_prefix, - size_t uuid_prefix_len) +/* + * FIXME Don't attempt to deactivate known internal dependencies. + */ +static int _dm_tree_deactivate_children(struct dm_tree_node *dnode, + const char *uuid_prefix, + size_t uuid_prefix_len, + unsigned level) { int r = 1; void *handle = NULL; @@ -1051,10 +1055,13 @@ continue; if (info.open_count) { - log_error("Unable to deactivate open %s (%" PRIu32 - ":%" PRIu32 ")", name, info.major, - info.minor); - r = 0; + /* Only report error from (likely non-internal) dependency at top level */ + if (!level) { + log_error("Unable to deactivate open %s (%" PRIu32 + ":%" PRIu32 ")", name, info.major, + info.minor); + r = 0; + } continue; } @@ -1067,14 +1074,22 @@ continue; } - if (dm_tree_node_num_children(child, 0)) - if (!dm_tree_deactivate_children(child, uuid_prefix, uuid_prefix_len)) + if (dm_tree_node_num_children(child, 0)) { + if (!_dm_tree_deactivate_children(child, uuid_prefix, uuid_prefix_len, level + 1)) return_0; + } } return r; } +int dm_tree_deactivate_children(struct dm_tree_node *dnode, + const char *uuid_prefix, + size_t uuid_prefix_len) +{ + return _dm_tree_deactivate_children(dnode, uuid_prefix, uuid_prefix_len, 0); +} + void dm_tree_skip_lockfs(struct dm_tree_node *dnode) { dnode->dtree->skip_lockfs = 1;
next reply other threads:[~2010-04-07 23:51 UTC|newest] Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top 2010-04-07 23:51 agk [this message] -- strict thread matches above, loose matches on Subject: below -- 2012-05-15 20:03 agk 2012-05-15 14:10 agk 2012-03-04 16:05 zkabelac 2012-03-02 21:53 zkabelac 2012-01-25 8:46 zkabelac 2012-01-19 15:22 zkabelac 2011-11-04 12:39 zkabelac 2011-10-30 22:04 zkabelac 2011-10-28 20:11 zkabelac 2011-10-20 10:39 zkabelac 2011-10-20 10:35 zkabelac 2011-10-19 16:45 zkabelac 2011-10-19 16:41 zkabelac 2011-10-17 14:15 zkabelac 2011-10-17 14:14 zkabelac 2011-10-03 18:29 zkabelac 2011-09-29 8:51 zkabelac 2011-07-08 19:13 agk 2011-06-22 12:56 prajnoha 2011-06-11 12:55 agk 2011-06-09 15:53 mbroz 2010-11-29 12:42 zkabelac 2010-11-29 11:26 zkabelac 2010-05-25 8:40 zkabelac 2010-04-07 21:25 agk 2010-01-15 16:00 jbrassow 2010-01-05 21:06 snitzer 2010-01-05 21:05 snitzer 2010-01-05 21:04 snitzer 2009-09-22 16:27 jbrassow 2009-07-07 16:36 agk 2008-12-12 18:45 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=20100407235135.14727.qmail@sourceware.org \ --to=agk@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).