Hi,
A recent patch available in 6.10 [1] uncovered two issues on how the DMA Link ID
is tracked with ChainDMA and can cause under specific conditions [2] to cause a DSP
panic.
The issue is not academic as we have one user report of it:
https://github.com/thesofproject/linux/issues/5116
The patches have been marked for stable backport to made there way to 6.10.
The first patch is fixing a code move patch, for older than 6.9 we would need
different patch to fix the original code, but since the issue is only valid for
6.10, I will do that at a later time.
Mark, can you please schedule these as fixes for 6.11 to get them fast to 6.10?
Thank you.
[1] ebd3b3014eeb ("ASoC: SOF: pcm: reset all PCM sources in case of xruns")
[2] https://github.com/thesofproject/linux/pull/5119#issuecomment-2244770449
Regards,
Peter
---
Peter Ujfalusi (2):
ASoC: SOF: ipc4-topology: Only handle dai_config with HW_PARAMS for
ChainDMA
ASoC: SOF: ipc4-topology: Preserve the DMA Link ID for ChainDMA on
unprepare
sound/soc/sof/ipc4-topology.c | 18 +++++++++++++++---
1 file changed, 15 insertions(+), 3 deletions(-)
--
2.45.2
(Mail V2: Send to correct mailing list and CCing relevant people.)
On Tue, 25 Jun 2024 16:29:04 +0200, Greg Kroah-Hartman wrote:
> In the Linux kernel, the following vulnerability has been resolved:
>
> drm/amdgpu: add error handle to avoid out-of-bounds
>
> if the sdma_v4_0_irq_id_to_seq return -EINVAL, the process should
> be stop to avoid out-of-bounds read, so directly return -EINVAL.
>
> The Linux kernel CVE team has assigned CVE-2024-39471 to this issue.
This commit has a bug which was fixed by 6769a23697f1. It should be
immediately backported, otherwise this "fix" doesn't do anything since
gcc will optimise out the check.
Thanks,
Siddh
In drm_client_modeset_probe(), the return value of drm_mode_duplicate() is
assigned to modeset->mode, which will lead to a possible NULL pointer
dereference on failure of drm_mode_duplicate(). Add a check to avoid npd.
Cc: stable(a)vger.kernel.org
Fixes: cf13909aee05 ("drm/fb-helper: Move out modeset config code")
Signed-off-by: Ma Ke <make24(a)iscas.ac.cn>
---
Changes in v2:
- added the recipient's email address, due to the prolonged absence of a
response from the recipients.
- added Cc stable.
---
drivers/gpu/drm/drm_client_modeset.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/gpu/drm/drm_client_modeset.c b/drivers/gpu/drm/drm_client_modeset.c
index 31af5cf37a09..cca37b225385 100644
--- a/drivers/gpu/drm/drm_client_modeset.c
+++ b/drivers/gpu/drm/drm_client_modeset.c
@@ -880,6 +880,9 @@ int drm_client_modeset_probe(struct drm_client_dev *client, unsigned int width,
kfree(modeset->mode);
modeset->mode = drm_mode_duplicate(dev, mode);
+ if (!modeset->mode)
+ continue;
+
drm_connector_get(connector);
modeset->connectors[modeset->num_connectors++] = connector;
modeset->x = offset->x;
--
2.25.1
Zero and negative number is not a valid IRQ for in-kernel code and the
irq_of_parse_and_map() function returns zero on error. So this check for
valid IRQs should only accept values > 0.
Cc: stable(a)vger.kernel.org
Fixes: 44dab88e7cc9 ("spi: add spi_ppc4xx driver")
Signed-off-by: Ma Ke <make24(a)iscas.ac.cn>
---
Changes in v2:
- added Cc stable line;
- added Fixes line.
---
drivers/spi/spi-ppc4xx.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/spi/spi-ppc4xx.c b/drivers/spi/spi-ppc4xx.c
index 942c3117ab3a..01fdecbf132d 100644
--- a/drivers/spi/spi-ppc4xx.c
+++ b/drivers/spi/spi-ppc4xx.c
@@ -413,6 +413,9 @@ static int spi_ppc4xx_of_probe(struct platform_device *op)
/* Request IRQ */
hw->irqnum = irq_of_parse_and_map(np, 0);
+ if (hw->irqnum <= 0)
+ goto free_host;
+
ret = request_irq(hw->irqnum, spi_ppc4xx_int,
0, "spi_ppc4xx_of", (void *)hw);
if (ret) {
--
2.25.1
This is the start of the stable review cycle for the 5.10.220 release.
There are 770 patches in this series, all will be posted as a response
to this one. If anyone has any issues with these being applied, please
let me know.
Responses should be made by Thu, 20 Jun 2024 12:32:00 +0000.
Anything received after that time might be too late.
The whole patch series can be found in one patch at:
https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.10.220-r…
or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.10.y
and the diffstat can be found below.
thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:
Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Linux 5.10.220-rc1
Trond Myklebust <trond.myklebust(a)hammerspace.com>
nfsd: Fix a regression in nfsd_setattr()
NeilBrown <neilb(a)suse.de>
nfsd: don't call locks_release_private() twice concurrently
NeilBrown <neilb(a)suse.de>
nfsd: don't take fi_lock in nfsd_break_deleg_cb()
NeilBrown <neilb(a)suse.de>
nfsd: fix RELEASE_LOCKOWNER
Jeff Layton <jlayton(a)kernel.org>
nfsd: drop the nfsd_put helper
NeilBrown <neilb(a)suse.de>
nfsd: call nfsd_last_thread() before final nfsd_put()
NeilBrown <neilb(a)suse.de>
NFSD: fix possible oops when nfsd/pool_stats is closed.
Chuck Lever <chuck.lever(a)oracle.com>
Documentation: Add missing documentation for EXPORT_OP flags
NeilBrown <neilb(a)suse.de>
nfsd: separate nfsd_last_thread() from nfsd_put()
NeilBrown <neilb(a)suse.de>
nfsd: Simplify code around svc_exit_thread() call in nfsd()
Chuck Lever <chuck.lever(a)oracle.com>
nfsd: don't allow nfsd threads to be signalled.
Tavian Barnes <tavianator(a)tavianator.com>
nfsd: Fix creation time serialization order
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Add an nfsd4_encode_nfstime4() helper
NeilBrown <neilb(a)suse.de>
lockd: drop inappropriate svc_get() from locked_get()
Dan Carpenter <dan.carpenter(a)linaro.org>
nfsd: fix double fget() bug in __write_ports_addfd()
Jeff Layton <jlayton(a)kernel.org>
nfsd: make a copy of struct iattr before calling notify_change
Dai Ngo <dai.ngo(a)oracle.com>
NFSD: Fix problem of COMMIT and NFS4ERR_DELAY in infinite loop
Jeff Layton <jlayton(a)kernel.org>
nfsd: simplify the delayed disposal list code
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Convert filecache to rhltable
Jeff Layton <jlayton(a)kernel.org>
nfsd: allow reaping files still under writeback
Jeff Layton <jlayton(a)kernel.org>
nfsd: update comment over __nfsd_file_cache_purge
Jeff Layton <jlayton(a)kernel.org>
nfsd: don't take/put an extra reference when putting a file
Jeff Layton <jlayton(a)kernel.org>
nfsd: add some comments to nfsd_file_do_acquire
Jeff Layton <jlayton(a)kernel.org>
nfsd: don't kill nfsd_files because of lease break error
Jeff Layton <jlayton(a)kernel.org>
nfsd: simplify test_bit return in NFSD_FILE_KEY_FULL comparator
Jeff Layton <jlayton(a)kernel.org>
nfsd: NFSD_FILE_KEY_INODE only needs to find GC'ed entries
Jeff Layton <jlayton(a)kernel.org>
nfsd: don't open-code clear_and_wake_up_bit
Jeff Layton <jlayton(a)kernel.org>
nfsd: call op_release, even when op_func returns an error
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Avoid calling OPDESC() with ops->opnum == OP_ILLEGAL
Jeff Layton <jlayton(a)kernel.org>
nfsd: don't replace page in rq_pages if it's a continuation of last page
Jeff Layton <jlayton(a)kernel.org>
lockd: set file_lock start and end when decoding nlm4 testargs
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Protect against filesystem freezing
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: copy the whole verifier in nfsd_copy_write_verifier
Jeff Layton <jlayton(a)kernel.org>
nfsd: don't fsync nfsd_files on last close
Jeff Layton <jlayton(a)kernel.org>
nfsd: fix courtesy client with deny mode handling in nfs4_upgrade_open
Dai Ngo <dai.ngo(a)oracle.com>
NFSD: fix problems with cleanup on errors in nfsd4_copy
Jeff Layton <jlayton(a)kernel.org>
nfsd: don't hand out delegation on setuid files being opened for write
Dai Ngo <dai.ngo(a)oracle.com>
NFSD: fix leaked reference count of nfsd4_ssc_umount_item
Jeff Layton <jlayton(a)kernel.org>
nfsd: clean up potential nfsd_file refcount leaks in COPY codepath
Jeff Layton <jlayton(a)kernel.org>
nfsd: allow nfsd_file_get to sanely handle a NULL pointer
Dai Ngo <dai.ngo(a)oracle.com>
NFSD: enhance inter-server copy cleanup
Jeff Layton <jlayton(a)kernel.org>
nfsd: don't destroy global nfs4_file table in per-net shutdown
Jeff Layton <jlayton(a)kernel.org>
nfsd: don't free files unconditionally in __nfsd_file_cache_purge
Dai Ngo <dai.ngo(a)oracle.com>
NFSD: replace delayed_work with work_struct for nfsd_client_shrinker
Dai Ngo <dai.ngo(a)oracle.com>
NFSD: register/unregister of nfsd-client shrinker at nfsd startup/shutdown time
Xingyuan Mo <hdthky0(a)gmail.com>
NFSD: fix use-after-free in nfsd4_ssc_setup_dul()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Use set_bit(RQ_DROPME)
Chuck Lever <chuck.lever(a)oracle.com>
Revert "SUNRPC: Use RMW bitops in single-threaded hot paths"
Jeff Layton <jlayton(a)kernel.org>
nfsd: fix handling of cached open files in nfsd4_open codepath
Jeff Layton <jlayton(a)kernel.org>
nfsd: rework refcounting in filecache
Kees Cook <keescook(a)chromium.org>
NFSD: Avoid clashing function prototypes
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Use only RQ_DROPME to signal the need to drop a reply
Dai Ngo <dai.ngo(a)oracle.com>
NFSD: add delegation reaper to react to low memory condition
Dai Ngo <dai.ngo(a)oracle.com>
NFSD: add support for sending CB_RECALL_ANY
Dai Ngo <dai.ngo(a)oracle.com>
NFSD: refactoring courtesy_client_reaper to a generic low memory shrinker
Brian Foster <bfoster(a)redhat.com>
NFSD: pass range end to vfs_fsync_range() instead of count
Jeff Layton <jlayton(a)kernel.org>
lockd: fix file selection in nlmsvc_cancel_blocked
Jeff Layton <jlayton(a)kernel.org>
lockd: ensure we use the correct file descriptor when unlocking
Jeff Layton <jlayton(a)kernel.org>
lockd: set missing fl_flags field when retrieving args
Xiu Jianfeng <xiujianfeng(a)huawei.com>
NFSD: Use struct_size() helper in alloc_session()
Jeff Layton <jlayton(a)kernel.org>
nfsd: return error if nfs4_setacl fails
Trond Myklebust <trond.myklebust(a)hammerspace.com>
lockd: set other missing fields when unlocking files
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Add an nfsd_file_fsync tracepoint
Jeff Layton <jlayton(a)kernel.org>
nfsd: fix up the filecache laundrette scheduling
Jeff Layton <jlayton(a)kernel.org>
nfsd: reorganize filecache.c
Jeff Layton <jlayton(a)kernel.org>
nfsd: remove the pages_flushed statistic from filecache
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Fix licensing header in filecache.c
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Use rhashtable for managing nfs4_file objects
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Refactor find_file()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Clean up find_or_add_file()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Add a nfsd4_file_hash_remove() helper
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Clean up nfsd4_init_file()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update file_hashtbl() helpers
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Use const pointers as parameters to fh_ helpers
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Trace delegation revocations
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Trace stateids returned via DELEGRETURN
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Clean up nfs4_preprocess_stateid_op() call sites
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Flesh out a documenting comment for filecache.c
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Add an NFSD_FILE_GC flag to enable nfsd_file garbage collection
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Revert "NFSD: NFSv4 CLOSE should release an nfsd_file immediately"
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Pass the target nfsd_file to nfsd_commit()
David Disseldorp <ddiss(a)suse.de>
exportfs: use pr_debug for unreachable debug statements
Jeff Layton <jlayton(a)kernel.org>
nfsd: allow disabling NFSv2 at compile time
Jeff Layton <jlayton(a)kernel.org>
nfsd: move nfserrno() to vfs.c
Jeff Layton <jlayton(a)kernel.org>
nfsd: ignore requests to disable unsupported versions
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Finish converting the NFSv3 GETACL result encoder
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Finish converting the NFSv2 GETACL result encoder
Colin Ian King <colin.i.king(a)gmail.com>
NFSD: Remove redundant assignment to variable host_err
Anna Schumaker <Anna.Schumaker(a)Netapp.com>
NFSD: Simplify READ_PLUS
Jeff Layton <jlayton(a)kernel.org>
nfsd: use locks_inode_context helper
Jeff Layton <jlayton(a)kernel.org>
lockd: use locks_inode_context helper
Jeff Layton <jlayton(a)kernel.org>
filelock: add a new locks_inode_context accessor function
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Fix reads with a non-zero offset that don't end on a page boundary
Jeff Layton <jlayton(a)kernel.org>
nfsd: put the export reference in nfsd4_verify_deleg_dentry
Jeff Layton <jlayton(a)kernel.org>
nfsd: fix use-after-free in nfsd_file_do_acquire tracepoint
Jeff Layton <jlayton(a)kernel.org>
nfsd: fix net-namespace logic in __nfsd_file_cache_purge
Tetsuo Handa <penguin-kernel(a)I-love.SAKURA.ne.jp>
NFSD: unregister shrinker when nfsd_init_net() fails
Jeff Layton <jlayton(a)kernel.org>
nfsd: rework hashtable handling in nfsd_do_file_acquire
Jeff Layton <jlayton(a)kernel.org>
nfsd: fix nfsd_file_unhash_and_dispose
Gaosheng Cui <cuigaosheng1(a)huawei.com>
fanotify: Remove obsoleted fanotify_event_has_path()
Gaosheng Cui <cuigaosheng1(a)huawei.com>
fsnotify: remove unused declaration
Al Viro <viro(a)zeniv.linux.org.uk>
fs/notify: constify path
Jeff Layton <jlayton(a)kernel.org>
nfsd: extra checks when freeing delegation stateids
Jeff Layton <jlayton(a)kernel.org>
nfsd: make nfsd4_run_cb a bool return function
Jeff Layton <jlayton(a)kernel.org>
nfsd: fix comments about spinlock handling with delegations
Jeff Layton <jlayton(a)kernel.org>
nfsd: only fill out return pointer on success in nfsd4_lookup_stateid
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Cap rsize_bop result based on send buffer size
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Rename the fields in copy_stateid_t
ChenXiaoSong <chenxiaosong2(a)huawei.com>
nfsd: use DEFINE_SHOW_ATTRIBUTE to define nfsd_file_cache_stats_fops
ChenXiaoSong <chenxiaosong2(a)huawei.com>
nfsd: use DEFINE_SHOW_ATTRIBUTE to define nfsd_reply_cache_stats_fops
ChenXiaoSong <chenxiaosong2(a)huawei.com>
nfsd: use DEFINE_SHOW_ATTRIBUTE to define client_info_fops
ChenXiaoSong <chenxiaosong2(a)huawei.com>
nfsd: use DEFINE_SHOW_ATTRIBUTE to define export_features_fops and supported_enctypes_fops
ChenXiaoSong <chenxiaosong2(a)huawei.com>
nfsd: use DEFINE_PROC_SHOW_ATTRIBUTE to define nfsd_proc_ops
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Pack struct nfsd4_compoundres
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Remove unused nfsd4_compoundargs::cachetype field
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Remove "inline" directives on op_rsize_bop helpers
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Clean up nfs4svc_encode_compoundres()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Clean up WRITE arg decoders
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Use xdr_inline_decode() to decode NFSv3 symlinks
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Refactor common code out of dirlist helpers
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Reduce amount of struct nfsd4_compoundargs that needs clearing
Chuck Lever <chuck.lever(a)oracle.com>
SUNRPC: Parametrize how much of argsize should be zeroed
Dai Ngo <dai.ngo(a)oracle.com>
NFSD: add shrinker to reap courtesy clients on low memory condition
Dai Ngo <dai.ngo(a)oracle.com>
NFSD: keep track of the number of courtesy clients in the system
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Make nfsd4_remove() wait before returning NFS4ERR_DELAY
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Make nfsd4_rename() wait before returning NFS4ERR_DELAY
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Make nfsd4_setattr() wait before returning NFS4ERR_DELAY
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Refactor nfsd_setattr()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Add a mechanism to wait for a DELEGRETURN
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Add tracepoints to report NFSv4 callback completions
Gaosheng Cui <cuigaosheng1(a)huawei.com>
nfsd: remove nfsd4_prepare_cb_recall() declaration
Jeff Layton <jlayton(a)kernel.org>
nfsd: clean up mounted_on_fileid handling
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Fix handling of oversized NFSv4 COMPOUND requests
NeilBrown <neilb(a)suse.de>
NFSD: drop fname and flen args from nfsd_create_locked()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Protect against send buffer overflow in NFSv3 READ
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Protect against send buffer overflow in NFSv2 READ
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Protect against send buffer overflow in NFSv3 READDIR
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Protect against send buffer overflow in NFSv2 READDIR
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Increase NFSD_MAX_OPS_PER_COMPOUND
Christophe JAILLET <christophe.jaillet(a)wanadoo.fr>
nfsd: Propagate some error code returned by memdup_user()
Christophe JAILLET <christophe.jaillet(a)wanadoo.fr>
nfsd: Avoid some useless tests
Jinpeng Cui <cui.jinpeng2(a)zte.com.cn>
NFSD: remove redundant variable status
Olga Kornievskaia <kolga(a)netapp.com>
NFSD enforce filehandle check for source file in COPY
Wolfram Sang <wsa+renesas(a)sang-engineering.com>
lockd: move from strlcpy with unused retval to strscpy
Wolfram Sang <wsa+renesas(a)sang-engineering.com>
NFSD: move from strlcpy with unused retval to strscpy
Al Viro <viro(a)zeniv.linux.org.uk>
nfsd_splice_actor(): handle compound pages
NeilBrown <neilb(a)suse.de>
NFSD: fix regression with setting ACLs.
Jeff Layton <jlayton(a)kernel.org>
lockd: detect and reject lock arguments that overflow
NeilBrown <neilb(a)suse.de>
NFSD: discard fh_locked flag and fh_lock/fh_unlock
NeilBrown <neilb(a)suse.de>
NFSD: use (un)lock_inode instead of fh_(un)lock for file operations
NeilBrown <neilb(a)suse.de>
NFSD: use explicit lock/unlock for directory ops
NeilBrown <neilb(a)suse.de>
NFSD: reduce locking in nfsd_lookup()
NeilBrown <neilb(a)suse.de>
NFSD: only call fh_unlock() once in nfsd_link()
NeilBrown <neilb(a)suse.de>
NFSD: always drop directory lock in nfsd_unlink()
NeilBrown <neilb(a)suse.de>
NFSD: change nfsd_create()/nfsd_symlink() to unlock directory before returning.
NeilBrown <neilb(a)suse.de>
NFSD: add posix ACLs to struct nfsd_attrs
NeilBrown <neilb(a)suse.de>
NFSD: add security label to struct nfsd_attrs
NeilBrown <neilb(a)suse.de>
NFSD: set attributes when creating symlinks
NeilBrown <neilb(a)suse.de>
NFSD: introduce struct nfsd_attrs
Jeff Layton <jlayton(a)kernel.org>
NFSD: verify the opened dentry after setting a delegation
Jeff Layton <jlayton(a)kernel.org>
NFSD: drop fh argument from alloc_init_deleg
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Move copy offload callback arguments into a separate structure
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Add nfsd4_send_cb_offload()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Remove kmalloc from nfsd4_do_async_copy()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Refactor nfsd4_do_copy()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Refactor nfsd4_cleanup_inter_ssc() (2/2)
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Refactor nfsd4_cleanup_inter_ssc() (1/2)
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace boolean fields in struct nfsd4_copy
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Make nfs4_put_copy() static
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Reorder the fields in struct nfsd4_op
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Shrink size of struct nfsd4_copy
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Shrink size of struct nfsd4_copy_notify
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: nfserrno(-ENOMEM) is nfserr_jukebox
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Fix strncpy() fortify warning
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Clean up nfsd4_encode_readlink()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Use xdr_pad_size()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Simplify starting_len
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Optimize nfsd4_encode_readv()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Add an nfsd4_read::rd_eof field
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Clean up SPLICE_OK in nfsd4_encode_read()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Optimize nfsd4_encode_fattr()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Optimize nfsd4_encode_operation()
Jeff Layton <jlayton(a)kernel.org>
nfsd: silence extraneous printk on nfsd.ko insertion
Dai Ngo <dai.ngo(a)oracle.com>
NFSD: limit the number of v4 clients to 1024 per 1GB of system memory
Dai Ngo <dai.ngo(a)oracle.com>
NFSD: keep track of the number of v4 clients in the system
Dai Ngo <dai.ngo(a)oracle.com>
NFSD: refactoring v4 specific code to a helper in nfs4state.c
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Ensure nf_inode is never dereferenced
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: NFSv4 CLOSE should release an nfsd_file immediately
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Move nfsd_file_trace_alloc() tracepoint
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Separate tracepoints for acquire and create
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Clean up unused code after rhashtable conversion
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Convert the filecache to use rhashtable
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Set up an rhashtable for the filecache
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace the "init once" mechanism
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Remove nfsd_file::nf_hashval
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: nfsd_file_hash_remove can compute hashval
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Refactor __nfsd_file_close_inode()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: nfsd_file_unhash can compute hashval from nf->nf_inode
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Remove lockdep assertion from unhash_and_release_locked()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: No longer record nf_hashval in the trace log
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Never call nfsd_file_gc() in foreground paths
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Fix the filecache LRU shrinker
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Leave open files out of the filecache LRU
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Trace filecache LRU activity
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: WARN when freeing an item still linked via nf_lru
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Hook up the filecache stat file
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Zero counters when the filecache is re-initialized
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Record number of flush calls
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Report the number of items evicted by the LRU walk
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Refactor nfsd_file_lru_scan()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Refactor nfsd_file_gc()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Add nfsd_file_lru_dispose_list() helper
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Report average age of filecache items
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Report count of freed filecache items
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Report count of calls to nfsd_file_acquire()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Report filecache LRU size
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Demote a WARN to a pr_warn()
Colin Ian King <colin.i.king(a)gmail.com>
nfsd: remove redundant assignment to variable len
Zhang Jiaming <jiaming(a)nfschina.com>
NFSD: Fix space and spelling mistake
Benjamin Coddington <bcodding(a)redhat.com>
NLM: Defend against file_lock changes after vfs_test_lock()
Chuck Lever <chuck.lever(a)oracle.com>
SUNRPC: Fix xdr_encode_bool()
Jeff Layton <jlayton(a)kernel.org>
nfsd: eliminate the NFSD_FILE_BREAK_* flags
Xin Gao <gaoxin(a)cdjrlc.com>
fsnotify: Fix comment typo
Amir Goldstein <amir73il(a)gmail.com>
fanotify: introduce FAN_MARK_IGNORE
Amir Goldstein <amir73il(a)gmail.com>
fanotify: cleanups for fanotify_mark() input validations
Amir Goldstein <amir73il(a)gmail.com>
fanotify: prepare for setting event flags in ignore mask
Oliver Ford <ojford(a)gmail.com>
fs: inotify: Fix typo in inotify comment
Jeff Layton <jlayton(a)kernel.org>
lockd: fix nlm_close_files
Jeff Layton <jlayton(a)kernel.org>
lockd: set fl_owner when unlocking files
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Decode NFSv4 birth time attribute
NeilBrown <neilb(a)suse.de>
NFS: restore module put when manager exits.
Amir Goldstein <amir73il(a)gmail.com>
fanotify: refine the validation checks on non-dir inode mask
Chuck Lever <chuck.lever(a)oracle.com>
SUNRPC: Optimize xdr_reserve_space()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Fix potential use-after-free in nfsd_file_put()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: nfsd_file_put() can sleep
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Add documenting comment for nfsd4_release_lockowner()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Modernize nfsd4_release_lockowner()
Julian Schroeder <jumaco(a)amazon.com>
nfsd: destroy percpu stats counters after reply cache shutdown
Zhang Xiaoxu <zhangxiaoxu5(a)huawei.com>
nfsd: Fix null-ptr-deref in nfsd_fill_super()
Zhang Xiaoxu <zhangxiaoxu5(a)huawei.com>
nfsd: Unregister the cld notifier when laundry_wq create failed
Chuck Lever <chuck.lever(a)oracle.com>
SUNRPC: Use RMW bitops in single-threaded hot paths
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Clean up the show_nf_flags() macro
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Trace filecache opens
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Move documenting comment for nfsd4_process_open2()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Fix whitespace
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Remove dprintk call sites from tail of nfsd4_open()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Instantiate a struct file when creating a regular NFSv4 file
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Clean up nfsd_open_verified()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Remove do_nfsd_create()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Refactor NFSv4 OPEN(CREATE)
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Refactor NFSv3 CREATE
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Refactor nfsd_create_setattr()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Avoid calling fh_drop_write() twice in do_nfsd_create()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Clean up nfsd3_proc_create()
Dai Ngo <dai.ngo(a)oracle.com>
NFSD: Show state of courtesy client in client info
Dai Ngo <dai.ngo(a)oracle.com>
NFSD: add support for lock conflict to courteous server
Dai Ngo <dai.ngo(a)oracle.com>
fs/lock: add 2 callbacks to lock_manager_operations to resolve conflict
Dai Ngo <dai.ngo(a)oracle.com>
fs/lock: add helper locks_owner_has_blockers to check for blockers
Dai Ngo <dai.ngo(a)oracle.com>
NFSD: move create/destroy of laundry_wq to init_nfsd and exit_nfsd
Dai Ngo <dai.ngo(a)oracle.com>
NFSD: add support for share reservation conflict to courteous server
Dai Ngo <dai.ngo(a)oracle.com>
NFSD: add courteous server support for thread with only delegation
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Clean up nfsd_splice_actor()
Vasily Averin <vvs(a)openvz.org>
fanotify: fix incorrect fmode_t casts
Amir Goldstein <amir73il(a)gmail.com>
fsnotify: consistent behavior for parent not watching children
Amir Goldstein <amir73il(a)gmail.com>
fsnotify: introduce mark type iterator
Amir Goldstein <amir73il(a)gmail.com>
fanotify: enable "evictable" inode marks
Amir Goldstein <amir73il(a)gmail.com>
fanotify: use fsnotify group lock helpers
Amir Goldstein <amir73il(a)gmail.com>
fanotify: implement "evictable" inode marks
Amir Goldstein <amir73il(a)gmail.com>
fanotify: factor out helper fanotify_mark_update_flags()
Amir Goldstein <amir73il(a)gmail.com>
fanotify: create helper fanotify_mark_user_flags()
Amir Goldstein <amir73il(a)gmail.com>
fsnotify: allow adding an inode mark without pinning inode
Amir Goldstein <amir73il(a)gmail.com>
dnotify: use fsnotify group lock helpers
Amir Goldstein <amir73il(a)gmail.com>
nfsd: use fsnotify group lock helpers
Amir Goldstein <amir73il(a)gmail.com>
inotify: use fsnotify group lock helpers
Amir Goldstein <amir73il(a)gmail.com>
fsnotify: create helpers for group mark_mutex lock
Amir Goldstein <amir73il(a)gmail.com>
fsnotify: make allow_dups a property of the group
Amir Goldstein <amir73il(a)gmail.com>
fsnotify: pass flags argument to fsnotify_alloc_group()
Amir Goldstein <amir73il(a)gmail.com>
inotify: move control flags from mask to mark flags
Dai Ngo <dai.ngo(a)oracle.com>
fs/lock: documentation cleanup. Replace inode->i_lock with flc_lock.
Amir Goldstein <amir73il(a)gmail.com>
fanotify: do not allow setting dirent events in mask of non-dir
Trond Myklebust <trond.myklebust(a)hammerspace.com>
nfsd: Clean up nfsd_file_put()
Trond Myklebust <trond.myklebust(a)hammerspace.com>
nfsd: Fix a write performance regression
Haowen Bai <baihaowen(a)meizu.com>
SUNRPC: Return true/false (not 1/0) from bool functions
Bang Li <libang.linuxer(a)gmail.com>
fsnotify: remove redundant parameter judgment
Amir Goldstein <amir73il(a)gmail.com>
fsnotify: optimize FS_MODIFY events with no ignored masks
Amir Goldstein <amir73il(a)gmail.com>
fsnotify: fix merge with parent's ignored mask
Jakob Koschel <jakobkoschel(a)gmail.com>
nfsd: fix using the correct variable for sizeof()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Clean up _lm_ operation names
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Remove CONFIG_NFSD_V3
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Move svc_serv_ops::svo_function into struct svc_serv
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Remove svc_serv_ops::svo_module
Chuck Lever <chuck.lever(a)oracle.com>
SUNRPC: Remove svc_shutdown_net()
Chuck Lever <chuck.lever(a)oracle.com>
SUNRPC: Rename svc_close_xprt()
Chuck Lever <chuck.lever(a)oracle.com>
SUNRPC: Rename svc_create_xprt()
Chuck Lever <chuck.lever(a)oracle.com>
SUNRPC: Remove svo_shutdown method
Chuck Lever <chuck.lever(a)oracle.com>
SUNRPC: Merge svc_do_enqueue_xprt() into svc_enqueue_xprt()
Chuck Lever <chuck.lever(a)oracle.com>
SUNRPC: Remove the .svo_enqueue_xprt method
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Streamline the rare "found" case
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Skip extra computation for RC_NOCACHE case
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: De-duplicate hash bucket indexing
Ondrej Valousek <ondrej.valousek.xm(a)renesas.com>
nfsd: Add support for the birth time attribute
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Deprecate NFS_OFFSET_MAX
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: COMMIT operations must not return NFS?ERR_INVAL
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Fix NFSv3 SETATTR/CREATE's handling of large file sizes
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Fix ia_size underflow
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Fix the behavior of READ near OFFSET_MAX
J. Bruce Fields <bfields(a)redhat.com>
lockd: fix failure to cleanup client locks
J. Bruce Fields <bfields(a)redhat.com>
lockd: fix server crash on reboot of client holding lock
Yang Li <yang.lee(a)linux.alibaba.com>
fanotify: remove variable set but not used
J. Bruce Fields <bfields(a)redhat.com>
nfsd: fix crash on COPY_NOTIFY with special stateid
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Move fill_pre_wcc() and fill_post_wcc()
Chuck Lever <chuck.lever(a)oracle.com>
Revert "nfsd: skip some unnecessary stats in the v4 case"
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Trace boot verifier resets
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Rename boot verifier functions
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Clean up the nfsd_net::nfssvc_boot field
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Write verifier might go backwards
Trond Myklebust <trond.myklebust(a)hammerspace.com>
nfsd: Add a tracepoint for errors in nfsd4_clone_file_range()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: De-duplicate net_generic(nf->nf_net, nfsd_net_id)
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: De-duplicate net_generic(SVC_NET(rqstp), nfsd_net_id)
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Clean up nfsd_vfs_write()
Jeff Layton <jeff.layton(a)primarydata.com>
nfsd: Retry once in nfsd_open on an -EOPENSTALE return
Jeff Layton <jeff.layton(a)primarydata.com>
nfsd: Add errno mapping for EREMOTEIO
Peng Tao <tao.peng(a)primarydata.com>
nfsd: map EBADF
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Fix zero-length NFSv3 WRITEs
Vasily Averin <vvs(a)virtuozzo.com>
nfsd4: add refcount for nfsd4_blocked_lock
J. Bruce Fields <bfields(a)redhat.com>
nfs: block notification on fs with its own ->lock
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: De-duplicate nfsd4_decode_bitmap4()
J. Bruce Fields <bfields(a)redhat.com>
nfsd: improve stateid access bitmask documentation
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Combine XDR error tracepoints
NeilBrown <neilb(a)suse.de>
NFSD: simplify per-net file cache management
Jiapeng Chong <jiapeng.chong(a)linux.alibaba.com>
NFSD: Fix inconsistent indenting
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Remove be32_to_cpu() from DRC hash function
NeilBrown <neilb(a)suse.de>
NFS: switch the callback service back to non-pooled.
NeilBrown <neilb(a)suse.de>
lockd: use svc_set_num_threads() for thread start and stop
NeilBrown <neilb(a)suse.de>
SUNRPC: always treat sv_nrpools==1 as "not pooled"
NeilBrown <neilb(a)suse.de>
SUNRPC: move the pool_map definitions (back) into svc.c
NeilBrown <neilb(a)suse.de>
lockd: rename lockd_create_svc() to lockd_get()
NeilBrown <neilb(a)suse.de>
lockd: introduce lockd_put()
NeilBrown <neilb(a)suse.de>
lockd: move svc_exit_thread() into the thread
NeilBrown <neilb(a)suse.de>
lockd: move lockd_start_svc() call into lockd_create_svc()
NeilBrown <neilb(a)suse.de>
lockd: simplify management of network status notifiers
NeilBrown <neilb(a)suse.de>
lockd: introduce nlmsvc_serv
NeilBrown <neilb(a)suse.de>
NFSD: simplify locking for network notifier.
NeilBrown <neilb(a)suse.de>
SUNRPC: discard svo_setup and rename svc_set_num_threads_sync()
NeilBrown <neilb(a)suse.de>
NFSD: Make it possible to use svc_set_num_threads_sync
NeilBrown <neilb(a)suse.de>
NFSD: narrow nfsd_mutex protection in nfsd thread
NeilBrown <neilb(a)suse.de>
SUNRPC: use sv_lock to protect updates to sv_nrthreads.
NeilBrown <neilb(a)suse.de>
nfsd: make nfsd_stats.th_cnt atomic_t
NeilBrown <neilb(a)suse.de>
SUNRPC: stop using ->sv_nrthreads as a refcount
NeilBrown <neilb(a)suse.de>
SUNRPC/NFSD: clean up get/put functions.
NeilBrown <neilb(a)suse.de>
SUNRPC: change svc_get() to return the svc.
NeilBrown <neilb(a)suse.de>
NFSD: handle errors better in write_ports_addfd()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Fix sparse warning
Eric W. Biederman <ebiederm(a)xmission.com>
exit: Rename module_put_and_exit to module_put_and_kthread_exit
Eric W. Biederman <ebiederm(a)xmission.com>
exit: Implement kthread_exit
Amir Goldstein <amir73il(a)gmail.com>
fanotify: wire up FAN_RENAME event
Amir Goldstein <amir73il(a)gmail.com>
fanotify: report old and/or new parent+name in FAN_RENAME event
Amir Goldstein <amir73il(a)gmail.com>
fanotify: record either old name new name or both for FAN_RENAME
Amir Goldstein <amir73il(a)gmail.com>
fanotify: record old and new parent and name in FAN_RENAME event
Amir Goldstein <amir73il(a)gmail.com>
fanotify: support secondary dir fh and name in fanotify_info
Amir Goldstein <amir73il(a)gmail.com>
fanotify: use helpers to parcel fanotify_info buffer
Amir Goldstein <amir73il(a)gmail.com>
fanotify: use macros to get the offset to fanotify_info buffer
Amir Goldstein <amir73il(a)gmail.com>
fsnotify: generate FS_RENAME event with rich information
Amir Goldstein <amir73il(a)gmail.com>
fanotify: introduce group flag FAN_REPORT_TARGET_FID
Amir Goldstein <amir73il(a)gmail.com>
fsnotify: separate mark iterator type from object type enum
Amir Goldstein <amir73il(a)gmail.com>
fsnotify: clarify object type argument
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Fix READDIR buffer overflow
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Fix exposure in nfsd4_decode_bitmap()
J. Bruce Fields <bfields(a)redhat.com>
nfsd4: remove obselete comment
Changcheng Deng <deng.changcheng(a)zte.com.cn>
NFSD:fix boolreturn.cocci warning
J. Bruce Fields <bfields(a)redhat.com>
nfsd: update create verifier comment
Chuck Lever <chuck.lever(a)oracle.com>
SUNRPC: Change return value type of .pc_encode
Chuck Lever <chuck.lever(a)oracle.com>
SUNRPC: Replace the "__be32 *p" parameter to .pc_encode
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Save location of NFSv4 COMPOUND status
Chuck Lever <chuck.lever(a)oracle.com>
SUNRPC: Change return value type of .pc_decode
Chuck Lever <chuck.lever(a)oracle.com>
SUNRPC: Replace the "__be32 *p" parameter to .pc_decode
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Have legacy NFSD WRITE decoders use xdr_stream_subsegment()
Colin Ian King <colin.king(a)canonical.com>
NFSD: Initialize pointer ni with NULL and not plain integer 0
NeilBrown <neilb(a)suse.de>
NFSD: simplify struct nfsfh
NeilBrown <neilb(a)suse.de>
NFSD: drop support for ancient filehandles
NeilBrown <neilb(a)suse.de>
NFSD: move filehandle format declarations out of "uapi".
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Optimize DRC bucket pruning
Chuck Lever <chuck.lever(a)oracle.com>
SUNRPC: Trace calls to .rpc_call_done
Gabriel Krisman Bertazi <krisman(a)collabora.com>
fanotify: Allow users to request FAN_FS_ERROR events
Gabriel Krisman Bertazi <krisman(a)collabora.com>
fanotify: Emit generic error info for error event
Gabriel Krisman Bertazi <krisman(a)collabora.com>
fanotify: Report fid info for file related file system errors
Gabriel Krisman Bertazi <krisman(a)collabora.com>
fanotify: WARN_ON against too large file handles
Gabriel Krisman Bertazi <krisman(a)collabora.com>
fanotify: Add helpers to decide whether to report FID/DFID
Gabriel Krisman Bertazi <krisman(a)collabora.com>
fanotify: Wrap object_fh inline space in a creator macro
Gabriel Krisman Bertazi <krisman(a)collabora.com>
fanotify: Support merging of error events
Gabriel Krisman Bertazi <krisman(a)collabora.com>
fanotify: Support enqueueing of error events
Gabriel Krisman Bertazi <krisman(a)collabora.com>
fanotify: Pre-allocate pool of error events
Gabriel Krisman Bertazi <krisman(a)collabora.com>
fanotify: Reserve UAPI bits for FAN_FS_ERROR
Gabriel Krisman Bertazi <krisman(a)collabora.com>
fsnotify: Support FS_ERROR event type
Gabriel Krisman Bertazi <krisman(a)collabora.com>
fanotify: Require fid_mode for any non-fd event
Gabriel Krisman Bertazi <krisman(a)collabora.com>
fanotify: Encode empty file handle when no inode is provided
Gabriel Krisman Bertazi <krisman(a)collabora.com>
fanotify: Allow file handle encoding for unhashed events
Gabriel Krisman Bertazi <krisman(a)collabora.com>
fanotify: Support null inode event in fanotify_dfid_inode
Gabriel Krisman Bertazi <krisman(a)collabora.com>
fsnotify: Pass group argument to free_event
Gabriel Krisman Bertazi <krisman(a)collabora.com>
fsnotify: Protect fsnotify_handle_inode_event from no-inode events
Gabriel Krisman Bertazi <krisman(a)collabora.com>
fsnotify: Retrieve super block from the data field
Gabriel Krisman Bertazi <krisman(a)collabora.com>
fsnotify: Add wrapper around fsnotify_add_event
Gabriel Krisman Bertazi <krisman(a)collabora.com>
fsnotify: Add helper to detect overflow_event
Gabriel Krisman Bertazi <krisman(a)collabora.com>
inotify: Don't force FS_IN_IGNORED
Gabriel Krisman Bertazi <krisman(a)collabora.com>
fanotify: Split fsid check from other fid mode checks
Gabriel Krisman Bertazi <krisman(a)collabora.com>
fanotify: Fold event size calculation to its own function
Gabriel Krisman Bertazi <krisman(a)collabora.com>
fsnotify: Don't insert unmergeable events in hashtable
Amir Goldstein <amir73il(a)gmail.com>
fsnotify: clarify contract for create event hooks
Amir Goldstein <amir73il(a)gmail.com>
fsnotify: pass dentry instead of inode data
Amir Goldstein <amir73il(a)gmail.com>
fsnotify: pass data_type to fsnotify_name()
Trond Myklebust <trond.myklebust(a)hammerspace.com>
nfsd: Fix a warning for nfsd_file_close_inode
Chuck Lever <chuck.lever(a)oracle.com>
NLM: Fix svcxdr_encode_owner()
Amir Goldstein <amir73il(a)gmail.com>
fsnotify: fix sb_connectors leak
Chuck Lever <chuck.lever(a)oracle.com>
NFS: Remove unused callback void decoder
Chuck Lever <chuck.lever(a)oracle.com>
NFS: Add a private local dispatcher for NFSv4 callback operations
Chuck Lever <chuck.lever(a)oracle.com>
SUNRPC: Eliminate the RQ_AUTHERR flag
Chuck Lever <chuck.lever(a)oracle.com>
SUNRPC: Set rq_auth_stat in the pg_authenticate() callout
Chuck Lever <chuck.lever(a)oracle.com>
SUNRPC: Add svc_rqst::rq_auth_stat
J. Bruce Fields <bfields(a)redhat.com>
nfs: don't allow reexport reclaims
J. Bruce Fields <bfields(a)redhat.com>
lockd: don't attempt blocking locks on nfs reexports
J. Bruce Fields <bfields(a)redhat.com>
nfs: don't atempt blocking locks on nfs reexports
J. Bruce Fields <bfields(a)redhat.com>
Keep read and write fds with each nlm_file
J. Bruce Fields <bfields(a)redhat.com>
lockd: update nlm_lookup_file reexport comment
J. Bruce Fields <bfields(a)redhat.com>
nlm: minor refactoring
J. Bruce Fields <bfields(a)redhat.com>
nlm: minor nlm_lookup_file argument change
Jia He <hejianet(a)gmail.com>
lockd: change the proc_handler for nsm_use_hostnames
Jia He <hejianet(a)gmail.com>
sysctl: introduce new proc handler proc_dobool
NeilBrown <neilb(a)suse.de>
NFSD: remove vanity comments
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Batch release pages during splice read
Chuck Lever <chuck.lever(a)oracle.com>
SUNRPC: Add svc_rqst_replace_page() API
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Clean up splice actor
Amir Goldstein <amir73il(a)gmail.com>
fsnotify: optimize the case of no marks of any type
Amir Goldstein <amir73il(a)gmail.com>
fsnotify: count all objects with attached connectors
Amir Goldstein <amir73il(a)gmail.com>
fsnotify: count s_fsnotify_inode_refs for attached connectors
Amir Goldstein <amir73il(a)gmail.com>
fsnotify: replace igrab() with ihold() on attach connector
Matthew Bobrowski <repnop(a)google.com>
fanotify: add pidfd support to the fanotify API
Matthew Bobrowski <repnop(a)google.com>
fanotify: introduce a generic info record copying helper
Matthew Bobrowski <repnop(a)google.com>
fanotify: minor cosmetic adjustments to fid labels
Matthew Bobrowski <repnop(a)google.com>
kernel/pid.c: implement additional checks upon pidfd_create() parameters
Matthew Bobrowski <repnop(a)google.com>
kernel/pid.c: remove static qualifier from pidfd_create()
J. Bruce Fields <bfields(a)redhat.com>
nfsd: fix NULL dereference in nfs3svc_encode_getaclres
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Prevent a possible oops in the nfs_dirent() tracepoint
Colin Ian King <colin.king(a)canonical.com>
nfsd: remove redundant assignment to pointer 'this'
Chuck Lever <chuck.lever(a)oracle.com>
lockd: Update the NLMv4 SHARE results encoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
lockd: Update the NLMv4 nlm_res results encoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
lockd: Update the NLMv4 TEST results encoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
lockd: Update the NLMv4 void results encoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
lockd: Update the NLMv4 FREE_ALL arguments decoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
lockd: Update the NLMv4 SHARE arguments decoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
lockd: Update the NLMv4 SM_NOTIFY arguments decoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
lockd: Update the NLMv4 nlm_res arguments decoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
lockd: Update the NLMv4 UNLOCK arguments decoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
lockd: Update the NLMv4 CANCEL arguments decoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
lockd: Update the NLMv4 LOCK arguments decoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
lockd: Update the NLMv4 TEST arguments decoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
lockd: Update the NLMv4 void arguments decoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
lockd: Update the NLMv1 SHARE results encoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
lockd: Update the NLMv1 nlm_res results encoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
lockd: Update the NLMv1 TEST results encoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
lockd: Update the NLMv1 void results encoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
lockd: Update the NLMv1 FREE_ALL arguments decoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
lockd: Update the NLMv1 SHARE arguments decoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
lockd: Update the NLMv1 SM_NOTIFY arguments decoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
lockd: Update the NLMv1 nlm_res arguments decoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
lockd: Update the NLMv1 UNLOCK arguments decoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
lockd: Update the NLMv1 CANCEL arguments decoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
lockd: Update the NLMv1 LOCK arguments decoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
lockd: Update the NLMv1 TEST arguments decoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
lockd: Update the NLMv1 void argument decoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
lockd: Common NLM XDR helpers
Chuck Lever <chuck.lever(a)oracle.com>
lockd: Create a simplified .vs_dispatch method for NLM requests
Chuck Lever <chuck.lever(a)oracle.com>
lockd: Remove stale comments
J. Bruce Fields <bfields(a)redhat.com>
nfsd: rpc_peeraddr2str needs rcu lock
Wei Yongjun <weiyongjun1(a)huawei.com>
NFSD: Fix error return code in nfsd4_interssc_connect()
Dai Ngo <dai.ngo(a)oracle.com>
nfsd: fix kernel test robot warning in SSC code
Dave Wysochanski <dwysocha(a)redhat.com>
nfsd4: Expose the callback address and state of each NFS4 client
J. Bruce Fields <bfields(a)redhat.com>
nfsd: move fsnotify on client creation outside spinlock
Dai Ngo <dai.ngo(a)oracle.com>
NFSD: delay unmount source's export after inter-server copy completed.
Olga Kornievskaia <kolga(a)netapp.com>
NFSD add vfs_fsync after async copy is done
J. Bruce Fields <bfields(a)redhat.com>
nfsd: move some commit_metadata()s outside the inode lock
Yu Hsiang Huang <nickhuang(a)synology.com>
nfsd: Prevent truncation of an unlinked inode from blocking access to its directory
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update nfsd_cb_args tracepoint
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Remove the nfsd_cb_work and nfsd_cb_done tracepoints
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Add an nfsd_cb_probe tracepoint
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace the nfsd_deleg_break tracepoint
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Add an nfsd_cb_offload tracepoint
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Add an nfsd_cb_lm_notify tracepoint
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Enhance the nfsd_cb_setup tracepoint
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Adjust cb_shutdown tracepoint
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Add cb_lost tracepoint
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Drop TRACE_DEFINE_ENUM for NFSD4_CB_<state> macros
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Capture every CB state transition
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Constify @fh argument of knfsd_fh_hash()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Add tracepoints for EXCHANGEID edge cases
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Add tracepoints for SETCLIENTID edge cases
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Add a couple more nfsd_clid_expired call sites
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Add nfsd_clid_destroyed tracepoint
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Add nfsd_clid_reclaim_complete tracepoint
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Add nfsd_clid_confirmed tracepoint
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Remove trace_nfsd_clid_inuse_err
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Add nfsd_clid_verf_mismatch tracepoint
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Add nfsd_clid_cred_mismatch tracepoint
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Add an RPC authflavor tracepoint display helper
Amir Goldstein <amir73il(a)gmail.com>
fanotify: fix permission model of unprivileged group
Trond Myklebust <trond.myklebust(a)hammerspace.com>
NFS: fix nfs_fetch_iversion()
Dai Ngo <dai.ngo(a)oracle.com>
NFSv4.2: Remove ifdef CONFIG_NFSD from NFSv4.2 client SSC code.
Gustavo A. R. Silva <gustavoars(a)kernel.org>
nfsd: Fix fall-through warnings for Clang
J. Bruce Fields <bfields(a)redhat.com>
nfsd: grant read delegations to clients holding writes
J. Bruce Fields <bfields(a)redhat.com>
nfsd: reshuffle some code
J. Bruce Fields <bfields(a)redhat.com>
nfsd: track filehandle aliasing in nfs4_files
J. Bruce Fields <bfields(a)redhat.com>
nfsd: hash nfs4_files by inode number
Vasily Averin <vvs(a)virtuozzo.com>
nfsd: removed unused argument in nfsd_startup_generic()
Jiapeng Chong <jiapeng.chong(a)linux.alibaba.com>
nfsd: remove unused function
Christian Brauner <christian.brauner(a)ubuntu.com>
fanotify_user: use upper_32_bits() to verify mask
Amir Goldstein <amir73il(a)gmail.com>
fanotify: support limited functionality for unprivileged users
Amir Goldstein <amir73il(a)gmail.com>
fanotify: configurable limits via sysfs
Amir Goldstein <amir73il(a)gmail.com>
fanotify: limit number of event merge attempts
Amir Goldstein <amir73il(a)gmail.com>
fsnotify: use hash table for faster events merge
Amir Goldstein <amir73il(a)gmail.com>
fanotify: mix event info and pid into merge key hash
Amir Goldstein <amir73il(a)gmail.com>
fanotify: reduce event objectid to 29-bit hash
Chuck Lever <chuck.lever(a)oracle.com>
Revert "fanotify: limit number of event merge attempts"
Amir Goldstein <amir73il(a)gmail.com>
fsnotify: allow fsnotify_{peek,remove}_first_event with empty queue
Guobin Huang <huangguobin4(a)huawei.com>
NFSD: Use DEFINE_SPINLOCK() for spinlock
Gustavo A. R. Silva <gustavoars(a)kernel.org>
UAPI: nfsfh.h: Replace one-element array with flexible-array member
Chuck Lever <chuck.lever(a)oracle.com>
SUNRPC: Export svc_xprt_received()
NeilBrown <neilb(a)suse.de>
nfsd: report client confirmation status in "info" file
J. Bruce Fields <bfields(a)redhat.com>
nfsd: don't ignore high bits of copy count
J. Bruce Fields <bfields(a)redhat.com>
nfsd: COPY with length 0 should copy to end of file
Ricardo Ribalda <ribalda(a)chromium.org>
nfsd: Fix typo "accesible"
Paul Menzel <pmenzel(a)molgen.mpg.de>
nfsd: Log client tracking type log message as info instead of warning
J. Bruce Fields <bfields(a)redhat.com>
nfsd: helper for laundromat expiry calculations
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Clean up NFSDDBG_FACILITY macro
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Add a tracepoint to record directory entry encoding
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Clean up after updating NFSv3 ACL encoders
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update the NFSv3 SETACL result encoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update the NFSv3 GETACL result encoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Clean up after updating NFSv2 ACL encoders
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update the NFSv2 ACL ACCESS result encoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update the NFSv2 ACL GETATTR result encoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update the NFSv2 SETACL result encoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update the NFSv2 GETACL result encoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Add an xdr_stream-based encoder for NFSv2/3 ACLs
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Remove unused NFSv2 directory entry encoders
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update the NFSv2 READDIR entry encoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update the NFSv2 READDIR result encoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Count bytes instead of pages in the NFSv2 READDIR encoder
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Add a helper that encodes NFSv3 directory offset cookies, again
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update the NFSv2 STATFS result encoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update the NFSv2 READ result encoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update the NFSv2 READLINK result encoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update the NFSv2 diropres encoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update the NFSv2 attrstat encoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update the NFSv2 stat encoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Reduce svc_rqst::rq_pages churn during READDIR operations
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Remove unused NFSv3 directory entry encoders
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update NFSv3 READDIR entry encoders to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update the NFSv3 READDIR3res encoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Count bytes instead of pages in the NFSv3 READDIR encoder
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Add a helper that encodes NFSv3 directory offset cookies
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update the NFSv3 COMMIT3res encoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update the NFSv3 PATHCONF3res encoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update the NFSv3 FSINFO3res encoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update the NFSv3 FSSTAT3res encoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update the NFSv3 LINK3res encoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update the NFSv3 RENAMEv3res encoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update the NFSv3 CREATE family of encoders to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update the NFSv3 WRITE3res encoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update the NFSv3 READ3res encode to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update the NFSv3 READLINK3res encoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update the NFSv3 wccstat result encoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update the NFSv3 LOOKUP3res encoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update the NFSv3 ACCESS3res encoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update the GETATTR3res encoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Extract the svcxdr_init_encode() helper
Christian Brauner <christian.brauner(a)ubuntu.com>
namei: introduce struct renamedata
Christian Brauner <christian.brauner(a)ubuntu.com>
fs: add file and path permissions helpers
Christoph Hellwig <hch(a)lst.de>
kallsyms: only build {,module_}kallsyms_on_each_symbol when required
Christoph Hellwig <hch(a)lst.de>
kallsyms: refactor {,module_}kallsyms_on_each_symbol
Christoph Hellwig <hch(a)lst.de>
module: use RCU to synchronize find_module
Christoph Hellwig <hch(a)lst.de>
module: unexport find_module and module_mutex
Shakeel Butt <shakeelb(a)google.com>
inotify, memcg: account inotify instances to kmemcg
J. Bruce Fields <bfields(a)redhat.com>
nfsd: skip some unnecessary stats in the v4 case
J. Bruce Fields <bfields(a)redhat.com>
nfs: use change attribute for NFS re-exports
Dai Ngo <dai.ngo(a)oracle.com>
NFSv4_2: SSC helper should use its own config.
J. Bruce Fields <bfields(a)redhat.com>
nfsd: cstate->session->se_client -> cstate->clp
J. Bruce Fields <bfields(a)redhat.com>
nfsd: simplify nfsd4_check_open_reclaim
J. Bruce Fields <bfields(a)redhat.com>
nfsd: remove unused set_client argument
J. Bruce Fields <bfields(a)redhat.com>
nfsd: find_cpntf_state cleanup
J. Bruce Fields <bfields(a)redhat.com>
nfsd: refactor set_client
J. Bruce Fields <bfields(a)redhat.com>
nfsd: rename lookup_clientid->set_client
J. Bruce Fields <bfields(a)redhat.com>
nfsd: simplify nfsd_renew
J. Bruce Fields <bfields(a)redhat.com>
nfsd: simplify process_lock
J. Bruce Fields <bfields(a)redhat.com>
nfsd4: simplify process_lookup1
Amir Goldstein <amir73il(a)gmail.com>
nfsd: report per-export stats
Amir Goldstein <amir73il(a)gmail.com>
nfsd: protect concurrent access to nfsd stats counters
Amir Goldstein <amir73il(a)gmail.com>
nfsd: remove unused stats counters
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Clean up after updating NFSv3 ACL decoders
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update the NFSv2 SETACL argument decoder to use struct xdr_stream, again
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update the NFSv3 GETACL argument decoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Clean up after updating NFSv2 ACL decoders
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update the NFSv2 ACL ACCESS argument decoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update the NFSv2 ACL GETATTR argument decoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update the NFSv2 SETACL argument decoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Add an xdr_stream-based decoder for NFSv2/3 ACLs
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update the NFSv2 GETACL argument decoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Remove argument length checking in nfsd_dispatch()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update the NFSv2 SYMLINK argument decoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update the NFSv2 CREATE argument decoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update the NFSv2 SETATTR argument decoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update the NFSv2 LINK argument decoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update the NFSv2 RENAME argument decoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update NFSv2 diropargs decoding to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update the NFSv2 READDIR argument decoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Add helper to set up the pages where the dirlist is encoded, again
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update the NFSv2 READLINK argument decoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update the NFSv2 WRITE argument decoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update the NFSv2 READ argument decoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update the NFSv2 GETATTR argument decoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update the MKNOD3args decoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update the SYMLINK3args decoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update the MKDIR3args decoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update the CREATE3args decoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update the SETATTR3args decoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update the LINK3args decoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update the RENAME3args decoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update the NFSv3 DIROPargs decoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update COMMIT3arg decoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update READDIR3args decoders to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Add helper to set up the pages where the dirlist is encoded
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Fix returned READDIR offset cookie
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update READLINK3arg decoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update WRITE3arg decoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update READ3arg decoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update ACCESS3arg decoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Update GETATTR3args decoder to use struct xdr_stream
Chuck Lever <chuck.lever(a)oracle.com>
SUNRPC: Move definition of XDR_UNIT
Chuck Lever <chuck.lever(a)oracle.com>
SUNRPC: Display RPC procedure names instead of proc numbers
Chuck Lever <chuck.lever(a)oracle.com>
SUNRPC: Make trace_svc_process() display the RPC procedure symbolically
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Restore NFSv4 decoding's SAVEMEM functionality
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Fix sparse warning in nfssvc.c
Zheng Yongjun <zhengyongjun3(a)huawei.com>
fs/lockd: convert comma to semicolon
Waiman Long <longman(a)redhat.com>
inotify: Increase default inotify.max_user_watches limit to 1048576
Eric W. Biederman <ebiederm(a)xmission.com>
file: Replace ksys_close with close_fd
Eric W. Biederman <ebiederm(a)xmission.com>
file: Rename __close_fd to close_fd and remove the files parameter
Eric W. Biederman <ebiederm(a)xmission.com>
file: Merge __alloc_fd into alloc_fd
Eric W. Biederman <ebiederm(a)xmission.com>
file: In f_dupfd read RLIMIT_NOFILE once.
Eric W. Biederman <ebiederm(a)xmission.com>
file: Merge __fd_install into fd_install
Eric W. Biederman <ebiederm(a)xmission.com>
proc/fd: In fdinfo seq_show don't use get_files_struct
Eric W. Biederman <ebiederm(a)xmission.com>
proc/fd: In proc_readfd_common use task_lookup_next_fd_rcu
Eric W. Biederman <ebiederm(a)xmission.com>
file: Implement task_lookup_next_fd_rcu
Eric W. Biederman <ebiederm(a)xmission.com>
kcmp: In get_file_raw_ptr use task_lookup_fd_rcu
Eric W. Biederman <ebiederm(a)xmission.com>
proc/fd: In tid_fd_mode use task_lookup_fd_rcu
Eric W. Biederman <ebiederm(a)xmission.com>
file: Implement task_lookup_fd_rcu
Eric W. Biederman <ebiederm(a)xmission.com>
file: Rename fcheck lookup_fd_rcu
Eric W. Biederman <ebiederm(a)xmission.com>
file: Replace fcheck_files with files_lookup_fd_rcu
Eric W. Biederman <ebiederm(a)xmission.com>
file: Factor files_lookup_fd_locked out of fcheck_files
Eric W. Biederman <ebiederm(a)xmission.com>
file: Rename __fcheck_files to files_lookup_fd_raw
Chuck Lever <chuck.lever(a)oracle.com>
Revert "fget: clarify and improve __fget_files() implementation"
Eric W. Biederman <ebiederm(a)xmission.com>
proc/fd: In proc_fd_link use fget_task
Eric W. Biederman <ebiederm(a)xmission.com>
bpf: In bpf_task_fd_query use fget_task
Eric W. Biederman <ebiederm(a)xmission.com>
kcmp: In kcmp_epoll_target use fget_task
Eric W. Biederman <ebiederm(a)xmission.com>
exec: Remove reset_files_struct
Eric W. Biederman <ebiederm(a)xmission.com>
exec: Simplify unshare_files
Eric W. Biederman <ebiederm(a)xmission.com>
exec: Move unshare_files to fix posix file locking during exec
Eric W. Biederman <ebiederm(a)xmission.com>
exec: Don't open code get_close_on_exec
Trond Myklebust <trond.myklebust(a)hammerspace.com>
nfsd: Record NFSv4 pre/post-op attributes as non-atomic
Trond Myklebust <trond.myklebust(a)hammerspace.com>
nfsd: Set PF_LOCAL_THROTTLE on local filesystems only
Trond Myklebust <trond.myklebust(a)hammerspace.com>
nfsd: Fix up nfsd to ensure that timeout errors don't result in ESTALE
Trond Myklebust <trond.myklebust(a)hammerspace.com>
exportfs: Add a function to return the raw output from fh_to_dentry()
Jeff Layton <jeff.layton(a)primarydata.com>
nfsd: close cached files prior to a REMOVE or RENAME that would replace target
Jeff Layton <jeff.layton(a)primarydata.com>
nfsd: allow filesystems to opt out of subtree checking
Jeff Layton <jeff.layton(a)primarydata.com>
nfsd: add a new EXPORT_OP_NOWCC flag to struct export_operations
J. Bruce Fields <bfields(a)redhat.com>
Revert "nfsd4: support change_attr_type attribute"
J. Bruce Fields <bfields(a)redhat.com>
nfsd4: don't query change attribute in v2/v3 case
J. Bruce Fields <bfields(a)redhat.com>
nfsd: minor nfsd4_change_attribute cleanup
J. Bruce Fields <bfields(a)redhat.com>
nfsd: simplify nfsd4_change_info
J. Bruce Fields <bfields(a)redhat.com>
nfsd: only call inode_query_iversion in the I_VERSION case
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Remove macros that are no longer used
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_compound()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Make nfsd4_ops::opnum a u32
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_listxattrs()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_setxattr()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_xattr_name()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_clone()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_seek()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_offload_status()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_copy_notify()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_copy()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_nl4_server()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_fallocate()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_reclaim_complete()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_destroy_clientid()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_test_stateid()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_sequence()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_secinfo_no_name()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_layoutreturn()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_layoutget()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_layoutcommit()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_getdeviceinfo()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_free_stateid()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_destroy_session()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_create_session()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Add a helper to decode channel_attrs4
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Add a helper to decode nfs_impl_id4
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Add a helper to decode state_protect4_a
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Add a separate decoder for ssv_sp_parms
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Add a separate decoder to handle state_protect_ops
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_bind_conn_to_session()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_backchannel_ctl()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_cb_sec()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_release_lockowner()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_write()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_verify()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_setclientid_confirm()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_setclientid()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_setattr()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_secinfo()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_renew()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_rename()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_remove()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_readdir()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_read()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_putfh()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_open_downgrade()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_open_confirm()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_open()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Add helper to decode OPEN's open_claim4 argument
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_share_deny()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_share_access()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Add helper to decode OPEN's openflag4 argument
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Add helper to decode OPEN's createhow4 argument
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Add helper to decode NFSv4 verifiers
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_lookup()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_locku()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_lockt()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_lock()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Add helper for decoding locker4
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Add helpers to decode a clientid4 and an NFSv4 state owner
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Relocate nfsd4_decode_opaque()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_link()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_getattr()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_delegreturn()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_create()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_fattr()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros that decode the fattr4 umask attribute
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros that decode the fattr4 security label attribute
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros that decode the fattr4 time_set attributes
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros that decode the fattr4 owner_group attribute
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros that decode the fattr4 owner attribute
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros that decode the fattr4 mode attribute
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros that decode the fattr4 acl attribute
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros that decode the fattr4 size attribute
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Change the way the expected length of a fattr4 is checked
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_commit()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_close()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace READ* macros in nfsd4_decode_access()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Replace the internals of the READ_BUF() macro
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Add tracepoints in nfsd4_decode/encode_compound()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Add tracepoints in nfsd_dispatch()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Add common helpers to decode void args and encode void results
Chuck Lever <chuck.lever(a)oracle.com>
SUNRPC: Prepare for xdr_stream-style decoding on the server-side
Chuck Lever <chuck.lever(a)oracle.com>
SUNRPC: Add xdr_set_scratch_page() and xdr_reset_scratch_buffer()
Huang Guobin <huangguobin4(a)huawei.com>
nfsd: Fix error return code in nfsd_file_cache_init()
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Add SPDX header for fs/nfsd/trace.c
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Remove extra "0x" in tracepoint format specifier
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Clean up the show_nf_may macro
Alex Shi <alex.shi(a)linux.alibaba.com>
nfsd/nfs3: remove unused macro nfsd3_fhandleres
Tom Rix <trix(a)redhat.com>
NFSD: A semicolon is not needed after a switch statement.
Chuck Lever <chuck.lever(a)oracle.com>
NFSD: Invoke svc_encode_result_payload() in "read" NFSD encoders
Chuck Lever <chuck.lever(a)oracle.com>
SUNRPC: Rename svc_encode_read_payload()
-------------
Diffstat:
Documentation/filesystems/files.rst | 8 +-
Documentation/filesystems/locking.rst | 10 +-
Documentation/filesystems/nfs/exporting.rst | 78 +
Makefile | 4 +-
arch/powerpc/platforms/cell/spufs/coredump.c | 2 +-
crypto/algboss.c | 4 +-
fs/Kconfig | 6 +-
fs/autofs/dev-ioctl.c | 5 +-
fs/cachefiles/namei.c | 9 +-
fs/cifs/connect.c | 2 +-
fs/coredump.c | 5 +-
fs/ecryptfs/inode.c | 10 +-
fs/exec.c | 29 +-
fs/exportfs/expfs.c | 40 +-
fs/file.c | 177 +-
fs/init.c | 6 +-
fs/lockd/clnt4xdr.c | 9 +-
fs/lockd/clntproc.c | 3 -
fs/lockd/host.c | 4 +-
fs/lockd/svc.c | 262 +-
fs/lockd/svc4proc.c | 70 +-
fs/lockd/svclock.c | 67 +-
fs/lockd/svcproc.c | 62 +-
fs/lockd/svcsubs.c | 123 +-
fs/lockd/svcxdr.h | 142 +
fs/lockd/xdr.c | 448 +--
fs/lockd/xdr4.c | 472 ++--
fs/locks.c | 102 +-
fs/namei.c | 21 +-
fs/nfs/blocklayout/blocklayout.c | 2 +-
fs/nfs/blocklayout/dev.c | 2 +-
fs/nfs/callback.c | 111 +-
fs/nfs/callback_xdr.c | 33 +-
fs/nfs/dir.c | 2 +-
fs/nfs/export.c | 17 +
fs/nfs/file.c | 3 +
fs/nfs/filelayout/filelayout.c | 4 +-
fs/nfs/filelayout/filelayoutdev.c | 2 +-
fs/nfs/flexfilelayout/flexfilelayout.c | 4 +-
fs/nfs/flexfilelayout/flexfilelayoutdev.c | 2 +-
fs/nfs/nfs42xdr.c | 2 +-
fs/nfs/nfs4state.c | 2 +-
fs/nfs/nfs4xdr.c | 6 +-
fs/nfs/pagelist.c | 3 -
fs/nfs/super.c | 8 +
fs/nfs/write.c | 3 -
fs/nfs_common/Makefile | 2 +-
fs/nfs_common/nfs_ssc.c | 2 -
fs/nfs_common/nfsacl.c | 123 +
fs/nfsd/Kconfig | 36 +-
fs/nfsd/Makefile | 8 +-
fs/nfsd/acl.h | 6 +-
fs/nfsd/blocklayout.c | 1 +
fs/nfsd/blocklayoutxdr.c | 1 +
fs/nfsd/cache.h | 2 +-
fs/nfsd/export.c | 74 +-
fs/nfsd/export.h | 16 +-
fs/nfsd/filecache.c | 1229 +++++----
fs/nfsd/filecache.h | 23 +-
fs/nfsd/flexfilelayout.c | 3 +-
fs/nfsd/lockd.c | 10 +-
fs/nfsd/netns.h | 63 +-
fs/nfsd/nfs2acl.c | 214 +-
fs/nfsd/nfs3acl.c | 140 +-
fs/nfsd/nfs3proc.c | 396 ++-
fs/nfsd/nfs3xdr.c | 1763 ++++++------
fs/nfsd/nfs4acl.c | 45 +-
fs/nfsd/nfs4callback.c | 168 +-
fs/nfsd/nfs4idmap.c | 9 +-
fs/nfsd/nfs4layouts.c | 4 +-
fs/nfsd/nfs4proc.c | 1111 +++++---
fs/nfsd/nfs4recover.c | 20 +-
fs/nfsd/nfs4state.c | 1725 ++++++++----
fs/nfsd/nfs4xdr.c | 3763 ++++++++++++++------------
fs/nfsd/nfscache.c | 115 +-
fs/nfsd/nfsctl.c | 169 +-
fs/nfsd/nfsd.h | 50 +-
fs/nfsd/nfsfh.c | 291 +-
fs/nfsd/nfsfh.h | 179 +-
fs/nfsd/nfsproc.c | 262 +-
fs/nfsd/nfssvc.c | 356 ++-
fs/nfsd/nfsxdr.c | 834 +++---
fs/nfsd/state.h | 69 +-
fs/nfsd/stats.c | 126 +-
fs/nfsd/stats.h | 96 +-
fs/nfsd/trace.c | 1 +
fs/nfsd/trace.h | 894 +++++-
fs/nfsd/vfs.c | 931 +++----
fs/nfsd/vfs.h | 60 +-
fs/nfsd/xdr.h | 68 +-
fs/nfsd/xdr3.h | 116 +-
fs/nfsd/xdr4.h | 127 +-
fs/nfsd/xdr4cb.h | 6 +
fs/notify/dnotify/dnotify.c | 17 +-
fs/notify/fanotify/fanotify.c | 487 +++-
fs/notify/fanotify/fanotify.h | 252 +-
fs/notify/fanotify/fanotify_user.c | 882 ++++--
fs/notify/fdinfo.c | 19 +-
fs/notify/fsnotify.c | 183 +-
fs/notify/fsnotify.h | 19 +-
fs/notify/group.c | 38 +-
fs/notify/inotify/inotify.h | 11 +-
fs/notify/inotify/inotify_fsnotify.c | 12 +-
fs/notify/inotify/inotify_user.c | 87 +-
fs/notify/mark.c | 172 +-
fs/notify/notification.c | 78 +-
fs/open.c | 49 +-
fs/overlayfs/overlayfs.h | 9 +-
fs/proc/fd.c | 48 +-
fs/udf/file.c | 2 +-
fs/verity/enable.c | 2 +-
include/linux/dnotify.h | 2 +-
include/linux/errno.h | 1 +
include/linux/exportfs.h | 15 +
include/linux/fanotify.h | 74 +-
include/linux/fdtable.h | 37 +-
include/linux/fs.h | 54 +-
include/linux/fsnotify.h | 77 +-
include/linux/fsnotify_backend.h | 372 ++-
include/linux/iversion.h | 13 +
include/linux/kallsyms.h | 17 +-
include/linux/kthread.h | 1 +
include/linux/lockd/bind.h | 3 +-
include/linux/lockd/lockd.h | 17 +-
include/linux/lockd/xdr.h | 35 +-
include/linux/lockd/xdr4.h | 33 +-
include/linux/module.h | 24 +-
include/linux/nfs.h | 8 -
include/linux/nfs4.h | 21 +-
include/linux/nfs_ssc.h | 14 +
include/linux/nfsacl.h | 6 +
include/linux/pid.h | 1 +
include/linux/sched/user.h | 3 -
include/linux/sunrpc/msg_prot.h | 3 -
include/linux/sunrpc/svc.h | 151 +-
include/linux/sunrpc/svc_rdma.h | 4 +-
include/linux/sunrpc/svc_xprt.h | 16 +-
include/linux/sunrpc/svcauth.h | 4 +-
include/linux/sunrpc/svcsock.h | 7 +-
include/linux/sunrpc/xdr.h | 153 +-
include/linux/syscalls.h | 12 -
include/linux/sysctl.h | 2 +
include/linux/user_namespace.h | 4 +
include/trace/events/sunrpc.h | 26 +-
include/uapi/linux/fanotify.h | 42 +
include/uapi/linux/nfs3.h | 6 +
include/uapi/linux/nfsd/nfsfh.h | 105 -
kernel/audit_fsnotify.c | 8 +-
kernel/audit_tree.c | 2 +-
kernel/audit_watch.c | 5 +-
kernel/bpf/inode.c | 2 +-
kernel/bpf/syscall.c | 20 +-
kernel/bpf/task_iter.c | 2 +-
kernel/fork.c | 12 +-
kernel/kallsyms.c | 8 +-
kernel/kcmp.c | 29 +-
kernel/kthread.c | 23 +-
kernel/livepatch/core.c | 7 +-
kernel/module.c | 26 +-
kernel/pid.c | 15 +-
kernel/sys.c | 2 +-
kernel/sysctl.c | 54 +-
kernel/trace/trace_kprobe.c | 4 +-
kernel/ucount.c | 4 +
mm/madvise.c | 2 +-
mm/memcontrol.c | 2 +-
mm/mincore.c | 2 +-
net/bluetooth/bnep/core.c | 2 +-
net/bluetooth/cmtp/core.c | 2 +-
net/bluetooth/hidp/core.c | 2 +-
net/sunrpc/auth_gss/gss_rpc_xdr.c | 2 +-
net/sunrpc/auth_gss/svcauth_gss.c | 47 +-
net/sunrpc/sched.c | 1 +
net/sunrpc/svc.c | 314 ++-
net/sunrpc/svc_xprt.c | 104 +-
net/sunrpc/svcauth.c | 8 +-
net/sunrpc/svcauth_unix.c | 18 +-
net/sunrpc/svcsock.c | 32 +-
net/sunrpc/xdr.c | 112 +-
net/sunrpc/xprtrdma/svc_rdma_backchannel.c | 2 +-
net/sunrpc/xprtrdma/svc_rdma_sendto.c | 32 +-
net/sunrpc/xprtrdma/svc_rdma_transport.c | 2 +-
net/unix/af_unix.c | 2 +-
tools/objtool/check.c | 3 +-
184 files changed, 13912 insertions(+), 8825 deletions(-)
It could lead to error happen because the variable res is not updated if
the call to sr_share_read_word returns an error. In this particular case
error code was returned and res stayed uninitialized.
This can be avoided by checking the return value of sr_share_read_word
and propagating the error if the read operation failed.
Found by code review.
Cc: stable(a)vger.kernel.org
Fixes: c9b37458e956 ("USB2NET : SR9700 : One chip USB 1.1 USB2NET SR9700Device Driver Support")
Signed-off-by: Ma Ke <make24(a)iscas.ac.cn>
---
Changes in v3:
- added Cc stable line as suggestions.
Changes in v2:
- modified the subject as suggestions.
---
drivers/net/usb/sr9700.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/net/usb/sr9700.c b/drivers/net/usb/sr9700.c
index 0a662e42ed96..d5bc596f4521 100644
--- a/drivers/net/usb/sr9700.c
+++ b/drivers/net/usb/sr9700.c
@@ -179,6 +179,7 @@ static int sr_mdio_read(struct net_device *netdev, int phy_id, int loc)
struct usbnet *dev = netdev_priv(netdev);
__le16 res;
int rc = 0;
+ int err;
if (phy_id) {
netdev_dbg(netdev, "Only internal phy supported\n");
@@ -193,7 +194,10 @@ static int sr_mdio_read(struct net_device *netdev, int phy_id, int loc)
if (value & NSR_LINKST)
rc = 1;
}
- sr_share_read_word(dev, 1, loc, &res);
+ err = sr_share_read_word(dev, 1, loc, &res);
+ if (err < 0)
+ return err;
+
if (rc == 1)
res = le16_to_cpu(res) | BMSR_LSTATUS;
else
--
2.25.1
Because maxnode bug there is no way to bind or migrate_pages to the
last node in multi-node NUMA system unless you lie about maxnodes
when making the mbind, set_mempolicy or migrate_pages syscall.
Manpage for those syscall describe maxnodes as the number of bits in
the node bitmap ("bit mask of nodes containing up to maxnode bits").
Thus if maxnode is n then we expect to have a n bit(s) bitmap which
means that the mask of valid bits is ((1 << n) - 1). The get_nodes()
decrement lead to the mask being ((1 << (n - 1)) - 1).
The three syscalls use a common helper get_nodes() and first things
this helper do is decrement maxnode by 1 which leads to using n-1 bits
in the provided mask of nodes (see get_bitmap() an helper function to
get_nodes()).
The lead to two bugs, either the last node in the bitmap provided will
not be use in either of the three syscalls, or the syscalls will error
out and return EINVAL if the only bit set in the bitmap was the last
bit in the mask of nodes (which is ignored because of the bug and an
empty mask of nodes is an invalid argument).
I am surprised this bug was never caught ... it has been in the kernel
since forever.
People can use the following function to detect if the kernel has the
bug:
bool kernel_has_maxnodes_bug(void)
{
unsigned long nodemask = 1;
bool has_bug;
long res;
res = set_mempolicy(MPOL_BIND, &nodemask, 1);
has_bug = res && (errno == EINVAL);
set_mempolicy(MPOL_DEFAULT, NULL, 0);
return has_bug;
}
You can tested with any of the three program below:
gcc mbind.c -o mbind -lnuma
gcc set_mempolicy.c -o set_mempolicy -lnuma
gcc migrate_pages.c -o migrate_pages -lnuma
First argument is maxnode, second argument is the bit index to set in
the mask of node (0 set the first bit, 1 the second bit, ...).
./mbind 2 1 & sleep 2 && numastat -n -p `pidof mbind` && fg
./set_mempolicy 2 1 & sleep 2 && numastat -n -p `pidof set_mempolicy` && fg
./migrate_pages 2 1 & sleep 2 && numastat -n -p `pidof migrate_pages` && fg
mbind.c %< ----------------------------------------------------------
void *anon_mem(size_t size)
{
void *ret;
ret = mmap(NULL, size, PROT_READ|
PROT_WRITE, MAP_PRIVATE|
MAP_ANON, -1, 0);
return ret == MAP_FAILED ? NULL : ret;
}
unsigned long mround(unsigned long v, unsigned long m)
{
if (m == 0) {
return v;
}
return v + m - (v % m);
}
void bitmap_set(void *_bitmap, unsigned long b)
{
uint8_t *bitmap = _bitmap;
bitmap[b >> 3] |= (1 << (b & 7));
}
int main(int argc, char *argv[])
{
unsigned long *nodemask, maxnode, node, i;
size_t bytes;
int8_t *mem;
long res;
if (argv[1] == NULL || argv[2] == NULL) {
printf("missing argument: %s maxnodes node\n", argv[0]);
return -1;
}
maxnode = atoi(argv[1]);
node = atoi(argv[2]);
bytes = mround(mround(maxnode, 8) >> 3,
sizeof(unsigned long));
nodemask = calloc(bytes, 1);
mem = anon_mem(NPAGES << 12);
if (!mem || !nodemask) {
return -1;
}
// Try to bind memory to node
bitmap_set(nodemask, node);
res = mbind(mem, NPAGES << 12, MPOL_BIND,
nodemask, maxnode, 0);
if (res) {
printf("mbind(mem, NPAGES << 12, MPOL_BIND, "
"nodemask, %d, 0) failed with %d\n",
maxnode, errno);
return -1;
}
// Write something to breakup from the zero page
for (unsigned i = 0; i < NPAGES; i++) {
mem[i << 12] = i + 1;
}
// Allow numastats to gather statistics
getchar();
return 0;
}
set_mempolicy %< ----------------------------------------------------
void *anon_mem(size_t size)
{
void *ret;
ret = mmap(NULL, size, PROT_READ|
PROT_WRITE, MAP_PRIVATE|
MAP_ANON, -1, 0);
return ret == MAP_FAILED ? NULL : ret;
}
unsigned long mround(unsigned long v, unsigned long m)
{
if (m == 0) {
return v;
}
return v + m - (v % m);
}
void bitmap_set(void *_bitmap, unsigned long b)
{
uint8_t *bitmap = _bitmap;
bitmap[b >> 3] |= (1 << (b & 7));
}
int main(int argc, char *argv[])
{
unsigned long *nodemask, maxnode, node, i;
size_t bytes;
int8_t *mem;
long res;
if (argv[1] == NULL || argv[2] == NULL) {
printf("missing argument: %s maxnodes node\n", argv[0]);
return -1;
}
maxnode = atoi(argv[1]);
node = atoi(argv[2]);
// bind memory to node 0 ...
i = 1;
res = set_mempolicy(MPOL_BIND, i, 2);
if (res) {
printf("set_mempolicy(MPOL_BIND, []=1, %d) "
"failed with %d\n", maxnode, errno);
return -1;
}
bytes = mround(mround(maxnode, 8) >> 3,
sizeof(unsigned long));
nodemask = calloc(bytes, 1);
mem = anon_mem(NPAGES << 12);
if (!mem || !nodemask) {
return -1;
}
// Try to bind memory to node
bitmap_set(nodemask, node);
res = set_mempolicy(MPOL_BIND, nodemask, maxnode);
if (res) {
printf("set_mempolicy(MPOL_BIND, nodemask, %d) "
"failed with %d\n", maxnode, errno);
return -1;
}
// Write something to breakup from the zero page
for (unsigned i = 0; i < NPAGES; i++) {
mem[i << 12] = i + 1;
}
// Allow numastats to gather statistics
getchar();
return 0;
}
migrate_pages %< ----------------------------------------------------
void *anon_mem(size_t size)
{
void *ret;
ret = mmap(NULL, size, PROT_READ|
PROT_WRITE, MAP_PRIVATE|
MAP_ANON, -1, 0);
return ret == MAP_FAILED ? NULL : ret;
}
unsigned long mround(unsigned long v, unsigned long m)
{
if (m == 0) {
return v;
}
return v + m - (v % m);
}
void bitmap_set(void *_bitmap, unsigned long b)
{
uint8_t *bitmap = _bitmap;
bitmap[b >> 3] |= (1 << (b & 7));
}
int main(int argc, char *argv[])
{
unsigned long *old_nodes, *new_nodes, maxnode, node, i;
size_t bytes;
int8_t *mem;
long res;
if (argv[1] == NULL || argv[2] == NULL) {
printf("missing argument: %s maxnodes node\n", argv[0]);
return -1;
}
maxnode = atoi(argv[1]);
node = atoi(argv[2]);
// bind memory to node 0 ...
i = 1;
res = set_mempolicy(MPOL_BIND, &i, 2);
if (res) {
printf("set_mempolicy(MPOL_BIND, []=1, %d) "
"failed with %d\n", maxnode, errno);
return -1;
}
bytes = mround(mround(maxnode, 8) >> 3,
sizeof(unsigned long));
old_nodes = calloc(bytes, 1);
new_nodes = calloc(bytes, 1);
mem = anon_mem(NPAGES << 12);
if (!mem || !new_nodes || !old_nodes) {
return -1;
}
// Write something to breakup from the zero page
for (unsigned i = 0; i < NPAGES; i++) {
mem[i << 12] = i + 1;
}
// Try to bind memory to node
bitmap_set(old_nodes, 0);
bitmap_set(new_nodes, node);
res = migrate_pages(getpid(), maxnode,
old_nodes, new_nodes);
if (res) {
printf("migrate_pages(pid, %d, old_nodes, "
"new_nodes) failed with %d\n",
maxnode, errno);
return -1;
}
// Allow numastats to gather statistics
getchar();
return 0;
}
Signed-off-by: Jérôme Glisse <jglisse(a)google.com>
To: Andrew Morton <akpm(a)linux-foundation.org>
To: linux-mm(a)kvack.org
Cc: linux-kernel(a)vger.kernel.org
Cc: stable(a)vger.kernel.org
---
mm/mempolicy.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/mm/mempolicy.c b/mm/mempolicy.c
index aec756ae5637..658e5366d266 100644
--- a/mm/mempolicy.c
+++ b/mm/mempolicy.c
@@ -1434,7 +1434,6 @@ static int get_bitmap(unsigned long *mask, const unsigned long __user *nmask,
static int get_nodes(nodemask_t *nodes, const unsigned long __user *nmask,
unsigned long maxnode)
{
- --maxnode;
nodes_clear(*nodes);
if (maxnode == 0 || !nmask)
return 0;
--
2.45.2.1089.g2a221341d9-goog
The patch titled
Subject: crash: fix x86_32 crash memory reserve dead loop bug at high
has been added to the -mm mm-nonmm-unstable branch. Its filename is
crash-fix-x86_32-crash-memory-reserve-dead-loop-bug-at-high.patch
This patch will shortly appear at
https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patche…
This patch will later appear in the mm-nonmm-unstable branch at
git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
Before you just go and hit "reply", please:
a) Consider who else should be cc'ed
b) Prefer to cc a suitable mailing list as well
c) Ideally: find the original patch on the mailing list and do a
reply-to-all to that, adding suitable additional cc's
*** Remember to use Documentation/process/submit-checklist.rst when testing your code ***
The -mm tree is included into linux-next via the mm-everything
branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
and is updated there every 2-3 working days
------------------------------------------------------
From: Jinjie Ruan <ruanjinjie(a)huawei.com>
Subject: crash: fix x86_32 crash memory reserve dead loop bug at high
Date: Thu, 18 Jul 2024 11:54:43 +0800
On x86_32 Qemu machine with 1GB memory, the cmdline "crashkernel=512M" will
also cause system stall as below:
ACPI: Reserving FACP table memory at [mem 0x3ffe18b8-0x3ffe192b]
ACPI: Reserving DSDT table memory at [mem 0x3ffe0040-0x3ffe18b7]
ACPI: Reserving FACS table memory at [mem 0x3ffe0000-0x3ffe003f]
ACPI: Reserving APIC table memory at [mem 0x3ffe192c-0x3ffe19bb]
ACPI: Reserving HPET table memory at [mem 0x3ffe19bc-0x3ffe19f3]
ACPI: Reserving WAET table memory at [mem 0x3ffe19f4-0x3ffe1a1b]
143MB HIGHMEM available.
879MB LOWMEM available.
mapped low ram: 0 - 36ffe000
low ram: 0 - 36ffe000
(stall here)
The reason is that the CRASH_ADDR_LOW_MAX is equal to CRASH_ADDR_HIGH_MAX
on x86_32, the first "low" crash kernel memory reservation for 512M fails,
then it go into the "retry" loop and never came out as below (consider
CRASH_ADDR_LOW_MAX = CRASH_ADDR_HIGH_MAX = 512M):
-> reserve_crashkernel_generic() and high is false
-> alloc at [0, 0x20000000] fail
-> alloc at [0x20000000, 0x20000000] fail and repeatedly
(because CRASH_ADDR_LOW_MAX = CRASH_ADDR_HIGH_MAX).
Fix it by skipping meaningless calls of memblock_phys_alloc_range() with
`start = end`
After this patch, the retry dead loop is avoided and print below info:
cannot allocate crashkernel (size:0x20000000)
And apply generic crashkernel reservation to 32bit system will be ready.
Link: https://lkml.kernel.org/r/20240718035444.2977105-3-ruanjinjie@huawei.com
Fixes: 9c08a2a139fe ("x86: kdump: use generic interface to simplify crashkernel reservation code")
Signed-off-by: Jinjie Ruan <ruanjinjie(a)huawei.com>
Signed-off-by: Baoquan He <bhe(a)redhat.com>
Tested-by: Jinjie Ruan <ruanjinjie(a)huawei.com>
Cc: Albert Ou <aou(a)eecs.berkeley.edu>
Cc: Andrew Davis <afd(a)ti.com>
Cc: Arnd Bergmann <arnd(a)arndb.de>
Cc: Borislav Petkov <bp(a)alien8.de>
Cc: Catalin Marinas <catalin.marinas(a)arm.com>
Cc: Chen Jiahao <chenjiahao16(a)huawei.com>
Cc: Dave Hansen <dave.hansen(a)linux.intel.com>
Cc: Dave Young <dyoung(a)redhat.com>
Cc: Eric DeVolder <eric.devolder(a)oracle.com>
Cc: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Cc: Hari Bathini <hbathini(a)linux.ibm.com>
Cc: Helge Deller <deller(a)gmx.de>
Cc: "H. Peter Anvin" <hpa(a)zytor.com>
Cc: Ingo Molnar <mingo(a)redhat.com>
Cc: Javier Martinez Canillas <javierm(a)redhat.com>
Cc: Linus Walleij <linus.walleij(a)linaro.org>
Cc: Palmer Dabbelt <palmer(a)dabbelt.com>
Cc: Paul Walmsley <paul.walmsley(a)sifive.com>
Cc: Rob Herring <robh(a)kernel.org>
Cc: Russell King <linux(a)armlinux.org.uk>
Cc: Thomas Gleixner <tglx(a)linutronix.de>
Cc: Vivek Goyal <vgoyal(a)redhat.com>
Cc: Will Deacon <will(a)kernel.org>
Cc: Zhen Lei <thunder.leizhen(a)huawei.com>
Cc: <stable(a)vger.kernel.org>
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
---
kernel/crash_reserve.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
--- a/kernel/crash_reserve.c~crash-fix-x86_32-crash-memory-reserve-dead-loop-bug-at-high
+++ a/kernel/crash_reserve.c
@@ -413,7 +413,8 @@ retry:
search_end = CRASH_ADDR_HIGH_MAX;
search_base = CRASH_ADDR_LOW_MAX;
crash_low_size = DEFAULT_CRASH_KERNEL_LOW_SIZE;
- goto retry;
+ if (search_base != search_end)
+ goto retry;
}
/*
_
Patches currently in -mm which might be from ruanjinjie(a)huawei.com are
crash-fix-x86_32-crash-memory-reserve-dead-loop-bug.patch
crash-fix-x86_32-crash-memory-reserve-dead-loop-bug-at-high.patch
arm-use-generic-interface-to-simplify-crashkernel-reservation.patch
Changes since v1:
Fixed some formatting errors to make the patchset less confusing.
A patchset from linux-5.15 should be backported to 4.19 that can
significantly improve ext4 fs read and write performance. Unixbench test
results for linux-4.19.318 on Phytium D2000 CPU are shown below.
Test cmd: (Phytium D2000 only has 8 cores)
./Run fs -c 8
Before this patch set:
File Copy 1024 bufsize 2000 maxblocks 1124181
File Copy 256 bufsize 500 maxblocks 281885
File Copy 4096 bufsize 8000 maxblocks 3383785
File Read 1024 bufsize 2000 maxblocks 8702173
File Read 256 bufsize 500 maxblocks 3869384
File Read 4096 bufsize 8000 maxblocks 13043151
File Write 1024 bufsize 2000 maxblocks 1107185
File Write 256 bufsize 500 maxblocks 270493
File Write 4096 bufsize 8000 maxblocks 4018084
After this patch set:
File Copy 1024 bufsize 2000 maxblocks 2026206
File Copy 256 bufsize 500 maxblocks 829534
File Copy 4096 bufsize 8000 maxblocks 4066659
File Read 1024 bufsize 2000 maxblocks 8877219
File Read 256 bufsize 500 maxblocks 3997445
File Read 4096 bufsize 8000 maxblocks 13179885
File Write 1024 bufsize 2000 maxblocks 4256929
File Write 256 bufsize 500 maxblocks 1305320
File Write 4096 bufsize 8000 maxblocks 10721052
We can observe a quantum leap in the test results as a consequence of
applying this patchset
Link: https://lore.kernel.org/all/20210716122024.1105856-1-yi.zhang@huawei.com/
Original description:
This patchset address to improve buffer write performance with delalloc.
The first patch reduce the unnecessary update i_disksize, the second two
patch refactor the inline data write procedure and also do some small
fix, the last patch do improve by remove all unnecessary journal handle
in the delalloc write procedure.
After this patch set, we could get a lot of performance improvement.
Below is the Unixbench comparison data test on my machine with 'Intel
Xeon Gold 5120' CPU and nvme SSD backend.
Test cmd:
./Run -c 56 -i 3 fstime fsbuffer fsdisk
Before this patch set:
System Benchmarks Partial Index BASELINE RESULT INDEX
File Copy 1024 bufsize 2000 maxblocks 3960.0 422965.0 1068.1
File Copy 256 bufsize 500 maxblocks 1655.0 105077.0 634.9
File Copy 4096 bufsize 8000 maxblocks 5800.0 1429092.0 2464.0
========
System Benchmarks Index Score (Partial Only) 1186.6
After this patch set:
System Benchmarks Partial Index BASELINE RESULT INDEX
File Copy 1024 bufsize 2000 maxblocks 3960.0 732716.0 1850.3
File Copy 256 bufsize 500 maxblocks 1655.0 184940.0 1117.5
File Copy 4096 bufsize 8000 maxblocks 5800.0 2427152.0 4184.7
========
System Benchmarks Index Score (Partial Only) 2053.0
Zhang Yi (4):
ext4: check and update i_disksize properly
ext4: correct the error path of ext4_write_inline_data_end()
ext4: factor out write end code of inline file
ext4: drop unnecessary journal handle in delalloc write
fs/ext4/ext4.h | 3 -
fs/ext4/inline.c | 120 ++++++++++++++++++-------------------
fs/ext4/inode.c | 150 ++++++++++++-----------------------------------
3 files changed, 99 insertions(+), 174 deletions(-)
--
2.31.1