mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-18 17:54:13 +08:00
drbd: drop drbd_md_flush
The only user of drbd_md_flush was bm_rw(), and it is always followed by either a drbd_md_sync(), or an al_write_transaction(), which, if so configured, both end up submiting a FLUSH|FUA request anyways. Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com> Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
This commit is contained in:
parent
15e26f6a3c
commit
41d9f7cd5b
@ -1155,9 +1155,7 @@ static int bm_rw(struct drbd_device *device, int rw, unsigned flags, unsigned la
|
||||
err = -EIO; /* Disk timeout/force-detach during IO... */
|
||||
|
||||
now = jiffies;
|
||||
if (rw == WRITE) {
|
||||
drbd_md_flush(device);
|
||||
} else /* rw == READ */ {
|
||||
if (rw == READ) {
|
||||
b->bm_set = bm_count_bits(b);
|
||||
drbd_info(device, "recounting of set bits took additional %lu jiffies\n",
|
||||
jiffies - now);
|
||||
|
@ -2182,25 +2182,6 @@ static inline int drbd_queue_order_type(struct drbd_device *device)
|
||||
return QUEUE_ORDERED_NONE;
|
||||
}
|
||||
|
||||
static inline void drbd_md_flush(struct drbd_device *device)
|
||||
{
|
||||
int r;
|
||||
|
||||
if (device->ldev == NULL) {
|
||||
drbd_warn(device, "device->ldev == NULL in drbd_md_flush\n");
|
||||
return;
|
||||
}
|
||||
|
||||
if (test_bit(MD_NO_FUA, &device->flags))
|
||||
return;
|
||||
|
||||
r = blkdev_issue_flush(device->ldev->md_bdev, GFP_NOIO, NULL);
|
||||
if (r) {
|
||||
set_bit(MD_NO_FUA, &device->flags);
|
||||
drbd_err(device, "meta data flush failed with status %d, disabling md-flushes\n", r);
|
||||
}
|
||||
}
|
||||
|
||||
static inline struct drbd_connection *first_connection(struct drbd_resource *resource)
|
||||
{
|
||||
return list_first_entry_or_null(&resource->connections,
|
||||
|
Loading…
Reference in New Issue
Block a user