public inbox for lvm2-cvs@sourceware.org help / color / mirror / Atom feed
From: mbroz@sourceware.org To: lvm-devel@redhat.com, lvm2-cvs@sourceware.org Subject: LVM2/lib/metadata metadata-exported.h metadata ... Date: Thu, 25 Sep 2008 15:57:00 -0000 [thread overview] Message-ID: <20080925155703.5415.qmail@sourceware.org> (raw) CVSROOT: /cvs/lvm2 Module name: LVM2 Changes by: mbroz@sourceware.org 2008-09-25 15:57:03 Modified files: lib/metadata : metadata-exported.h metadata.c metadata.h Log message: Try to fix possible infinite loop in dependency tree walking (by mornfall). Patches: http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/metadata/metadata-exported.h.diff?cvsroot=lvm2&r1=1.53&r2=1.54 http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/metadata/metadata.c.diff?cvsroot=lvm2&r1=1.191&r2=1.192 http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/metadata/metadata.h.diff?cvsroot=lvm2&r1=1.182&r2=1.183 --- LVM2/lib/metadata/metadata-exported.h 2008/09/19 06:41:59 1.53 +++ LVM2/lib/metadata/metadata-exported.h 2008/09/25 15:57:02 1.54 @@ -75,8 +75,8 @@ #define PARTIAL_LV 0x01000000U /* LV - derived flag, not written out in metadata*/ -//#define POSTORDER_FLAG 0x02000000U /* Not a real flag, reserved for -// temporary use inside vg_read. */ +//#define POSTORDER_FLAG 0x02000000U /* Not real flags, reserved for +//#define POSTORDER_OPEN_FLAG 0x04000000U temporary use inside vg_read. */ #define LVM_READ 0x00000100U /* LV VG */ #define LVM_WRITE 0x00000200U /* LV VG */ --- LVM2/lib/metadata/metadata.c 2008/09/19 06:41:59 1.191 +++ LVM2/lib/metadata/metadata.c 2008/09/25 15:57:02 1.192 @@ -1199,7 +1199,11 @@ static int _lv_postorder_level(struct logical_volume *lv, void *data) { struct _lv_postorder_baton *baton = data; + if (lv->status & POSTORDER_OPEN_FLAG) + return 1; // a data structure loop has closed... + lv->status |= POSTORDER_OPEN_FLAG; int r =_lv_postorder_visit(lv, baton->fn, baton->data); + lv->status &= ~POSTORDER_OPEN_FLAG; lv->status |= POSTORDER_FLAG; return r; }; --- LVM2/lib/metadata/metadata.h 2008/09/19 06:41:59 1.182 +++ LVM2/lib/metadata/metadata.h 2008/09/25 15:57:02 1.183 @@ -67,8 +67,8 @@ //#define PARTIAL_LV 0x01000000U /* LV - derived flag, not // written out in metadata*/ -#define POSTORDER_FLAG 0x02000000U /* Not a real flag, reserved for - temporary use inside vg_read. */ +#define POSTORDER_FLAG 0x02000000U /* Not real flags, reserved for */ +#define POSTORDER_OPEN_FLAG 0x04000000U /* temporary use inside vg_read. */ //#define LVM_READ 0x00000100U /* LV VG */ //#define LVM_WRITE 0x00000200U /* LV VG */
next reply other threads:[~2008-09-25 15:57 UTC|newest] Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top 2008-09-25 15:57 mbroz [this message] 2010-04-13 17:25 wysochanski
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=20080925155703.5415.qmail@sourceware.org \ --to=mbroz@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).