Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 328e0f12 authored by Philipp Reisner's avatar Philipp Reisner
Browse files

drbd: Broadcast sync progress no more often than once per second

parent 518a4d53
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -965,6 +965,7 @@ struct drbd_conf {
	unsigned long rs_mark_time[DRBD_SYNC_MARKS];
	/* current index into rs_mark_{left,time} */
	int rs_last_mark;
	unsigned long rs_last_bcast; /* [unit jiffies] */

	/* where does the admin want us to start? (sector) */
	sector_t ov_start_sector;
+6 −0
Original line number Diff line number Diff line
@@ -3295,6 +3295,12 @@ void drbd_bcast_event(struct drbd_conf *mdev, const struct sib_info *sib)
	unsigned seq;
	int err = -ENOMEM;

	if (sib->sib_reason == SIB_SYNC_PROGRESS &&
	    time_after(jiffies, mdev->rs_last_bcast + HZ))
		mdev->rs_last_bcast = jiffies;
	else
		return;

	seq = atomic_inc_return(&drbd_genl_seq);
	msg = genlmsg_new(NLMSG_GOODSIZE, GFP_NOIO);
	if (!msg)
+4 −0
Original line number Diff line number Diff line
@@ -1696,6 +1696,10 @@ void drbd_start_resync(struct drbd_conf *mdev, enum drbd_conns side)
	write_unlock_irq(&global_state_lock);

	if (r == SS_SUCCESS) {
		/* reset rs_last_bcast when a resync or verify is started,
		 * to deal with potential jiffies wrap. */
		mdev->rs_last_bcast = jiffies - HZ;

		dev_info(DEV, "Began resync as %s (will sync %lu KB [%lu bits set]).\n",
		     drbd_conn_str(ns.conn),
		     (unsigned long) mdev->rs_total << (BM_BLOCK_SHIFT-10),
+2 −2
Original line number Diff line number Diff line
@@ -52,8 +52,8 @@
#endif

extern const char *drbd_buildtag(void);
#define REL_VERSION "8.3.11"
#define API_VERSION 88
#define REL_VERSION "8.4.2"
#define API_VERSION 1
#define PRO_VERSION_MIN 86
#define PRO_VERSION_MAX 101