AR_DF_ONLINE
if (rdp->disks[i].flags & AR_DF_ONLINE)
(AR_DF_PRESENT | AR_DF_ASSIGNED | AR_DF_ONLINE);
if (((rdp->disks[disk].flags & (AR_DF_PRESENT | AR_DF_ONLINE)) ==
(AR_DF_PRESENT | AR_DF_ONLINE)) && rdp->disks[disk].dev)
(AR_DF_PRESENT|AR_DF_ASSIGNED|AR_DF_ONLINE|AR_DF_SPARE)) ==
(AR_DF_ONLINE | AR_DF_PRESENT | AR_DF_ASSIGNED);
raid->disks[disk_number].flags |= AR_DF_ONLINE;
raid->disks[disk_number].flags &= ~AR_DF_ONLINE;
if ((rdp->disks[disk].flags & (AR_DF_PRESENT | AR_DF_ONLINE)) ==
(AR_DF_PRESENT | AR_DF_ONLINE))
if (rdp->disks[disk].flags & AR_DF_ONLINE)
if (rdp->disks[disk].flags & AR_DF_ONLINE) {
if (rdp->disks[disk].flags & AR_DF_ONLINE)
(AR_DF_PRESENT | AR_DF_ASSIGNED | AR_DF_ONLINE);
raid->disks[disk].flags |= AR_DF_ONLINE;
raid->disks[disk].flags &= ~(AR_DF_ONLINE | AR_DF_ASSIGNED);
raid->disks[disk].flags &= ~AR_DF_ONLINE;
raid->disks[disk].flags |= (AR_DF_PRESENT | AR_DF_ONLINE);
if (rdp->disks[disk].flags & AR_DF_ONLINE)
(AR_DF_PRESENT | AR_DF_ASSIGNED | AR_DF_ONLINE);
(AR_DF_ONLINE | AR_DF_PRESENT | AR_DF_ASSIGNED);
(AR_DF_ONLINE | AR_DF_PRESENT | AR_DF_ASSIGNED);
raid->disks[meta->disk_number].flags &= ~AR_DF_ONLINE;
(AR_DF_PRESENT | AR_DF_ASSIGNED | AR_DF_ONLINE);
(AR_DF_PRESENT | AR_DF_ASSIGNED | AR_DF_ONLINE);
raid->disks[disk].flags |= AR_DF_ONLINE;
raid->disks[disk].flags &= ~(AR_DF_ONLINE | AR_DF_ASSIGNED);
raid->disks[disk].flags &= ~AR_DF_ONLINE;
(AR_DF_PRESENT | AR_DF_ASSIGNED | AR_DF_ONLINE)) ==
(AR_DF_PRESENT | AR_DF_ASSIGNED | AR_DF_ONLINE)) {
if (rdp->disks[drive].flags & AR_DF_ONLINE)
if ((rdp->disks[disk].flags & (AR_DF_PRESENT | AR_DF_ONLINE)) ==
(AR_DF_PRESENT | AR_DF_ONLINE)) {
(AR_DF_ONLINE | AR_DF_PRESENT | AR_DF_ASSIGNED);
(AR_DF_ONLINE | AR_DF_PRESENT | AR_DF_ASSIGNED);
(AR_DF_ONLINE | AR_DF_PRESENT | AR_DF_ASSIGNED);
if (((rdp->disks[drv].flags & (AR_DF_PRESENT|AR_DF_ONLINE)) ==
(AR_DF_PRESENT|AR_DF_ONLINE) && !rdp->disks[drv].dev)) {
rdp->disks[drv].flags &= ~AR_DF_ONLINE;
(AR_DF_PRESENT|AR_DF_ONLINE))==(AR_DF_PRESENT|AR_DF_ONLINE) &&
~(AR_DF_PRESENT | AR_DF_ONLINE);
rdp->disks[drv].flags &= ~AR_DF_ONLINE;
(AR_DF_PRESENT|AR_DF_ONLINE))==(AR_DF_PRESENT|AR_DF_ONLINE) &&
rdp->disks[drv + rdp->width].flags &= ~AR_DF_ONLINE;
(rdp->disks[drv].flags & AR_DF_ONLINE);
(rdp->disks[drv+rdp->width].flags & AR_DF_ONLINE);
else if (rdp->disks[this].flags & AR_DF_ONLINE) {
if ((rdp->disks[drv+rdp->width].flags & AR_DF_ONLINE) ||
if ((rdp->disks[drv].flags & AR_DF_ONLINE) ||
if (((rdp->disks[drv].flags & (AR_DF_PRESENT|AR_DF_ONLINE)) ==
(AR_DF_PRESENT|AR_DF_ONLINE) && !rdp->disks[drv].dev)) {
rdp->disks[drv].flags &= ~AR_DF_ONLINE;
if (((rdp->disks[par].flags & (AR_DF_PRESENT|AR_DF_ONLINE)) ==
(AR_DF_PRESENT|AR_DF_ONLINE) && !rdp->disks[par].dev)) {
rdp->disks[par].flags &= ~AR_DF_ONLINE;
rdp->disks[request->this].flags &= ~AR_DF_ONLINE;
rdp->disks[request->this].flags &= ~AR_DF_ONLINE;
rdp->disks[request->this].flags &= ~AR_DF_ONLINE;
rdp->disks[request->this].flags &= ~AR_DF_ONLINE;
rdp->disks[disk].flags |= AR_DF_ONLINE;
rdp->disks[disk].flags &= ~AR_DF_ONLINE;
if (!(rdp->disks[disk].flags & AR_DF_ONLINE))
if (!(rdp->disks[disk].flags & AR_DF_ONLINE) &&
!(rdp->disks[disk + rdp->width].flags & AR_DF_ONLINE)) {
else if (((rdp->disks[disk].flags & AR_DF_ONLINE) &&
!(rdp->disks[disk + rdp->width].flags & AR_DF_ONLINE)) ||
(!(rdp->disks[disk].flags & AR_DF_ONLINE) &&
(rdp->disks [disk + rdp->width].flags & AR_DF_ONLINE))) {
if (!(rdp->disks[disk].flags & AR_DF_ONLINE))