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

Commit b178cf43 authored by Yan, Zheng's avatar Yan, Zheng Committed by Ilya Dryomov
Browse files

ceph: don't use CEPH_OSD_FLAG_ORDERSNAP



Inode can be moved between snap realms. It's possible inode is moved
into a snap realm whose seq number is smaller than old snap realm's.
So there is no guarantee that seq number inode's snap context always
increases.

Signed-off-by: default avatar"Yan, Zheng" <zyan@redhat.com>
Signed-off-by: default avatarIlya Dryomov <idryomov@gmail.com>
parent 1c0a9c2d
Loading
Loading
Loading
Loading
+3 −3
Original line number Original line Diff line number Diff line
@@ -787,7 +787,7 @@ static void ceph_aio_retry_work(struct work_struct *work)
		goto out;
		goto out;
	}
	}


	req->r_flags = CEPH_OSD_FLAG_ORDERSNAP | CEPH_OSD_FLAG_WRITE;
	req->r_flags = /* CEPH_OSD_FLAG_ORDERSNAP | */ CEPH_OSD_FLAG_WRITE;
	ceph_oloc_copy(&req->r_base_oloc, &orig_req->r_base_oloc);
	ceph_oloc_copy(&req->r_base_oloc, &orig_req->r_base_oloc);
	ceph_oid_copy(&req->r_base_oid, &orig_req->r_base_oid);
	ceph_oid_copy(&req->r_base_oid, &orig_req->r_base_oid);


@@ -860,7 +860,7 @@ ceph_direct_read_write(struct kiocb *iocb, struct iov_iter *iter,
		if (ret2 < 0)
		if (ret2 < 0)
			dout("invalidate_inode_pages2_range returned %d\n", ret2);
			dout("invalidate_inode_pages2_range returned %d\n", ret2);


		flags = CEPH_OSD_FLAG_ORDERSNAP | CEPH_OSD_FLAG_WRITE;
		flags = /* CEPH_OSD_FLAG_ORDERSNAP | */ CEPH_OSD_FLAG_WRITE;
	} else {
	} else {
		flags = CEPH_OSD_FLAG_READ;
		flags = CEPH_OSD_FLAG_READ;
	}
	}
@@ -1063,7 +1063,7 @@ ceph_sync_write(struct kiocb *iocb, struct iov_iter *from, loff_t pos,
	if (ret < 0)
	if (ret < 0)
		dout("invalidate_inode_pages2_range returned %d\n", ret);
		dout("invalidate_inode_pages2_range returned %d\n", ret);


	flags = CEPH_OSD_FLAG_ORDERSNAP | CEPH_OSD_FLAG_WRITE;
	flags = /* CEPH_OSD_FLAG_ORDERSNAP | */ CEPH_OSD_FLAG_WRITE;


	while ((len = iov_iter_count(from)) > 0) {
	while ((len = iov_iter_count(from)) > 0) {
		size_t left;
		size_t left;