<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/fs/nfs/flexfilelayout/flexfilelayout.c, branch linux-5.1.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-5.1.y</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-5.1.y'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2019-03-23T16:03:58Z</updated>
<entry>
<title>pNFS/flexfiles: Fix layoutstats handling during read failovers</title>
<updated>2019-03-23T16:03:58Z</updated>
<author>
<name>Trond Myklebust</name>
<email>trond.myklebust@hammerspace.com</email>
</author>
<published>2019-03-23T03:03:56Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=166bd5b889ac61369c34650887a5c6b899f5e976'/>
<id>urn:sha1:166bd5b889ac61369c34650887a5c6b899f5e976</id>
<content type='text'>
During a read failover, we may end up changing the value of
the pgio_mirror_idx, so make sure that we record the layout
stats before that update.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
</content>
</entry>
<entry>
<title>NFS/flexfile: Simplify nfs4_ff_layout_select_ds_stateid()</title>
<updated>2019-03-02T03:37:38Z</updated>
<author>
<name>Trond Myklebust</name>
<email>trond.myklebust@hammerspace.com</email>
</author>
<published>2019-02-28T15:49:11Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=4cbc8a571c24133a8b645c62188205908ef2ea83'/>
<id>urn:sha1:4cbc8a571c24133a8b645c62188205908ef2ea83</id>
<content type='text'>
Pass in a pointer to the mirror rather than forcing another
array access.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
</content>
</entry>
<entry>
<title>NFS/flexfile: Simplify nfs4_ff_layout_ds_version()</title>
<updated>2019-03-02T03:37:38Z</updated>
<author>
<name>Trond Myklebust</name>
<email>trond.myklebust@hammerspace.com</email>
</author>
<published>2019-02-28T15:44:15Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=626d48b12cde3ae9740e1da16fc9c1d6d7bbed14'/>
<id>urn:sha1:626d48b12cde3ae9740e1da16fc9c1d6d7bbed14</id>
<content type='text'>
Pass in a pointer to the mirror rather than forcing another
array access.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
</content>
</entry>
<entry>
<title>NFS/flexfiles: Simplify ff_layout_get_ds_cred()</title>
<updated>2019-03-02T03:37:38Z</updated>
<author>
<name>Trond Myklebust</name>
<email>trond.myklebust@hammerspace.com</email>
</author>
<published>2019-02-28T15:41:57Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=312cd4cb126a7936ad25306d14209fa6fd00f30a'/>
<id>urn:sha1:312cd4cb126a7936ad25306d14209fa6fd00f30a</id>
<content type='text'>
Pass in a pointer to the mirror rather than forcing another
array access.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
</content>
</entry>
<entry>
<title>NFS/flexfiles: Simplify nfs4_ff_find_or_create_ds_client()</title>
<updated>2019-03-02T03:37:38Z</updated>
<author>
<name>Trond Myklebust</name>
<email>trond.myklebust@hammerspace.com</email>
</author>
<published>2019-02-28T15:38:41Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=561d6f8aaffcc9d346e452361a6d80cb8461799d'/>
<id>urn:sha1:561d6f8aaffcc9d346e452361a6d80cb8461799d</id>
<content type='text'>
Pass in a pointer to the mirror rather than forcing another
array access.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
</content>
</entry>
<entry>
<title>NFS/flexfiles: Simplify nfs4_ff_layout_select_ds_fh()</title>
<updated>2019-03-02T03:37:38Z</updated>
<author>
<name>Trond Myklebust</name>
<email>trond.myklebust@hammerspace.com</email>
</author>
<published>2019-02-28T15:34:13Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=749da527b3e7bff92cc76b907bc222ef2df6fcdc'/>
<id>urn:sha1:749da527b3e7bff92cc76b907bc222ef2df6fcdc</id>
<content type='text'>
Pass in a pointer to the mirror rather than having to retrieve it from
the array and then verify the resulting pointer.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
</content>
</entry>
<entry>
<title>NFS/flexfiles: Speed up read failover when DSes are down</title>
<updated>2019-03-02T03:37:38Z</updated>
<author>
<name>Trond Myklebust</name>
<email>trond.myklebust@hammerspace.com</email>
</author>
<published>2019-02-14T22:32:40Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=76c6690522bb3e335ce1e201360df8776cab4d2c'/>
<id>urn:sha1:76c6690522bb3e335ce1e201360df8776cab4d2c</id>
<content type='text'>
If we notice that a DS may be down, we should attempt to read from the
other mirrors first before we go back to retry the dead DS.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
</content>
</entry>
<entry>
<title>NFS/flexfiles: Remove bogus checks for invalid deviceids</title>
<updated>2019-03-02T03:37:38Z</updated>
<author>
<name>Trond Myklebust</name>
<email>trond.myklebust@hammerspace.com</email>
</author>
<published>2019-02-26T17:57:06Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=d082d4b5a0ddf56d9a63eae66119f2ef53783d5f'/>
<id>urn:sha1:d082d4b5a0ddf56d9a63eae66119f2ef53783d5f</id>
<content type='text'>
We already check the deviceids before we start the RPC call.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
</content>
</entry>
<entry>
<title>NFS/flexfiles: refactor calls to fs4_ff_layout_prepare_ds()</title>
<updated>2019-03-02T03:37:37Z</updated>
<author>
<name>Trond Myklebust</name>
<email>trond.myklebust@hammerspace.com</email>
</author>
<published>2019-02-14T18:45:45Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=2444ff277a686d743b5479dd52d8357c21d5ce13'/>
<id>urn:sha1:2444ff277a686d743b5479dd52d8357c21d5ce13</id>
<content type='text'>
While we may want to skip attempting to connect to a downed mirror
when we're deciding which mirror to select for a read, we do not
want to do so once we've committed to attempting the I/O in
ff_layout_read/write_pagelist(), or ff_layout_initiate_commit()

Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
</content>
</entry>
<entry>
<title>NFS/flexfiles: Send LAYOUTERROR when failing over mirrored reads</title>
<updated>2019-03-02T03:37:37Z</updated>
<author>
<name>Trond Myklebust</name>
<email>trond.myklebust@hammerspace.com</email>
</author>
<published>2019-02-11T03:38:43Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=f0922a6c0cdb928d21c2599f9671206237e7e505'/>
<id>urn:sha1:f0922a6c0cdb928d21c2599f9671206237e7e505</id>
<content type='text'>
When a read to the preferred mirror returns an error, the flexfiles
driver records the error in the inode list and currently marks the
layout for return before failing over the attempted read to the next
mirror.
What we actually want to do is fire off a LAYOUTERROR to notify the
MDS that there is an issue with the preferred mirror, then we fail
over. Only once we've failed to read from all mirrors should we
return the layout.

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