md.c (a39907fa2fdb73d3c0fb06eff06d855c3298d707) md.c (9a1c3542768b5a58e45a9216921cd10a3bae1205)
1/*
2 md.c : Multiple Devices driver for Linux
3 Copyright (C) 1998, 1999, 2000 Ingo Molnar
4
5 completely rewritten, based on the MD driver code from Marc Zyngier
6
7 Changes:
8

--- 1506 unchanged lines hidden (view full) ---

1515 printk(KERN_ERR "md: could not open %s.\n",
1516 __bdevname(dev, b));
1517 return PTR_ERR(bdev);
1518 }
1519 err = bd_claim(bdev, shared ? (mdk_rdev_t *)lock_rdev : rdev);
1520 if (err) {
1521 printk(KERN_ERR "md: could not bd_claim %s.\n",
1522 bdevname(bdev, b));
1/*
2 md.c : Multiple Devices driver for Linux
3 Copyright (C) 1998, 1999, 2000 Ingo Molnar
4
5 completely rewritten, based on the MD driver code from Marc Zyngier
6
7 Changes:
8

--- 1506 unchanged lines hidden (view full) ---

1515 printk(KERN_ERR "md: could not open %s.\n",
1516 __bdevname(dev, b));
1517 return PTR_ERR(bdev);
1518 }
1519 err = bd_claim(bdev, shared ? (mdk_rdev_t *)lock_rdev : rdev);
1520 if (err) {
1521 printk(KERN_ERR "md: could not bd_claim %s.\n",
1522 bdevname(bdev, b));
1523 blkdev_put(bdev);
1523 blkdev_put(bdev, FMODE_READ|FMODE_WRITE);
1524 return err;
1525 }
1526 if (!shared)
1527 set_bit(AllReserved, &rdev->flags);
1528 rdev->bdev = bdev;
1529 return err;
1530}
1531
1532static void unlock_rdev(mdk_rdev_t *rdev)
1533{
1534 struct block_device *bdev = rdev->bdev;
1535 rdev->bdev = NULL;
1536 if (!bdev)
1537 MD_BUG();
1538 bd_release(bdev);
1524 return err;
1525 }
1526 if (!shared)
1527 set_bit(AllReserved, &rdev->flags);
1528 rdev->bdev = bdev;
1529 return err;
1530}
1531
1532static void unlock_rdev(mdk_rdev_t *rdev)
1533{
1534 struct block_device *bdev = rdev->bdev;
1535 rdev->bdev = NULL;
1536 if (!bdev)
1537 MD_BUG();
1538 bd_release(bdev);
1539 blkdev_put(bdev);
1539 blkdev_put(bdev, FMODE_READ|FMODE_WRITE);
1540}
1541
1542void md_autodetect_dev(dev_t dev);
1543
1544static void export_rdev(mdk_rdev_t * rdev)
1545{
1546 char b[BDEVNAME_SIZE];
1547 printk(KERN_INFO "md: export_rdev(%s)\n",

--- 4876 unchanged lines hidden ---
1540}
1541
1542void md_autodetect_dev(dev_t dev);
1543
1544static void export_rdev(mdk_rdev_t * rdev)
1545{
1546 char b[BDEVNAME_SIZE];
1547 printk(KERN_INFO "md: export_rdev(%s)\n",

--- 4876 unchanged lines hidden ---