pnfs/blocklayout: pass proper file mode to blkdev_get/put
We generally want to read and write to a block device that's used by the pNFS block layout client (and even if it's read only the server has no way of telling us). Add FMODE_WRITE to the mode argument so that we don't incorrectly tell the block driver that we want a read-only open. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
This commit is contained in:
parent
2bd3c63a33
commit
513d6d7a95
|
@ -22,7 +22,7 @@ bl_free_device(struct pnfs_block_dev *dev)
|
|||
kfree(dev->children);
|
||||
} else {
|
||||
if (dev->bdev)
|
||||
blkdev_put(dev->bdev, FMODE_READ);
|
||||
blkdev_put(dev->bdev, FMODE_READ | FMODE_WRITE);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -200,7 +200,7 @@ bl_parse_simple(struct nfs_server *server, struct pnfs_block_dev *d,
|
|||
if (!dev)
|
||||
return -EIO;
|
||||
|
||||
d->bdev = blkdev_get_by_dev(dev, FMODE_READ, NULL);
|
||||
d->bdev = blkdev_get_by_dev(dev, FMODE_READ | FMODE_WRITE, NULL);
|
||||
if (IS_ERR(d->bdev)) {
|
||||
printk(KERN_WARNING "pNFS: failed to open device %d:%d (%ld)\n",
|
||||
MAJOR(dev), MINOR(dev), PTR_ERR(d->bdev));
|
||||
|
|
Loading…
Reference in New Issue