Re: [GIT PULL] Please pull NFS client fixes for 4.12

From: Trond Myklebust
Date: Thu May 11 2017 - 09:41:24 EST


On Thu, 2017-05-11 at 10:53 +0300, Nikolay Borisov wrote:
>
> On 10.05.2017 19:47, Trond Myklebust wrote:
> > Hi Linus,
> >
> > The following changes since commit
> > 4f7d029b9bf009fbee76bb10c0c4351a1870d2f3:
> >
> > Â Linux 4.11-rc7 (2017-04-16 13:00:18 -0700)
> >
> > are available in the git repository at:
> >
> > Â git://git.linux-nfs.org/projects/trondmy/linux-nfs.git tags/nfs-
> > for-4.12-1
> >
> > for you to fetch changes up to
> > 76b2a303384e1d6299c3a0249f0f0ce2f8f96017:
> >
> > Â pNFS/flexfiles: Always attempt to call layoutstats when flexfiles
> > is enabled (2017-05-09 16:02:57 -0400)
> >
> > ----------------------------------------------------------------
> > NFS client updates for Linux 4.12
> >
> > Highlights include:
> >
> > Stable bugfixes:
> > - Fix use after free in write error path
> > - Use GFP_NOIO for two allocations in writeback
> > - Fix a hang in OPEN related to server reboot
> > - Check the result of nfs4_pnfs_ds_connect
> > - Fix an rcu lock leak
> >
> > Features:
> > - Removal of the unmaintained and unused OSD pNFS layout
> > - Cleanup and removal of lots of unnecessary dprintk()s
> > - Cleanup and removal of some memory failure paths now that
> > Â GFP_NOFS is guaranteed to never fail.
>
> What guarantees that? Since if this is the case then this can result
> in
> a lot of opportunities for cleanup across the whole kernel tree.
> After
> discussing with mhocko (cc'ed) it seems that in practice everything
> below COSTLY_ORDER which are not GFP_NORETRY will never fail. But
> this
> semantic is not the same as GFP_NOFAIL. E.g. nothing guarantees that
> this will stay like that in the future?
>

Actually, going back to the code with coffee: it's the fact we have
mempools, with direct reclaim that guarantee this.

--
Trond Myklebust
Linux NFS client maintainer, PrimaryData
trond.myklebust@xxxxxxxxxxxxxxx