<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/nfs/read.c, branch linux-4.4.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.4.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.4.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2019-03-23T07:44:38Z</updated>
<entry>
<title>NFS41: pop some layoutget errors to application</title>
<updated>2019-03-23T07:44:38Z</updated>
<author>
<name>Peng Tao</name>
</author>
<published>2015-12-03T18:57:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=58cc0b4098d342ed0d12050d97ce021c387b140e'/>
<id>urn:sha1:58cc0b4098d342ed0d12050d97ce021c387b140e</id>
<content type='text'>
commit d600ad1f2bdbf97c4818dcc85b174f72c90c21bd upstream.

For ERESTARTSYS/EIO/EROFS/ENOSPC/E2BIG in layoutget, we
should just bail out instead of hiding the error and
retrying inband IO.

Change all the call sites to pop the error all the way up.

Signed-off-by: Peng Tao &lt;tao.peng@primarydata.com&gt;
Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>NFSv4.1/pnfs: Retry through MDS when getting bad length of data</title>
<updated>2015-10-21T20:55:47Z</updated>
<author>
<name>Kinglong Mee</name>
</author>
<published>2015-10-16T09:23:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f8417b481cce2bed4744fda733f2ff22278bd7ce'/>
<id>urn:sha1:f8417b481cce2bed4744fda733f2ff22278bd7ce</id>
<content type='text'>
If non rpc-based layout driver return bad length of data, nfs retries
by calling rpc_restart_call_prepare() that cause an NULL reference panic.

This patch lets nfs retry through MDS for non rpc-based layout driver
return bad length of data.

[13034.883329] BUG: unable to handle kernel NULL pointer dereference at           (null)
[13034.884902] IP: [&lt;ffffffffa00db372&gt;] rpc_restart_call_prepare+0x62/0x90 [sunrpc]
[13034.886558] PGD 0
[13034.888126] Oops: 0000 [#1] KASAN
[13034.889710] Modules linked in: blocklayoutdriver(OE) nfsv4(OE) nfs(OE) fscache(E) nfsd(OE) xfs libcrc32c coretemp btrfs crct10dif_pclmul crc32_pclmul crc32c_intel ghash_clmulni_intel ppdev vmw_balloon auth_rpcgss shpchp nfs_acl lockd vmw_vmci parport_pc xor raid6_pq grace parport sunrpc i2c_piix4 vmwgfx drm_kms_helper ttm drm mptspi e1000 serio_raw scsi_transport_spi mptscsih mptbase ata_generic pata_acpi [last unloaded: fscache]
[13034.898260] CPU: 0 PID: 10112 Comm: kworker/0:1 Tainted: G           OE   4.3.0-rc5+ #279
[13034.899932] Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 07/02/2015
[13034.903342] Workqueue: events bl_read_cleanup [blocklayoutdriver]
[13034.905059] task: ffff88006a9148c0 ti: ffff880035e90000 task.ti: ffff880035e90000
[13034.906827] RIP: 0010:[&lt;ffffffffa00db372&gt;]  [&lt;ffffffffa00db372&gt;] rpc_restart_call_prepare+0x62/0x90 [sunrpc]
[13034.910522] RSP: 0018:ffff880035e97b58  EFLAGS: 00010282
[13034.912378] RAX: fffffbfff04a5a94 RBX: ffff880068fe4858 RCX: 0000000000000003
[13034.914339] RDX: dffffc0000000000 RSI: 0000000000000003 RDI: 0000000000000282
[13034.916236] RBP: ffff880035e97b68 R08: 0000000000000001 R09: 0000000000000001
[13034.918229] R10: 0000000000000000 R11: 0000000000000001 R12: 0000000000000000
[13034.920007] R13: ffff880068fe4858 R14: ffff880068fe4a60 R15: 0000000000001000
[13034.921845] FS:  0000000000000000(0000) GS:ffffffff82247000(0000) knlGS:0000000000000000
[13034.923645] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[13034.925525] CR2: 0000000000000000 CR3: 00000000063dd000 CR4: 00000000001406f0
[13034.932808] Stack:
[13034.934813]  ffff880068fe4780 0000000000001000 ffff880035e97ba8 ffffffffa08800d2
[13034.936675]  ffffffffa088029d ffff880068fe4780 ffff880068fe4858 ffffffffa089c0a0
[13034.938593]  ffff880068fe47e0 ffff88005d59faf0 ffff880035e97be0 ffffffffa087e08f
[13034.940454] Call Trace:
[13034.942388]  [&lt;ffffffffa08800d2&gt;] nfs_readpage_result+0x112/0x200 [nfs]
[13034.944317]  [&lt;ffffffffa088029d&gt;] ? nfs_readpage_done+0xdd/0x160 [nfs]
[13034.946267]  [&lt;ffffffffa087e08f&gt;] nfs_pgio_result+0x9f/0x120 [nfs]
[13034.948166]  [&lt;ffffffffa09266cc&gt;] pnfs_ld_read_done+0x7c/0x1e0 [nfsv4]
[13034.950247]  [&lt;ffffffffa03b07ee&gt;] bl_read_cleanup+0x2e/0x60 [blocklayoutdriver]
[13034.952156]  [&lt;ffffffff810ebf62&gt;] process_one_work+0x412/0x870
[13034.954102]  [&lt;ffffffff810ebe84&gt;] ? process_one_work+0x334/0x870
[13034.955949]  [&lt;ffffffff810ebb50&gt;] ? queue_delayed_work_on+0x40/0x40
[13034.957985]  [&lt;ffffffff810ec441&gt;] worker_thread+0x81/0x6a0
[13034.959817]  [&lt;ffffffff810ec3c0&gt;] ? process_one_work+0x870/0x870
[13034.961785]  [&lt;ffffffff810f43bd&gt;] kthread+0x17d/0x1a0
[13034.963544]  [&lt;ffffffff810f4240&gt;] ? kthread_create_on_node+0x330/0x330
[13034.965479]  [&lt;ffffffff81100428&gt;] ? finish_task_switch+0x88/0x220
[13034.967223]  [&lt;ffffffff810f4240&gt;] ? kthread_create_on_node+0x330/0x330
[13034.968929]  [&lt;ffffffff81b6ae5f&gt;] ret_from_fork+0x3f/0x70
[13034.970534]  [&lt;ffffffff810f4240&gt;] ? kthread_create_on_node+0x330/0x330
[13034.972176] Code: c7 43 50 40 84 0d a0 e8 3d fe 1c e1 48 8d 7b 58 c7 83 e4 00 00 00 00 00 00 00 e8 ca fe 1c e1 4c 8b 63 58 4c 89 e7 e8 be fe 1c e1 &lt;49&gt; 83 3c 24 00 74 12 48 c7 43 50 f0 a2 0e a0 b8 01 00 00 00 5b
[13034.977148] RIP  [&lt;ffffffffa00db372&gt;] rpc_restart_call_prepare+0x62/0x90 [sunrpc]
[13034.978780]  RSP &lt;ffff880035e97b58&gt;
[13034.980399] CR2: 0000000000000000

Signed-off-by: Kinglong Mee &lt;kinglongmee@gmail.com&gt;
Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
</content>
</entry>
<entry>
<title>NFS: Do cleanup before resetting pageio read/write to mds</title>
<updated>2015-09-20T17:46:45Z</updated>
<author>
<name>Kinglong Mee</name>
</author>
<published>2015-09-20T15:03:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6f29b9bba7b08c6b1d6f2cc4cf750b342fc1946c'/>
<id>urn:sha1:6f29b9bba7b08c6b1d6f2cc4cf750b342fc1946c</id>
<content type='text'>
There is a reference leak of layout segment after resetting
pageio read/write to mds.

Signed-off-by: Kinglong Mee &lt;kinglongmee@gmail.com&gt;
Cc: stable@vger.kernel.org # v4.0+
Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
</content>
</entry>
<entry>
<title>Merge tag 'nfs-for-4.1-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs</title>
<updated>2015-04-27T00:33:59Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2015-04-27T00:33:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=59953fba87e5e535657403cc6439d24187929559'/>
<id>urn:sha1:59953fba87e5e535657403cc6439d24187929559</id>
<content type='text'>
Pull NFS client updates from Trond Myklebust:
 "Another set of mainly bugfixes and a couple of cleanups.  No new
  functionality in this round.

  Highlights include:

  Stable patches:
   - Fix a regression in /proc/self/mountstats
   - Fix the pNFS flexfiles O_DIRECT support
   - Fix high load average due to callback thread sleeping

  Bugfixes:
   - Various patches to fix the pNFS layoutcommit support
   - Do not cache pNFS deviceids unless server notifications are enabled
   - Fix a SUNRPC transport reconnection regression
   - make debugfs file creation failure non-fatal in SUNRPC
   - Another fix for circular directory warnings on NFSv4 "junctioned"
     mountpoints
   - Fix locking around NFSv4.2 fallocate() support
   - Truncating NFSv4 file opens should also sync O_DIRECT writes
   - Prevent infinite loop in rpcrdma_ep_create()

  Features:
   - Various improvements to the RDMA transport code's handling of
     memory registration
   - Various code cleanups"

* tag 'nfs-for-4.1-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (55 commits)
  fs/nfs: fix new compiler warning about boolean in switch
  nfs: Remove unneeded casts in nfs
  NFS: Don't attempt to decode missing directory entries
  Revert "nfs: replace nfs_add_stats with nfs_inc_stats when add one"
  NFS: Rename idmap.c to nfs4idmap.c
  NFS: Move nfs_idmap.h into fs/nfs/
  NFS: Remove CONFIG_NFS_V4 checks from nfs_idmap.h
  NFS: Add a stub for GETDEVICELIST
  nfs: remove WARN_ON_ONCE from nfs_direct_good_bytes
  nfs: fix DIO good bytes calculation
  nfs: Fetch MOUNTED_ON_FILEID when updating an inode
  sunrpc: make debugfs file creation failure non-fatal
  nfs: fix high load average due to callback thread sleeping
  NFS: Reduce time spent holding the i_mutex during fallocate()
  NFS: Don't zap caches on fallocate()
  xprtrdma: Make rpcrdma_{un}map_one() into inline functions
  xprtrdma: Handle non-SEND completions via a callout
  xprtrdma: Add "open" memreg op
  xprtrdma: Add "destroy MRs" memreg op
  xprtrdma: Add "reset MRs" memreg op
  ...
</content>
</entry>
<entry>
<title>Revert "nfs: replace nfs_add_stats with nfs_inc_stats when add one"</title>
<updated>2015-04-23T19:16:15Z</updated>
<author>
<name>Nicolas Iooss</name>
</author>
<published>2015-04-16T10:48:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3708f842e107b9b79d54a75d152e666b693649e8'/>
<id>urn:sha1:3708f842e107b9b79d54a75d152e666b693649e8</id>
<content type='text'>
This reverts commit 5a254d08b086d80cbead2ebcee6d2a4b3a15587a.

Since commit 5a254d08b086 ("nfs: replace nfs_add_stats with
nfs_inc_stats when add one"), nfs_readpage and nfs_do_writepage use
nfs_inc_stats to increment NFSIOS_READPAGES and NFSIOS_WRITEPAGES
instead of nfs_add_stats.

However nfs_inc_stats does not do the same thing as nfs_add_stats with
value 1 because these functions work on distinct stats:
nfs_inc_stats increments stats from "enum nfs_stat_eventcounters" (in
server-&gt;io_stats-&gt;events) and nfs_add_stats those from "enum
nfs_stat_bytecounters" (in server-&gt;io_stats-&gt;bytes).

Signed-off-by: Nicolas Iooss &lt;nicolas.iooss_linux@m4x.org&gt;
Fixes: 5a254d08b086 ("nfs: replace nfs_add_stats with nfs_inc_stats...")
Cc: stable@vger.kernel.org # 3.19+
Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
</content>
</entry>
<entry>
<title>VFS: normal filesystems (and lustre): d_inode() annotations</title>
<updated>2015-04-15T19:06:57Z</updated>
<author>
<name>David Howells</name>
</author>
<published>2015-03-17T22:25:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2b0143b5c986be1ce8408b3aadc4709e0a94429d'/>
<id>urn:sha1:2b0143b5c986be1ce8408b3aadc4709e0a94429d</id>
<content type='text'>
that's the bulk of filesystem drivers dealing with inodes of their own

Signed-off-by: David Howells &lt;dhowells@redhat.com&gt;
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>NFS: Don't use d_inode as a variable name</title>
<updated>2015-04-15T19:05:29Z</updated>
<author>
<name>David Howells</name>
</author>
<published>2015-03-04T16:38:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=88e7fbd4a599375a08876e80a76d92e49fdea55c'/>
<id>urn:sha1:88e7fbd4a599375a08876e80a76d92e49fdea55c</id>
<content type='text'>
Don't use d_inode as a variable name as it now masks a function name.

Signed-off-by: David Howells &lt;dhowells@redhat.com&gt;
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>nfs: add mirroring support to pgio layer</title>
<updated>2015-02-03T19:06:45Z</updated>
<author>
<name>Weston Andros Adamson</name>
</author>
<published>2014-09-19T14:55:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a7d42ddb3099727f58366fa006f850a219cce6c8'/>
<id>urn:sha1:a7d42ddb3099727f58366fa006f850a219cce6c8</id>
<content type='text'>
This patch adds mirrored write support to the pgio layer. The default
is to use one mirror, but pgio callers may define callbacks to change
this to any value up to the (arbitrarily selected) limit of 16.

The basic idea is to break out members of nfs_pageio_descriptor that cannot
be shared between mirrored DSes and put them in a new structure.

Signed-off-by: Weston Andros Adamson &lt;dros@primarydata.com&gt;
</content>
</entry>
<entry>
<title>pnfs: Add nfs_rpc_ops in calls to nfs_initiate_pgio</title>
<updated>2015-02-03T19:06:35Z</updated>
<author>
<name>Tom Haynes</name>
</author>
<published>2014-06-09T20:12:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=abde71f4d3c027a30f8d725e1e22001313b4481a'/>
<id>urn:sha1:abde71f4d3c027a30f8d725e1e22001313b4481a</id>
<content type='text'>
Signed-off-by: Tom Haynes &lt;loghyr@primarydata.com&gt;
</content>
</entry>
<entry>
<title>nfs: replace nfs_add_stats with nfs_inc_stats when add one</title>
<updated>2014-11-25T01:08:47Z</updated>
<author>
<name>Li RongQing</name>
</author>
<published>2014-11-23T04:47:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5a254d08b086d80cbead2ebcee6d2a4b3a15587a'/>
<id>urn:sha1:5a254d08b086d80cbead2ebcee6d2a4b3a15587a</id>
<content type='text'>
Signed-off-by: Li RongQing &lt;roy.qing.li@gmail.com&gt;
Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
</content>
</entry>
</feed>
