<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/include/linux/nfs_page.h, branch linux-5.11.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-5.11.y</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-5.11.y'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2020-11-30T15:52:22Z</updated>
<entry>
<title>pNFS/flexfiles: Fix array overflow when flexfiles mirroring is enabled</title>
<updated>2020-11-30T15:52:22Z</updated>
<author>
<name>Trond Myklebust</name>
<email>trond.myklebust@hammerspace.com</email>
</author>
<published>2020-11-15T22:37:37Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=63e2fffa59a9dd91e443b08832656399fd80b7f0'/>
<id>urn:sha1:63e2fffa59a9dd91e443b08832656399fd80b7f0</id>
<content type='text'>
If the flexfiles mirroring is enabled, then the read code expects to be
able to set pgio-&gt;pg_mirror_idx to point to the data server that is
being used for this particular read. However it does not change the
pg_mirror_count because we only need to send a single read.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
Signed-off-by: Anna Schumaker &lt;Anna.Schumaker@Netapp.com&gt;
</content>
</entry>
<entry>
<title>NFS: Try to join page groups before an O_DIRECT retransmission</title>
<updated>2020-04-01T17:37:57Z</updated>
<author>
<name>Trond Myklebust</name>
<email>trond.myklebust@hammerspace.com</email>
</author>
<published>2020-03-31T00:57:49Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=ed5d588fe47feef290f271022820e255d8371561'/>
<id>urn:sha1:ed5d588fe47feef290f271022820e255d8371561</id>
<content type='text'>
If we have to retransmit requests, try to join their page groups
first.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
</content>
</entry>
<entry>
<title>NFS: Refactor nfs_lock_and_join_requests()</title>
<updated>2020-04-01T17:37:56Z</updated>
<author>
<name>Trond Myklebust</name>
<email>trond.myklebust@hammerspace.com</email>
</author>
<published>2020-03-30T16:40:47Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=e00ed89d7bd59c4ae49d6aeeee567187b1357a4b'/>
<id>urn:sha1:e00ed89d7bd59c4ae49d6aeeee567187b1357a4b</id>
<content type='text'>
Refactor nfs_lock_and_join_requests() in order to separate out the
subrequest merging into its own function nfs_lock_and_join_group()
that can be used by O_DIRECT.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
</content>
</entry>
<entry>
<title>NFS: Clean up nfs_lock_and_join_requests()</title>
<updated>2020-04-01T17:37:56Z</updated>
<author>
<name>Trond Myklebust</name>
<email>trond.myklebust@hammerspace.com</email>
</author>
<published>2020-03-30T15:12:16Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=a62f8e3bd836bf1abde1648a45e14afd050dbd23'/>
<id>urn:sha1:a62f8e3bd836bf1abde1648a45e14afd050dbd23</id>
<content type='text'>
Clean up nfs_lock_and_join_requests() to simplify the calculation
of the range covered by the page group, taking into account the
presence of mirrors.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
</content>
</entry>
<entry>
<title>NFS: Fix races nfs_page_group_destroy() vs nfs_destroy_unlinked_subrequests()</title>
<updated>2020-04-01T17:34:28Z</updated>
<author>
<name>Trond Myklebust</name>
<email>trond.myklebust@hammerspace.com</email>
</author>
<published>2020-04-01T17:04:49Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=08ca8b21f760c0ed5034a5c122092eec22ccf8f4'/>
<id>urn:sha1:08ca8b21f760c0ed5034a5c122092eec22ccf8f4</id>
<content type='text'>
When a subrequest is being detached from the subgroup, we want to
ensure that it is not holding the group lock, or in the process
of waiting for the group lock.

Fixes: 5b2b5187fa85 ("NFS: Fix nfs_page_group_destroy() and nfs_lock_and_join_requests() race cases")
Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
</content>
</entry>
<entry>
<title>NFS: Remove redundant open context from nfs_page</title>
<updated>2019-04-25T18:18:15Z</updated>
<author>
<name>Trond Myklebust</name>
<email>trondmy@gmail.com</email>
</author>
<published>2019-04-07T17:59:12Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=c79d183ebb76311ed434bd558279769551d02d5a'/>
<id>urn:sha1:c79d183ebb76311ed434bd558279769551d02d5a</id>
<content type='text'>
The lock context already references and tracks the open context, so
take the opportunity to save some space in struct nfs_page.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
Signed-off-by: Anna Schumaker &lt;Anna.Schumaker@Netapp.com&gt;
</content>
</entry>
<entry>
<title>NFS: Add a helper to return a pointer to the open context of a struct nfs_page</title>
<updated>2019-04-25T18:18:15Z</updated>
<author>
<name>Trond Myklebust</name>
<email>trondmy@gmail.com</email>
</author>
<published>2019-04-07T17:59:11Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=9fcd5960e88bbdc74a70d9e3a5ab46b489fc4b80'/>
<id>urn:sha1:9fcd5960e88bbdc74a70d9e3a5ab46b489fc4b80</id>
<content type='text'>
Add a helper for when we remove the explicit pointer to the open
context.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
Signed-off-by: Anna Schumaker &lt;Anna.Schumaker@Netapp.com&gt;
</content>
</entry>
<entry>
<title>pNFS: Add tracking to limit the number of pNFS retries</title>
<updated>2019-04-25T18:18:14Z</updated>
<author>
<name>Trond Myklebust</name>
<email>trondmy@gmail.com</email>
</author>
<published>2019-04-07T17:59:08Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=33344e0f7eaa2efbf9fcc55557d02e8603aa7012'/>
<id>urn:sha1:33344e0f7eaa2efbf9fcc55557d02e8603aa7012</id>
<content type='text'>
When the client is reading or writing using pNFS, and hits an error
on the DS, then it typically sends a LAYOUTERROR and/or LAYOUTRETURN
to the MDS, before redirtying the failed pages, and going for a new
round of reads/writebacks. The problem is that if the server has no
way to fix the DS, then we may need a way to interrupt this loop
after a set number of attempts have been made.
This patch adds an optional module parameter that allows the admin
to specify how many times to retry the read/writeback process before
failing with a fatal error.
The default behaviour is to retry forever.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
Signed-off-by: Anna Schumaker &lt;Anna.Schumaker@Netapp.com&gt;
</content>
</entry>
<entry>
<title>NFS: Remove unused argument from nfs_create_request()</title>
<updated>2019-04-25T18:18:14Z</updated>
<author>
<name>Trond Myklebust</name>
<email>trondmy@gmail.com</email>
</author>
<published>2019-04-07T17:59:07Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=28b1d3f5a772b705ca76df620eb9f686aa2d0b4c'/>
<id>urn:sha1:28b1d3f5a772b705ca76df620eb9f686aa2d0b4c</id>
<content type='text'>
All the callers of nfs_create_request() are now creating page group
heads, so we can remove the redundant 'last' page argument.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
Signed-off-by: Anna Schumaker &lt;Anna.Schumaker@Netapp.com&gt;
</content>
</entry>
<entry>
<title>NFS: Clean up list moves of struct nfs_page</title>
<updated>2019-02-20T20:14:20Z</updated>
<author>
<name>Trond Myklebust</name>
<email>trond.myklebust@hammerspace.com</email>
</author>
<published>2019-02-18T16:35:54Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=078b5fd92c4913dd367361db6c28568386077c89'/>
<id>urn:sha1:078b5fd92c4913dd367361db6c28568386077c89</id>
<content type='text'>
In several places we're just moving the struct nfs_page from one list to
another by first removing from the existing list, then adding to the new
one.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
</content>
</entry>
</feed>
