<feed xmlns='http://www.w3.org/2005/Atom'>
<title>wireguard-linux/fs/nfs/direct.c, branch jd/unified-crypt-queue</title>
<subtitle>WireGuard for the Linux kernel</subtitle>
<id>https://git.zx2c4.com/wireguard-linux/atom/fs/nfs/direct.c?h=jd%2Funified-crypt-queue</id>
<link rel='self' href='https://git.zx2c4.com/wireguard-linux/atom/fs/nfs/direct.c?h=jd%2Funified-crypt-queue'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/'/>
<updated>2020-04-01T17:37:57Z</updated>
<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://git.zx2c4.com/wireguard-linux/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: Fix a request reference leak in nfs_direct_write_clear_reqs()</title>
<updated>2020-04-01T17:37:56Z</updated>
<author>
<name>Trond Myklebust</name>
<email>trond.myklebust@hammerspace.com</email>
</author>
<published>2020-03-31T00:13:48Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=f02cec9d33e0069c11e58f97529c1d697255889d'/>
<id>urn:sha1:f02cec9d33e0069c11e58f97529c1d697255889d</id>
<content type='text'>
nfs_direct_write_scan_commit_list() will lock the request and bump
the reference count, but we also need to account for the reference
that was taken when we initially added the request to the commit list.

Fixes: fb5f7f20cdb9 ("NFS: commit errors should be fatal")
Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
</content>
</entry>
<entry>
<title>NFS/pNFS: Clean up pNFS commit operations</title>
<updated>2020-03-27T20:34:35Z</updated>
<author>
<name>Trond Myklebust</name>
<email>trond.myklebust@hammerspace.com</email>
</author>
<published>2020-03-21T15:13:05Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=9c455a8c1e146dac3a6d1405fe6a7096177b9546'/>
<id>urn:sha1:9c455a8c1e146dac3a6d1405fe6a7096177b9546</id>
<content type='text'>
Move the pNFS commit related operations into a separate structure
that can be carried by the pnfs_ds_commit_info.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
</content>
</entry>
<entry>
<title>NFS: Remove bucket array from struct pnfs_ds_commit_info</title>
<updated>2020-03-27T20:34:35Z</updated>
<author>
<name>Trond Myklebust</name>
<email>trond.myklebust@hammerspace.com</email>
</author>
<published>2020-03-21T13:50:05Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=0aa647b7369dd29de0789c321111b2e4668c46b2'/>
<id>urn:sha1:0aa647b7369dd29de0789c321111b2e4668c46b2</id>
<content type='text'>
Remove the unused bucket array in struct pnfs_ds_commit_info.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
</content>
</entry>
<entry>
<title>NFS: Fix O_DIRECT commit verifier handling</title>
<updated>2020-03-27T20:34:34Z</updated>
<author>
<name>Trond Myklebust</name>
<email>trond.myklebust@hammerspace.com</email>
</author>
<published>2020-03-21T13:27:46Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=1f28476dcb98797e838a0c1dd6eae2fda213dd81'/>
<id>urn:sha1:1f28476dcb98797e838a0c1dd6eae2fda213dd81</id>
<content type='text'>
Instead of trying to save the commit verifiers and checking them against
previous writes, adopt the same strategy as for buffered writes, of
just checking the verifiers at commit time.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
</content>
</entry>
<entry>
<title>NFS: commit errors should be fatal</title>
<updated>2020-03-27T20:34:34Z</updated>
<author>
<name>Trond Myklebust</name>
<email>trond.myklebust@hammerspace.com</email>
</author>
<published>2020-03-21T13:36:13Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=fb5f7f20cdb91f8ef985aef09fa2217c49c38396'/>
<id>urn:sha1:fb5f7f20cdb91f8ef985aef09fa2217c49c38396</id>
<content type='text'>
Fix the O_DIRECT code to avoid retries if the COMMIT fails with a fatal
error.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
</content>
</entry>
<entry>
<title>NFS/pNFS: Allow O_DIRECT to release the DS commitinfo</title>
<updated>2020-03-27T20:34:34Z</updated>
<author>
<name>Trond Myklebust</name>
<email>trond.myklebust@hammerspace.com</email>
</author>
<published>2020-03-20T21:08:02Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=18f412969687ded8f1debd21da758b041993e974'/>
<id>urn:sha1:18f412969687ded8f1debd21da758b041993e974</id>
<content type='text'>
Add a pNFS callback to allow the O_DIRECT code to release the DS
commitinfo when freeing the dreq.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
</content>
</entry>
<entry>
<title>NFSv4/pnfs: Support a list of commit arrays in struct pnfs_ds_commit_info</title>
<updated>2020-03-27T20:34:34Z</updated>
<author>
<name>Trond Myklebust</name>
<email>trond.myklebust@hammerspace.com</email>
</author>
<published>2020-03-19T17:36:36Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=c21e7168848d4ff4158120dbd4464f0d5cfb1456'/>
<id>urn:sha1:c21e7168848d4ff4158120dbd4464f0d5cfb1456</id>
<content type='text'>
When we have multiple layout segments with different lists of mirrored
data, we need to track the commits on a per layout segment basis.
This patch adds a list to support this tracking in struct
pnfs_ds_commit_info.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
</content>
</entry>
<entry>
<title>NFS: direct.c: Fix memory leak of dreq when nfs_get_lock_context fails</title>
<updated>2020-03-22T20:47:58Z</updated>
<author>
<name>Misono Tomohiro</name>
<email>misono.tomohiro@jp.fujitsu.com</email>
</author>
<published>2019-08-28T08:01:22Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=8605cf0e852af3b2c771c18417499dc4ceed03d5'/>
<id>urn:sha1:8605cf0e852af3b2c771c18417499dc4ceed03d5</id>
<content type='text'>
When dreq is allocated by nfs_direct_req_alloc(), dreq-&gt;kref is
initialized to 2. Therefore we need to call nfs_direct_req_release()
twice to release the allocated dreq. Usually it is called in
nfs_file_direct_{read, write}() and nfs_direct_complete().

However, current code only calls nfs_direct_req_relese() once if
nfs_get_lock_context() fails in nfs_file_direct_{read, write}().
So, that case would result in memory leak.

Fix this by adding the missing call.

Signed-off-by: Misono Tomohiro &lt;misono.tomohiro@jp.fujitsu.com&gt;
Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
</content>
</entry>
<entry>
<title>NFS: Fix nfs_direct_write_reschedule_io()</title>
<updated>2020-01-15T15:54:33Z</updated>
<author>
<name>Trond Myklebust</name>
<email>trondmy@gmail.com</email>
</author>
<published>2020-01-06T20:25:14Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=4daaeba938228f7c97e80817ccda1e091c7d3fb6'/>
<id>urn:sha1:4daaeba938228f7c97e80817ccda1e091c7d3fb6</id>
<content type='text'>
The 'hdr-&gt;good_bytes' is defined as the number of bytes we expect to
read or write starting at offset hdr-&gt;io_start. In the case of a partial
read/write we may end up adjusting hdr-&gt;args.offset and hdr-&gt;args.count
to skip I/O for data that was already read/written, and so we must ensure
the calculation takes that into account.

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