dm-table.c (aeb5d727062a0238a2f96c9c380fbd2be4640c6f) dm-table.c (9a1c3542768b5a58e45a9216921cd10a3bae1205)
1/*
2 * Copyright (C) 2001 Sistina Software (UK) Limited.
3 * Copyright (C) 2004 Red Hat, Inc. All rights reserved.
4 *
5 * This file is released under the GPL.
6 */
7
8#include "dm.h"

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

352
353 BUG_ON(d->dm_dev.bdev);
354
355 bdev = open_by_devnum(dev, d->dm_dev.mode);
356 if (IS_ERR(bdev))
357 return PTR_ERR(bdev);
358 r = bd_claim_by_disk(bdev, _claim_ptr, dm_disk(md));
359 if (r)
1/*
2 * Copyright (C) 2001 Sistina Software (UK) Limited.
3 * Copyright (C) 2004 Red Hat, Inc. All rights reserved.
4 *
5 * This file is released under the GPL.
6 */
7
8#include "dm.h"

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

352
353 BUG_ON(d->dm_dev.bdev);
354
355 bdev = open_by_devnum(dev, d->dm_dev.mode);
356 if (IS_ERR(bdev))
357 return PTR_ERR(bdev);
358 r = bd_claim_by_disk(bdev, _claim_ptr, dm_disk(md));
359 if (r)
360 blkdev_put(bdev);
360 blkdev_put(bdev, d->dm_dev.mode);
361 else
362 d->dm_dev.bdev = bdev;
363 return r;
364}
365
366/*
367 * Close a device that we've been using.
368 */
369static void close_dev(struct dm_dev_internal *d, struct mapped_device *md)
370{
371 if (!d->dm_dev.bdev)
372 return;
373
374 bd_release_from_disk(d->dm_dev.bdev, dm_disk(md));
361 else
362 d->dm_dev.bdev = bdev;
363 return r;
364}
365
366/*
367 * Close a device that we've been using.
368 */
369static void close_dev(struct dm_dev_internal *d, struct mapped_device *md)
370{
371 if (!d->dm_dev.bdev)
372 return;
373
374 bd_release_from_disk(d->dm_dev.bdev, dm_disk(md));
375 blkdev_put(d->dm_dev.bdev);
375 blkdev_put(d->dm_dev.bdev, d->dm_dev.mode);
376 d->dm_dev.bdev = NULL;
377}
378
379/*
380 * If possible, this checks an area of a destination device is valid.
381 */
382static int check_device_area(struct dm_dev_internal *dd, sector_t start,
383 sector_t len)

--- 624 unchanged lines hidden ---
376 d->dm_dev.bdev = NULL;
377}
378
379/*
380 * If possible, this checks an area of a destination device is valid.
381 */
382static int check_device_area(struct dm_dev_internal *dd, sector_t start,
383 sector_t len)

--- 624 unchanged lines hidden ---