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 --- |