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

Commit 66755283 authored by Jeff Layton's avatar Jeff Layton Committed by Anna Schumaker
Browse files

pnfs: record sequence in pnfs_layout_segment when it's created



In later patches, we're going to teach the client to be more selective
about how it returns layouts. This means keeping a record of what the
stateid's seqid was at the time that the server handed out a layout
segment.

Signed-off-by: default avatarJeff Layton <jeff.layton@primarydata.com>
Signed-off-by: default avatarAnna Schumaker <Anna.Schumaker@Netapp.com>
parent ee26bdd6
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -1697,6 +1697,7 @@ pnfs_layout_process(struct nfs4_layoutget *lgp)


	init_lseg(lo, lseg);
	init_lseg(lo, lseg);
	lseg->pls_range = res->range;
	lseg->pls_range = res->range;
	lseg->pls_seq = be32_to_cpu(res->stateid.seqid);


	spin_lock(&ino->i_lock);
	spin_lock(&ino->i_lock);
	if (pnfs_layoutgets_blocked(lo)) {
	if (pnfs_layoutgets_blocked(lo)) {
+1 −0
Original line number Original line Diff line number Diff line
@@ -64,6 +64,7 @@ struct pnfs_layout_segment {
	struct list_head pls_lc_list;
	struct list_head pls_lc_list;
	struct pnfs_layout_range pls_range;
	struct pnfs_layout_range pls_range;
	atomic_t pls_refcount;
	atomic_t pls_refcount;
	u32 pls_seq;
	unsigned long pls_flags;
	unsigned long pls_flags;
	struct pnfs_layout_hdr *pls_layout;
	struct pnfs_layout_hdr *pls_layout;
	struct work_struct pls_work;
	struct work_struct pls_work;