From: NeilBrown <neilb@suse.com>
To: lustre-devel@lists.lustre.org
Subject: [lustre-devel] [PATCH 09/24] lustre: don't use spare bits in iattr.ia_valid
Date: Thu, 21 Jun 2018 14:19:43 +1000 [thread overview]
Message-ID: <87fu1gdb4w.fsf@notabene.neil.brown.name> (raw)
In-Reply-To: <alpine.LFD.2.21.1806210233170.3886@casper.infradead.org>
On Thu, Jun 21 2018, James Simmons wrote:
>> Using spare bits in iattr.ia_valid is not safe as the
>> bits might get used for some other purpose without
>> us noticing.
>> lustre currently used 4 spare bit, but they are all
>> defined in different places so this isn't immediately
>> obvious.
>>
>> This patch brings all those bit definitions together
>> and defined a new op_data field (op_xvalid) to hold
>> the extra validity bits.
>>
>> It also replaces sa_valid in struct cl_setattr_io
>> with sa_avalid and sa_xvalid. Changing the name is
>> helpful as sa_valid already has another use within
>> lustre.
>>
>> Signed-off-by: NeilBrown <neilb@suse.com>
>
> Nak: I see regressions with this patch.
>
> [12368.453655] Lustre: DEBUG MARKER: == sanity test 240: race between ldlm
> enqueue and the connection RPC (no ASSERT) ===================== 21:
> 16:30 (1529543790)
> [12368.760832] BUG: Dentry
> 000000002646a847{i=200004282000008,n=f237.sanity} still in use (1)
> [unmount of lustre lustre]
> [12368.773746] WARNING: CPU: 1 PID: 10861 at fs/dcache.c:1514
...
> [12369.385564] Lustre: Unmounted lustre-client
> [12369.393247] VFS: Busy inodes after unmount of lustre. Self-destruct in
> 5 seconds. Have a nice day...
>
> When I remove this patch things go back to normal. This will not show up
> if you do a ONLY="240" sh ./sanity.sh. You have to run the sanity.sh in
> total to make this show up.
>
(clearly I read my email in the wrong order)
Very odd. This suggests some sort of life-time-management problem
with inodes, but the changes shouldn't affect that at all.
I've gone back over the patch closely and cannot see anything wrong - it
is really very simple: it just moves flag bits around.
I haven't got as far as 240 yet as changes to kvmalloc have caused
earlier problem (my VMs don't have much RAM). I'll see if I can
coax it all the way to 240 and see what happens.
Thanks for the report.
NeilBrown
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 832 bytes
Desc: not available
URL: <http://lists.lustre.org/pipermail/lustre-devel-lustre.org/attachments/20180621/0a7c0f77/attachment.sig>
next prev parent reply other threads:[~2018-06-21 4:19 UTC|newest]
Thread overview: 82+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-15 7:11 [lustre-devel] [PATCH 00/24] lustre - more cleanups including module reduction NeilBrown
2018-06-15 7:11 ` [lustre-devel] [PATCH 08/24] lustre: use truncate_inode_page in place of truncate_complete_page NeilBrown
2018-06-16 0:17 ` James Simmons
2018-06-16 0:52 ` NeilBrown
2018-06-16 0:59 ` Oleg Drokin
2018-06-18 2:03 ` NeilBrown
2018-06-25 0:02 ` [lustre-devel] [PATCH 1/3] lustre: use generic_error_remove_page() NeilBrown
2018-06-25 0:02 ` [lustre-devel] [PATCH 2/3] lustre: use delete_from_page_cache() for directory pages NeilBrown
2018-06-25 0:03 ` [lustre-devel] [PATCH 3/3] lustre: discard truncate_complete_page() NeilBrown
2018-06-26 0:19 ` James Simmons
2018-06-25 0:38 ` [lustre-devel] [PATCH 2/3] lustre: use delete_from_page_cache() for directory pages Oleg Drokin
2018-06-26 0:18 ` James Simmons
2018-06-25 0:38 ` [lustre-devel] [PATCH 1/3] lustre: use generic_error_remove_page() Oleg Drokin
2018-06-25 1:57 ` NeilBrown
2018-06-26 0:26 ` James Simmons
2018-06-26 0:14 ` James Simmons
2018-06-15 7:11 ` [lustre-devel] [PATCH 13/24] lustre: discard NO_QUOTA and QUOTA_OK NeilBrown
2018-06-15 7:11 ` [lustre-devel] [PATCH 23/24] lustre: renamed CFS_TCD_TYPE_MAX to CFS_TCD_TYPE_CNT NeilBrown
2018-06-15 7:11 ` [lustre-devel] [PATCH 21/24] lustre: move remainder of linux-tracefile.c to tracefile.c NeilBrown
2018-06-21 1:37 ` James Simmons
2018-06-22 3:19 ` NeilBrown
2018-06-24 20:29 ` James Simmons
2018-06-24 23:25 ` NeilBrown
2018-06-25 21:52 ` James Simmons
2018-06-15 7:11 ` [lustre-devel] [PATCH 14/24] lustre: discard ext2* bit operations NeilBrown
2018-06-15 7:11 ` [lustre-devel] [PATCH 16/24] lustre: remove redefinition of module_init() NeilBrown
2018-06-15 7:11 ` [lustre-devel] [PATCH 04/24] kbuild: disable KBUILD_MODNAME when building for mod.a NeilBrown
2018-06-15 7:11 ` [lustre-devel] [PATCH 24/24] lustre: discard TCD_MAX_TYPES NeilBrown
2018-06-21 1:38 ` James Simmons
2018-06-21 4:28 ` NeilBrown
2018-06-24 20:37 ` James Simmons
2018-06-24 23:26 ` NeilBrown
2018-06-15 7:11 ` [lustre-devel] [PATCH 22/24] lustre: fold cfs_tracefile_*_arch into their only callers NeilBrown
2018-06-15 7:11 ` [lustre-devel] [PATCH 17/24] lustre: remove lustre_compat.h NeilBrown
2018-06-15 7:11 ` [lustre-devel] [PATCH 10/24] lustre: remove lustre_patchless_compat.h NeilBrown
2018-06-15 7:11 ` [lustre-devel] [PATCH 06/24] lustre: build ldlm in the ldlm directory NeilBrown
2018-06-15 7:11 ` [lustre-devel] [PATCH 07/24] lustre: merge libcfs module into lnet NeilBrown
2018-06-15 7:11 ` [lustre-devel] [PATCH 15/24] lustre: centralize TIMES_SET_FLAGS NeilBrown
2018-06-15 7:11 ` [lustre-devel] [PATCH 19/24] lustre: open code cfs_trace_max_debug_mb() into cfs_trace_set_debug_mb() NeilBrown
2018-06-15 7:11 ` [lustre-devel] [PATCH 02/24] kbuild: treat a directory listed in a composite object as foo/mod.a NeilBrown
2018-06-15 7:11 ` [lustre-devel] [PATCH 01/24] kbuild: detect directories in components of a module NeilBrown
2018-06-15 7:11 ` [lustre-devel] [PATCH 18/24] lustre/lnet: move tracefile locking from linux-tracefile.c to tracefile.c NeilBrown
2018-06-15 7:11 ` [lustre-devel] [PATCH 11/24] lustre: discard current_n*groups macros NeilBrown
2018-06-15 7:11 ` [lustre-devel] [PATCH 20/24] lustre: move tcd locking across to tracefile.c NeilBrown
2018-06-15 7:11 ` [lustre-devel] [PATCH 09/24] lustre: don't use spare bits in iattr.ia_valid NeilBrown
2018-06-21 1:35 ` James Simmons
2018-06-21 4:19 ` NeilBrown [this message]
2018-06-22 2:23 ` NeilBrown
2018-06-24 20:33 ` James Simmons
2018-06-24 23:50 ` NeilBrown
2018-06-15 7:11 ` [lustre-devel] [PATCH 12/24] lustre: discard LTIME_S macro NeilBrown
2018-06-15 7:11 ` [lustre-devel] [PATCH 05/24] kbuild: Add documentation for modobj-m NeilBrown
2018-06-15 7:11 ` [lustre-devel] [PATCH 03/24] kbuild: support building of per-directory mod.a NeilBrown
2018-06-21 1:48 ` [lustre-devel] [PATCH 00/24] lustre - more cleanups including module reduction James Simmons
2018-06-21 2:29 ` Patrick Farrell
2018-06-21 2:57 ` James Simmons
2018-06-21 7:22 ` Andreas Dilger
2018-06-21 12:28 ` Patrick Farrell
2018-06-24 20:35 ` James Simmons
2018-06-24 23:40 ` NeilBrown
2018-06-26 1:13 ` James Simmons
2018-06-26 13:51 ` Patrick Farrell
2018-06-27 3:08 ` NeilBrown
2018-06-27 4:00 ` Cory Spitz
2018-06-28 1:26 ` NeilBrown
2018-06-27 11:01 ` Andreas Dilger
2018-06-27 12:06 ` Patrick Farrell
2018-06-28 1:59 ` NeilBrown
2018-06-28 2:35 ` Patrick Farrell
2018-06-28 23:12 ` Andreas Dilger
2018-07-05 23:47 ` James Simmons
2018-07-06 0:01 ` Doug Oucharek
2018-06-28 15:03 ` Cory Spitz
2018-06-28 17:03 ` Doug Oucharek
2018-07-04 17:54 ` Alexey Lyashkov
2018-06-28 1:39 ` NeilBrown
2018-06-21 3:00 ` NeilBrown
2018-06-21 3:42 ` Patrick Farrell
2018-06-24 20:39 ` James Simmons
2018-06-21 2:54 ` NeilBrown
2018-06-24 20:46 ` James Simmons
2018-06-24 23:58 ` NeilBrown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87fu1gdb4w.fsf@notabene.neil.brown.name \
--to=neilb@suse.com \
--cc=lustre-devel@lists.lustre.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox