projects
/
linux-2.6-microblaze.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
block: simplify the block device claiming interface
[linux-2.6-microblaze.git]
/
drivers
/
block
/
loop.c
diff --git
a/drivers/block/loop.c
b/drivers/block/loop.c
index
c0df88b
..
d643c67
100644
(file)
--- a/
drivers/block/loop.c
+++ b/
drivers/block/loop.c
@@
-1069,7
+1069,6
@@
static int loop_configure(struct loop_device *lo, fmode_t mode,
struct file *file;
struct inode *inode;
struct address_space *mapping;
struct file *file;
struct inode *inode;
struct address_space *mapping;
- struct block_device *claimed_bdev = NULL;
int error;
loff_t size;
bool partscan;
int error;
loff_t size;
bool partscan;
@@
-1088,8
+1087,7
@@
static int loop_configure(struct loop_device *lo, fmode_t mode,
* here to avoid changing device under exclusive owner.
*/
if (!(mode & FMODE_EXCL)) {
* here to avoid changing device under exclusive owner.
*/
if (!(mode & FMODE_EXCL)) {
- claimed_bdev = bdev_whole(bdev);
- error = bd_prepare_to_claim(bdev, claimed_bdev, loop_configure);
+ error = bd_prepare_to_claim(bdev, loop_configure);
if (error)
goto out_putf;
}
if (error)
goto out_putf;
}
@@
-1176,15
+1174,15
@@
static int loop_configure(struct loop_device *lo, fmode_t mode,
mutex_unlock(&loop_ctl_mutex);
if (partscan)
loop_reread_partitions(lo, bdev);
mutex_unlock(&loop_ctl_mutex);
if (partscan)
loop_reread_partitions(lo, bdev);
- if (
claimed_bdev
)
- bd_abort_claiming(bdev,
claimed_bdev,
loop_configure);
+ if (
!(mode & FMODE_EXCL)
)
+ bd_abort_claiming(bdev, loop_configure);
return 0;
out_unlock:
mutex_unlock(&loop_ctl_mutex);
out_bdev:
return 0;
out_unlock:
mutex_unlock(&loop_ctl_mutex);
out_bdev:
- if (
claimed_bdev
)
- bd_abort_claiming(bdev,
claimed_bdev,
loop_configure);
+ if (
!(mode & FMODE_EXCL)
)
+ bd_abort_claiming(bdev, loop_configure);
out_putf:
fput(file);
out:
out_putf:
fput(file);
out: