From patchwork Mon May 25 22:07:39 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Simmons X-Patchwork-Id: 11569523 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 1E09990 for ; Mon, 25 May 2020 22:08:48 +0000 (UTC) Received: from pdx1-mailman02.dreamhost.com (pdx1-mailman02.dreamhost.com [64.90.62.194]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 070362071A for ; Mon, 25 May 2020 22:08:48 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 070362071A Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=infradead.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lustre-devel-bounces@lists.lustre.org Received: from pdx1-mailman02.dreamhost.com (localhost [IPv6:::1]) by pdx1-mailman02.dreamhost.com (Postfix) with ESMTP id 91CD521F88F; Mon, 25 May 2020 15:08:41 -0700 (PDT) X-Original-To: lustre-devel@lists.lustre.org Delivered-To: lustre-devel-lustre.org@pdx1-mailman02.dreamhost.com Received: from smtp4.ccs.ornl.gov (smtp4.ccs.ornl.gov [160.91.203.40]) by pdx1-mailman02.dreamhost.com (Postfix) with ESMTP id 07F2021F6A1 for ; Mon, 25 May 2020 15:08:31 -0700 (PDT) Received: from star.ccs.ornl.gov (star.ccs.ornl.gov [160.91.202.134]) by smtp4.ccs.ornl.gov (Postfix) with ESMTP id 021421005672; Mon, 25 May 2020 18:08:26 -0400 (EDT) Received: by star.ccs.ornl.gov (Postfix, from userid 2004) id E8F8A1FD; Mon, 25 May 2020 18:08:26 -0400 (EDT) From: James Simmons To: Andreas Dilger , Oleg Drokin , NeilBrown Date: Mon, 25 May 2020 18:07:39 -0400 Message-Id: <1590444502-20533-3-git-send-email-jsimmons@infradead.org> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1590444502-20533-1-git-send-email-jsimmons@infradead.org> References: <1590444502-20533-1-git-send-email-jsimmons@infradead.org> Subject: [lustre-devel] [PATCH 02/45] lustre: fld: convert cache_flush file to LPROC_SEQ_FOPS X-BeenThere: lustre-devel@lists.lustre.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "For discussing Lustre software development." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Lustre Development List MIME-Version: 1.0 Errors-To: lustre-devel-bounces@lists.lustre.org Sender: "lustre-devel" From: NeilBrown Commit 827650494fbe ("staging/lustre/fld: move all files from procfs to debugfs") converted files to debugfs, but missed the opportunity to provide a simpler implementation for cache_flush. When that patch was taken to OpenSFS lustre in Commit 6d2b66d22c25 ("LU-8066 fld: move all files from procfs to debugfs"), that opportunity was taken. So we now copy that improvement back to Linux. Reviewed-by: James Simmons Signed-off-by: NeilBrown --- fs/lustre/fld/lproc_fld.c | 31 +++++++++++-------------------- fs/lustre/include/lustre_lmv.h | 4 ++-- fs/lustre/llite/dcache.c | 3 +-- fs/lustre/llite/llite_internal.h | 4 ++-- fs/lustre/llite/lproc_llite.c | 4 ++-- fs/lustre/llite/namei.c | 2 +- 6 files changed, 19 insertions(+), 29 deletions(-) diff --git a/fs/lustre/fld/lproc_fld.c b/fs/lustre/fld/lproc_fld.c index bef359f..e8c8bc7 100644 --- a/fs/lustre/fld/lproc_fld.c +++ b/fs/lustre/fld/lproc_fld.c @@ -117,10 +117,11 @@ } static ssize_t -fld_debugfs_cache_flush_write(struct file *file, const char __user *buffer, - size_t count, loff_t *pos) +lprocfs_wr_cache_flush(struct file *file, const char __user *buffer, + size_t count, loff_t *pos) { - struct lu_client_fld *fld = file->private_data; + struct seq_file *m = file->private_data; + struct lu_client_fld *fld = m->private; fld_cache_flush(fld->lcf_cache); @@ -129,26 +130,16 @@ return count; } -static int -fld_debugfs_cache_flush_release(struct inode *inode, struct file *file) -{ - file->private_data = NULL; - return 0; -} - -static const struct file_operations fld_debugfs_cache_flush_fops = { - .owner = THIS_MODULE, - .open = simple_open, - .write = fld_debugfs_cache_flush_write, - .release = fld_debugfs_cache_flush_release, -}; - LPROC_SEQ_FOPS_RO(fld_debugfs_targets); LPROC_SEQ_FOPS(fld_debugfs_hash); +LPROC_SEQ_FOPS_WR_ONLY(fld, cache_flush); struct lprocfs_vars fld_client_debugfs_list[] = { - { "targets", &fld_debugfs_targets_fops }, - { "hash", &fld_debugfs_hash_fops }, - { "cache_flush", &fld_debugfs_cache_flush_fops }, + { .name = "targets", + .fops = &fld_debugfs_targets_fops }, + { .name = "hash", + .fops = &fld_debugfs_hash_fops }, + { .name = "cache_flush", + .fops = &fld_cache_flush_fops }, { NULL } }; diff --git a/fs/lustre/include/lustre_lmv.h b/fs/lustre/include/lustre_lmv.h index 8780480..645eee3 100644 --- a/fs/lustre/include/lustre_lmv.h +++ b/fs/lustre/include/lustre_lmv.h @@ -299,8 +299,8 @@ static inline u32 crush_hash(u32 a, u32 b) if (stripe_count > 1) { switch (hash_type & LMV_HASH_TYPE_MASK) { case LMV_HASH_TYPE_ALL_CHARS: - stripe_index = lmv_hash_all_chars(stripe_count, name, - namelen); + stripe_index = lmv_hash_all_chars(stripe_count, name, + namelen); break; case LMV_HASH_TYPE_FNV_1A_64: stripe_index = lmv_hash_fnv1a(stripe_count, name, diff --git a/fs/lustre/llite/dcache.c b/fs/lustre/llite/dcache.c index 395c454a..5fab108 100644 --- a/fs/lustre/llite/dcache.c +++ b/fs/lustre/llite/dcache.c @@ -58,7 +58,6 @@ static void ll_release(struct dentry *de) LASSERT(de); lld = ll_d2d(de); - call_rcu(&lld->lld_rcu_head, free_dentry_data); } @@ -118,7 +117,7 @@ void ll_intent_drop_lock(struct lookup_intent *it) handle.cookie = it->it_remote_lock_handle; CDEBUG(D_DLMTRACE, - "releasing remote lock with cookie%#llx from it %p\n", + "releasing remote lock with cookie %#llx from it %p\n", handle.cookie, it); ldlm_lock_decref(&handle, it->it_remote_lock_mode); diff --git a/fs/lustre/llite/llite_internal.h b/fs/lustre/llite/llite_internal.h index 724b795..671bceb 100644 --- a/fs/lustre/llite/llite_internal.h +++ b/fs/lustre/llite/llite_internal.h @@ -414,10 +414,10 @@ static inline struct pcc_inode *ll_i2pcci(struct inode *inode) /* default to use at least 16M for fast read if possible */ #define RA_REMAIN_WINDOW_MIN MiB_TO_PAGES(16UL) -/* default to about 64M of readahead on a given system. */ +/* default readahead on a given system. */ #define SBI_DEFAULT_READ_AHEAD_MAX MiB_TO_PAGES(64UL) -/* default to read-ahead full files smaller than 2MB on the second read */ +/* default read-ahead full files smaller than 2MB on the second read */ #define SBI_DEFAULT_READ_AHEAD_WHOLE_MAX MiB_TO_PAGES(2UL) enum ra_stat { diff --git a/fs/lustre/llite/lproc_llite.c b/fs/lustre/llite/lproc_llite.c index 0ef418a..a38b25e 100644 --- a/fs/lustre/llite/lproc_llite.c +++ b/fs/lustre/llite/lproc_llite.c @@ -354,7 +354,7 @@ static ssize_t max_read_ahead_mb_store(struct kobject *kobj, pages_number = round_up(ra_max_mb, 1024 * 1024) >> PAGE_SHIFT; if (pages_number > totalram_pages() / 2) { /* 1/2 of RAM */ - CERROR("%s: cannot set max_readahead_mb=%llu > %luMB\n", + CERROR("%s: cannot set max_read_ahead_mb=%llu > totalram/2=%luMB\n", sbi->ll_fsname, PAGES_TO_MiB(pages_number), PAGES_TO_MiB(totalram_pages() / 2)); return -ERANGE; @@ -399,7 +399,7 @@ static ssize_t max_read_ahead_per_file_mb_store(struct kobject *kobj, pages_number = round_up(ra_max_file_mb, 1024 * 1024) >> PAGE_SHIFT; if (pages_number > sbi->ll_ra_info.ra_max_pages) { - CERROR("%s: cannot set max_readahead_per_file_mb=%llu > max_read_ahead_mb=%lu\n", + CERROR("%s: cannot set max_read_ahead_per_file_mb=%llu > max_read_ahead_mb=%lu\n", sbi->ll_fsname, PAGES_TO_MiB(pages_number), PAGES_TO_MiB(sbi->ll_ra_info.ra_max_pages)); return -ERANGE; diff --git a/fs/lustre/llite/namei.c b/fs/lustre/llite/namei.c index 97fbbee..2ca6bd2 100644 --- a/fs/lustre/llite/namei.c +++ b/fs/lustre/llite/namei.c @@ -978,7 +978,7 @@ static int ll_atomic_open(struct inode *dir, struct dentry *dentry, int rc = 0; CDEBUG(D_VFSTRACE, - "VFS Op:name=%pd, dir=" DFID "(%p),file %p,open_flags %x,mode %x\n", + "VFS Op:name=%pd, dir=" DFID "(%p), file %p, open_flags %x, mode %x\n", dentry, PFID(ll_inode2fid(dir)), dir, file, open_flags, mode); /* Only negative dentries enter here */