Date: Thu, 13 Jan 2011 19:25:15 +0000 (UTC) From: Alexander Motin <mav@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r217373 - projects/graid/head/sys/geom/raid Message-ID: <201101131925.p0DJPFFk061062@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: mav Date: Thu Jan 13 19:25:15 2011 New Revision: 217373 URL: http://svn.freebsd.org/changeset/base/217373 Log: Make `graid status` report subdisks statuses together with disk status. Remove unused (not applicable) G_RAID_DISK_FLAG_XXX constands. Modified: projects/graid/head/sys/geom/raid/g_raid.c projects/graid/head/sys/geom/raid/g_raid.h Modified: projects/graid/head/sys/geom/raid/g_raid.c ============================================================================== --- projects/graid/head/sys/geom/raid/g_raid.c Thu Jan 13 18:53:30 2011 (r217372) +++ projects/graid/head/sys/geom/raid/g_raid.c Thu Jan 13 19:25:15 2011 (r217373) @@ -667,7 +667,7 @@ g_raid_idle(struct g_raid_volume *vol, i continue; G_RAID_DEBUG(1, "Disk %s (device %s) marked as clean.", g_raid_get_diskname(disk), sc->sc_name); - disk->d_flags &= ~G_RAID_DISK_FLAG_DIRTY; +// disk->d_flags &= ~G_RAID_DISK_FLAG_DIRTY; // g_raid_update_metadata(disk); } return (0); @@ -693,7 +693,7 @@ g_raid_unidle(struct g_raid_volume *vol) continue; G_RAID_DEBUG(1, "Disk %s (device %s) marked as dirty.", g_raid_get_diskname(disk), sc->sc_name); - disk->d_flags |= G_RAID_DISK_FLAG_DIRTY; +// disk->d_flags |= G_RAID_DISK_FLAG_DIRTY; // g_raid_update_metadata(disk); } } @@ -1672,6 +1672,8 @@ g_raid_dumpconf(struct sbuf *sb, const c { struct g_raid_softc *sc; struct g_raid_volume *vol; + struct g_raid_subdisk *sd; + struct g_raid_disk *disk; int s; g_topology_assert(); @@ -1700,38 +1702,24 @@ g_raid_dumpconf(struct sbuf *sb, const c sx_xunlock(&sc->sc_lock); g_topology_lock(); } else if (cp != NULL) { - struct g_raid_disk *disk; - disk = cp->private; if (disk == NULL) return; g_topology_unlock(); sx_xlock(&sc->sc_lock); - sbuf_printf(sb, "%s<Flags>", indent); - if (disk->d_flags == 0) - sbuf_printf(sb, "NONE"); - else { - int first = 1; - -#define ADD_FLAG(flag, name) do { \ - if ((disk->d_flags & (flag)) != 0) { \ - if (!first) \ - sbuf_printf(sb, ", "); \ - else \ - first = 0; \ - sbuf_printf(sb, name); \ - } \ -} while (0) - ADD_FLAG(G_RAID_DISK_FLAG_DIRTY, "DIRTY"); - ADD_FLAG(G_RAID_DISK_FLAG_INACTIVE, "INACTIVE"); - ADD_FLAG(G_RAID_DISK_FLAG_SYNCHRONIZING, - "SYNCHRONIZING"); - ADD_FLAG(G_RAID_DISK_FLAG_FORCE_SYNC, "FORCE_SYNC"); -#undef ADD_FLAG - } - sbuf_printf(sb, "</Flags>\n"); - sbuf_printf(sb, "%s<State>%s</State>\n", indent, + sbuf_printf(sb, "%s<State>%s", indent, g_raid_disk_state2str(disk->d_state)); + if (!LIST_EMPTY(&disk->d_subdisks)) { + sbuf_printf(sb, " ("); + LIST_FOREACH(sd, &disk->d_subdisks, sd_next) { + sbuf_printf(sb, "%s", + g_raid_subdisk_state2str(sd->sd_state)); + if (LIST_NEXT(sd, sd_next)) + sbuf_printf(sb, ", "); + } + sbuf_printf(sb, ")"); + } + sbuf_printf(sb, "</State>\n"); sx_xunlock(&sc->sc_lock); g_topology_lock(); } else { Modified: projects/graid/head/sys/geom/raid/g_raid.h ============================================================================== --- projects/graid/head/sys/geom/raid/g_raid.h Thu Jan 13 18:53:30 2011 (r217372) +++ projects/graid/head/sys/geom/raid/g_raid.h Thu Jan 13 19:25:15 2011 (r217373) @@ -42,15 +42,6 @@ struct g_raid_md_object; struct g_raid_tr_object; -#define G_RAID_DISK_FLAG_DIRTY 0x0000000000000001ULL -#define G_RAID_DISK_FLAG_SYNCHRONIZING 0x0000000000000002ULL -#define G_RAID_DISK_FLAG_FORCE_SYNC 0x0000000000000004ULL -#define G_RAID_DISK_FLAG_INACTIVE 0x0000000000000008ULL -#define G_RAID_DISK_FLAG_MASK (G_RAID_DISK_FLAG_DIRTY | \ - G_RAID_DISK_FLAG_SYNCHRONIZING | \ - G_RAID_DISK_FLAG_FORCE_SYNC | \ - G_RAID_DISK_FLAG_INACTIVE) - #define G_RAID_DEVICE_FLAG_NOAUTOSYNC 0x0000000000000001ULL #define G_RAID_DEVICE_FLAG_NOFAILSYNC 0x0000000000000002ULL #define G_RAID_DEVICE_FLAG_MASK (G_RAID_DEVICE_FLAG_NOAUTOSYNC | \
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201101131925.p0DJPFFk061062>