All of lore.kernel.org
 help / color / mirror / Atom feed
From: NeilBrown <neilb@suse.com>
To: lustre-devel@lists.lustre.org
Subject: [lustre-devel] [PATCH RFC 00/28] lustre: PFL port to linux client
Date: Tue, 18 Dec 2018 17:21:35 +1100	[thread overview]
Message-ID: <87mup39wy8.fsf@notabene.neil.brown.name> (raw)
In-Reply-To: <1545064202-22483-1-git-send-email-jsimmons@infradead.org>

On Mon, Dec 17 2018, James Simmons wrote:

> This is the initial PFL port to the linux lustre client. This opens
> up feed back on the port so far. Currently sanity passes but the
> test for sanity-pfl fail as below. I have been tracking downing
> various bugs but this one remains and I haven't found out why its
> failing. So far from what I can tell is lov_io_setattr_iter_init()
> it returning -ENODATA due to lsm_entry_inited() is not initialized.

Having that invariant in cl_io_iter_fini() seems strange.
It is guaranteed to fir eif cl_io_iter_init() fails - if that is not
permitted, I would expect an invariant a lot closer to the failure.

What happens if you just remove the LINVRNT() ??

NeilBrown

> Hoping that sending this out more eyes might help to see where this
> last problem is.
>
> Lustre: DEBUG MARKER: == sanity-pfl test 0: Create full components file, no reused OSTs =======
> ============================= 10:53:08 (1545061988)
> Lustre: DEBUG MARKER: create directory /lustre/lustre/d0.sanity-pfl
> Lustre: DEBUG MARKER: create comp_file
> Lustre: DEBUG MARKER: instantiate components
> LustreError: 19350:0:(cl_io.c:439:cl_io_iter_fini()) ASSERTION( io->ci_state == CIS_UNLOCKED )
> failed:
> LustreError: 19350:0:(cl_io.c:439:cl_io_iter_fini()) LBUG
> Pid: 19350, comm: dd 4.20.0-rc6+ #1 SMP PREEMPT Sat Dec 15 11:22:06 EST 2018
> Call Trace:
>   libcfs_call_trace+0x8b/0xc0 [libcfs]
>   lbug_with_loc+0x41/0x90 [libcfs]
>   cl_io_iter_fini+0x10c/0x110 [obdclass]
>   cl_io_loop+0x46/0x220 [obdclass]
>   cl_setattr_ost+0x1ed/0x2a0 [lustre]
>   ll_setattr_raw+0x797/0x980 [lustre]
>   notify_change+0x1dc/0x430
>   do_truncate+0x72/0xc0
>   do_sys_ftruncate+0xf5/0x160
>   do_syscall_64+0x68/0x38f
>
> Bobi Jam (20):
>   lustre: lov: move code for PFL work
>   lustre: lov: merge lov_mds_md_v3 and lov_mds_md_v1 handling
>   lustre: lov: fold lmm_verify() handling into lmm_unpackmd()
>   lustre: lov: create struct lov_stripe_md_entry
>   lustre: lov: add composite layout unpacking
>   lustre: lov: embedded raid0 in struct lov_layout_composite
>   lustre: lov: migrate lov raid0 to future PFL component handling
>   lustre: lov: reduce code indentation
>   lustre: lov: change lo_entries to array.
>   lustre: lov: move around PFL code and cleanups
>   lustre: lov: remove lsm_stripe_by_[index|offset]_plain
>   lustre: lov: add looping lsm_entry_count times
>   lustre: lov: create lov_comp_* wrappers
>   lustre: clio: client side implementation for PFL
>   lustre: pfl: dynamic layout modification with write/truncate
>   lustre: pfl: calculate PFL file LOVEA correctly
>   lustre: lov: keep minimum LOVEA size
>   lustre: pfl: fix hang with grouplocks
>   lustre: pfl: fix ost pool op->size handling
>   lustre: llite: restore ll_file_getstripe in ll_lov_setstripe
>
> Fan Yong (1):
>   lustre: pfl: enhance PFID EA for PFL
>
> Jinshan Xiong (3):
>   lustre: pfl: Read should not trigger layout write intent
>   lustre: lov: readahead shouldn't exceed component boundary
>   lustre: lov: do not split IO for single striped file
>
> Niu Yawei (4):
>   lustre: pfl: Basic data structures for composite layout
>   lustre: clio: getstripe support comp layout
>   lustre: uapi: support negative flags
>   lustre: llite: return v1/v3 layout for legacy app
>
>  .../lustre/include/uapi/linux/lustre/lustre_idl.h  |  36 +-
>  .../lustre/include/uapi/linux/lustre/lustre_user.h |  88 ++-
>  drivers/staging/lustre/lustre/include/cl_object.h  |  12 +-
>  drivers/staging/lustre/lustre/include/lustre_sec.h |   4 +-
>  .../staging/lustre/lustre/include/lustre_swab.h    |   1 +
>  drivers/staging/lustre/lustre/include/obd.h        |   4 -
>  drivers/staging/lustre/lustre/llite/dir.c          |  38 +-
>  drivers/staging/lustre/lustre/llite/file.c         | 185 +++--
>  .../staging/lustre/lustre/llite/llite_internal.h   |   3 +
>  drivers/staging/lustre/lustre/llite/vvp_io.c       |  44 +-
>  drivers/staging/lustre/lustre/llite/xattr.c        |  70 +-
>  .../staging/lustre/lustre/lov/lov_cl_internal.h    | 191 ++---
>  drivers/staging/lustre/lustre/lov/lov_ea.c         | 570 ++++++++++----
>  drivers/staging/lustre/lustre/lov/lov_internal.h   | 175 +++--
>  drivers/staging/lustre/lustre/lov/lov_io.c         | 651 +++++++++-------
>  drivers/staging/lustre/lustre/lov/lov_lock.c       |  94 ++-
>  drivers/staging/lustre/lustre/lov/lov_merge.c      |  12 +-
>  drivers/staging/lustre/lustre/lov/lov_object.c     | 833 ++++++++++++---------
>  drivers/staging/lustre/lustre/lov/lov_offset.c     |  65 +-
>  drivers/staging/lustre/lustre/lov/lov_pack.c       | 364 +++++----
>  drivers/staging/lustre/lustre/lov/lov_page.c       |  42 +-
>  drivers/staging/lustre/lustre/lov/lov_pool.c       |  20 +-
>  drivers/staging/lustre/lustre/lov/lovsub_object.c  |  23 +-
>  drivers/staging/lustre/lustre/mdc/mdc_locks.c      |  79 +-
>  drivers/staging/lustre/lustre/obdclass/cl_object.c |   5 +-
>  drivers/staging/lustre/lustre/obdclass/genops.c    |  16 +-
>  drivers/staging/lustre/lustre/osc/osc_io.c         |   4 +-
>  drivers/staging/lustre/lustre/ptlrpc/layout.c      |   6 +-
>  .../staging/lustre/lustre/ptlrpc/pack_generic.c    |  84 ++-
>  .../staging/lustre/lustre/ptlrpc/ptlrpc_internal.h |   7 +-
>  drivers/staging/lustre/lustre/ptlrpc/sec.c         |   5 +-
>  drivers/staging/lustre/lustre/ptlrpc/wiretest.c    | 125 +++-
>  32 files changed, 2483 insertions(+), 1373 deletions(-)
>
> -- 
> 1.8.3.1
-------------- 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/20181218/04e0a916/attachment.sig>

  parent reply	other threads:[~2018-12-18  6:21 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-17 16:29 [lustre-devel] [PATCH RFC 00/28] lustre: PFL port to linux client James Simmons
2018-12-17 16:29 ` [lustre-devel] [PATCH 01/28] lustre: pfl: Basic data structures for composite layout James Simmons
2018-12-17 23:54   ` NeilBrown
2018-12-18  1:47     ` Patrick Farrell
2018-12-27  1:57     ` James Simmons
2018-12-17 16:29 ` [lustre-devel] [PATCH 02/28] lustre: lov: move code for PFL work James Simmons
2018-12-18  0:00   ` NeilBrown
2018-12-27  1:59     ` James Simmons
2018-12-17 16:29 ` [lustre-devel] [PATCH 03/28] lustre: lov: merge lov_mds_md_v3 and lov_mds_md_v1 handling James Simmons
2018-12-18  0:09   ` NeilBrown
2018-12-18  1:49     ` Patrick Farrell
2018-12-27  2:10       ` James Simmons
2018-12-27  2:04     ` James Simmons
2018-12-17 16:29 ` [lustre-devel] [PATCH 04/28] lustre: lov: fold lmm_verify() handling into lmm_unpackmd() James Simmons
2018-12-17 16:29 ` [lustre-devel] [PATCH 05/28] lustre: lov: create struct lov_stripe_md_entry James Simmons
2018-12-17 16:29 ` [lustre-devel] [PATCH 06/28] lustre: lov: add composite layout unpacking James Simmons
2018-12-17 16:29 ` [lustre-devel] [PATCH 07/28] lustre: lov: embedded raid0 in struct lov_layout_composite James Simmons
2018-12-17 16:29 ` [lustre-devel] [PATCH 08/28] lustre: lov: migrate lov raid0 to future PFL component handling James Simmons
2018-12-17 16:29 ` [lustre-devel] [PATCH 09/28] lustre: lov: reduce code indentation James Simmons
2018-12-17 16:29 ` [lustre-devel] [PATCH 10/28] lustre: lov: change lo_entries to array James Simmons
2018-12-17 16:29 ` [lustre-devel] [PATCH 11/28] lustre: lov: move around PFL code and cleanups James Simmons
2018-12-17 16:29 ` [lustre-devel] [PATCH 12/28] lustre: lov: remove lsm_stripe_by_[index|offset]_plain James Simmons
2018-12-17 16:29 ` [lustre-devel] [PATCH 13/28] lustre: lov: add looping lsm_entry_count times James Simmons
2018-12-17 16:29 ` [lustre-devel] [PATCH 14/28] lustre: lov: create lov_comp_* wrappers James Simmons
2018-12-17 16:29 ` [lustre-devel] [PATCH 15/28] lustre: clio: client side implementation for PFL James Simmons
2018-12-17 16:29 ` [lustre-devel] [PATCH 16/28] lustre: clio: getstripe support comp layout James Simmons
2018-12-17 16:29 ` [lustre-devel] [PATCH 17/28] lustre: pfl: enhance PFID EA for PFL James Simmons
2018-12-17 16:29 ` [lustre-devel] [PATCH 18/28] lustre: pfl: dynamic layout modification with write/truncate James Simmons
2018-12-17 16:29 ` [lustre-devel] [PATCH 19/28] lustre: pfl: calculate PFL file LOVEA correctly James Simmons
2018-12-17 16:29 ` [lustre-devel] [PATCH 20/28] lustre: lov: keep minimum LOVEA size James Simmons
2018-12-17 16:29 ` [lustre-devel] [PATCH 21/28] lustre: pfl: Read should not trigger layout write intent James Simmons
2018-12-17 16:29 ` [lustre-devel] [PATCH 22/28] lustre: pfl: fix hang with grouplocks James Simmons
2018-12-17 16:29 ` [lustre-devel] [PATCH 23/28] lustre: pfl: fix ost pool op->size handling James Simmons
2018-12-17 16:29 ` [lustre-devel] [PATCH 24/28] lustre: lov: readahead shouldn't exceed component boundary James Simmons
2018-12-17 16:29 ` [lustre-devel] [PATCH 25/28] lustre: uapi: support negative flags James Simmons
2018-12-17 16:30 ` [lustre-devel] [PATCH 26/28] lustre: llite: return v1/v3 layout for legacy app James Simmons
2018-12-17 16:30 ` [lustre-devel] [PATCH 27/28] lustre: llite: restore ll_file_getstripe in ll_lov_setstripe James Simmons
2018-12-17 16:30 ` [lustre-devel] [PATCH 28/28] lustre: lov: do not split IO for single striped file James Simmons
2018-12-18  6:21 ` NeilBrown [this message]
2018-12-20  1:39   ` [lustre-devel] [PATCH RFC 00/28] lustre: PFL port to linux client NeilBrown
2018-12-27  1:53     ` James Simmons

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=87mup39wy8.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.