int err, count = 100; 
int err; 
static void md_update_sb(mddev_t * mddev){	int err, count = 100;	struct list_head *tmp;	mdk_rdev_t *rdev;	int sync_req;repeat:	spin_lock(&mddev->write_lock);	sync_req = mddev->in_sync;	mddev->utime = get_seconds();	mddev->events ++;	if (!mddev->events) {		/*		 * oops, this 64-bit counter should never wrap.		 * Either we are in around ~1 trillion A.C., assuming		 * 1 reboot per second, or we have a bug:		 */		MD_BUG();		mddev->events --;	}	sync_sbs(mddev);	/*	 * do not write anything to disk if using	 * nonpersistent superblocks	 */	if (!mddev->persistent) {		mddev->sb_dirty = 0;		spin_unlock(&mddev->write_lock);		wake_up(&mddev->sb_wait);		return;	}	spin_unlock(&mddev->write_lock);	dprintk(KERN_INFO 		"md: updating %s RAID superblock on device (in sync %d)\n",		mdname(mddev),mddev->in_sync);	err = bitmap_update_sb(mddev->bitmap);	ITERATE_RDEV(mddev,rdev,tmp) {		char b[BDEVNAME_SIZE];		dprintk(KERN_INFO "md: ");		if (rdev->faulty)			dprintk("(skipping faulty ");		dprintk("%s ", bdevname(rdev->bdev,b));		if (!rdev->faulty) {			err += write_disk_sb(rdev);		} else			dprintk(")\n");		if (!err && mddev->level == LEVEL_MULTIPATH)			/* only need to write one superblock... */			break;	}	if (err) {		if (--count) {			printk(KERN_ERR "md: errors occurred during superblock"				" update, repeating\n");			goto repeat;		}		printk(KERN_ERR \			"md: excessive errors occurred during superblock update, exiting\n");	}	spin_lock(&mddev->write_lock);	if (mddev->in_sync != sync_req) {		/* have to write it out again */		spin_unlock(&mddev->write_lock);		goto repeat;	}	mddev->sb_dirty = 0;	spin_unlock(&mddev->write_lock);	wake_up(&mddev->sb_wait);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/7bfa19f2748000d646dbdf8f48258cfe1d257b52/md.c/clean/drivers/md/md.c