All of lore.kernel.org
 help / color / mirror / Atom feed
From: NeilBrown <neilb@suse.com>
To: Oleg Drokin <oleg.drokin@intel.com>
Cc: devel@driverdev.osuosl.org,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	wang di <di.wang@intel.com>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Lustre Development List <lustre-devel@lists.lustre.org>
Subject: Re: [lustre-devel] [PATCH 41/80] staging: lustre: lmv: separate master object with master stripe
Date: Mon, 12 Feb 2018 10:44:23 +1100	[thread overview]
Message-ID: <87h8qnrt0o.fsf@notabene.neil.brown.name> (raw)
In-Reply-To: <FC7E817D-BA15-4D0A-9976-F1343F9B022A@intel.com>


[-- Attachment #1.1: Type: text/plain, Size: 10620 bytes --]

On Thu, Feb 08 2018, Oleg Drokin wrote:

>> On Feb 8, 2018, at 10:10 PM, NeilBrown <neilb@suse.com> wrote:
>> 
>> On Thu, Feb 08 2018, Oleg Drokin wrote:
>> 
>>>> On Feb 8, 2018, at 8:39 PM, NeilBrown <neilb@suse.com> wrote:
>>>> 
>>>> On Tue, Aug 16 2016, James Simmons wrote:
>>> 
>>> my that’s an old patch
>>> 
>>>> 
>> ...
>>>> 
>>>> Whoever converted it to "!strcmp()" inverted the condition.  This is a
>>>> perfect example of why I absolutely *loathe* the "!strcmp()" construct!!
>>>> 
>>>> This causes many tests in the 'sanity' test suite to return
>>>> -ENOMEM (that had me puzzled for a while!!).
>>> 
>>> huh? I am not seeing anything of the sort and I was running sanity
>>> all the time until a recent pause (but going to resume).
>> 
>> That does surprised me - I reproduce it every time.
>> I have two VMs running a SLE12-SP2 kernel with patches from
>> lustre-release applied.  These are servers. They have 2 3G virtual disks
>> each.
>> I have two over VMs running current mainline.  These are clients.
>> 
>> I guess your 'recent pause' included between v4.15-rc1 (8e55b6fd0660)
>> and v4.15-rc6 (a93639090a27) - a full month when lustre wouldn't work at
>> all :-(
>
> More than that, but I am pretty sure James Simmons is running tests all the time too
> (he has a different config, I only have tcp).
>
>>>> This seems to suggest that no-one has been testing the mainline linux
>>>> lustre.
>>>> It also seems to suggest that there is a good chance that there
>>>> are other bugs that have crept in while no-one has really been caring.
>>>> Given that the sanity test suite doesn't complete for me, but just
>>>> hangs (in test_27z I think), that seems particularly likely.
>>> 
>>> Works for me, here’s a run from earlier today on 4.15.0:
>> 
>> Well that's encouraging .. I haven't looked into this one yet - I'm not
>> even sure where to start.
>
> m… debug logs for example (greatly neutered in staging tree, but still useful)?
> try lctl dk and see what’s in there.

Debug logs seem to tell me that some message is being sent to a server
and a reply is being received, but that request we are waiting on
doesn't make progress.  I plan to dig in and learn more about how lustre
rpc works so I have a better changes of interpreted those debug logs.


>
>>> Instead the plan was to clean up the staging client into acceptable state,
>>> move it out of staging, bring in all the missing features and then
>>> drop the client (more or less) from the lustre-release.
>> 
>> That sounds like a great plan.  Any idea why it didn't happen?
>
> Because meeting open-ended demands is hard and certain demands sound like
> “throw away your X and rewrite it from scratch" (e.g. everything IB-related).

My narrow perspective on IB - from when rdma support was added to the
NFS server - is that it is broken by design and impossible to do
"right".  So different people could easily have different ideas on how
to make the best of a bad lot.
I might try to have a look.

>
> Certain things that sound useless (like the debug subsystem in Lustre)
> is very useful when you have a 10k nodes in a cluster and need to selectively
> pull stuff from a run to debug a complicated cross-node interaction.
> I asked NFS people how do they do it and they don’t have anything that scales
> and usually involves reducing the problem to a much smaller set of nodes first.

the "rpcdebug" stuff that Linux/nfs has is sometimes useful, but some parts
are changing to tracepoints and some parts have remained, which is a
little confusing.

The fact that lustre tracing seems to *always* log everything so that if
something goes wrong you can extract that last few meg(?) of logs seems
really useful.

I discovered - thanks to James -
 https://jira.hpdd.intel.com/browse/LU-8980
 Add tracepoint support to Lustre

which is "closed", but I cannot find any trace of tracepoints in
drivers/staging or in lustre-release.  Maybe I'm confused.
I suspect tracepoints is a good way to go.

>
>> It seems there is a lot of upstream work mixed in with the clean up, and
>> I don't think that really helps anyone.
>
> I don’t understand what you mean here.

Just that I thought that the main point of drivers/staging is to get the
code into a mergable state, and if feature addition happens at the same
time, then priorities get blurred and goals don't get reached.

>
>> Is it at all realistic that the client might be removed from
>> lustre-release?  That might be a good goal to work towards.
>
> Assuming we can bring the whole functionality over - sure.
>
> Of course there’d still be some separate development place and we would
> need to create patches (new features?) for like SuSE and other distros
> and for testing of server features, I guess, but that could just that -
> a side branch somewhere I hope.

Of course - code doesn't go upstream until it is ready.  Lots of
development happens elsewhere.
Of course distros like SUSE would generally rather ship code that was
"ready" and so like to see it upstream.  There is usually room for
negotiation.

>
> It’s not that we are super glad to chase every kernel vendors put out,
> of course it would be much easier if the kernels already included
> a very functional Lustre client.
>
>>>> Might it make sense to instead start cleaning up the code in
>>>> lustre-release so as to make it meet the upstream kernel standards.
>>>> Then when the time is right, the kernel code can be moved *out* of
>>>> lustre-release and *in* to linux.  Then development can continue in
>>>> Linux (just like it does with other Linux filesystems).
>>> 
>>> While we can be cleaning lustre in lustre-release, there are some things
>>> we cannot do as easily, e.g. decoupling Lustre client from the server.
>>> Also it would not attract any reviews from all the janitor or
>>> (more importantly) Al Viro and other people with a sharp eyes.
>>> 
>>>> An added bonus of this is that there is an obvious path to getting
>>>> server support in mainline Linux.  The current situation of client-only
>>>> support seems weird given how interdependent the two are.
>>> 
>>> Given the pushback Lustre client was given I have no hope Lustre server
>>> will get into mainline in my lifetime.
>> 
>> Even if it is horrible it would be nice to have it in staging... I guess
>> the changes required to ext4 prohibit that... I don't suppose it can be
>> made to work with mainline ext4 in a reduced-functionality-and-performance
>> way??
>
> We support unpatched ZFS as a server too! ;)

So that that mean you would expect lustre-server to work with unpatched
ext4? In that case I won't give up hope of seeing the server in mainline
in my lifetime.  Client first though.

> (and if somebody invests the time into it, there was some half-baked btrfs
> backend too I think).
> That said nobody here believes in any success of pushing Lustre server into
> mainline.
> It would just be easier to push the whole server into userspace (And there
> was a project like this in the past, now abandoned because it was mostly
> targeting Solaris anyway).
>
>> I think it would be a lot easier to motivate forward progress if there
>> were a credible end goal of everything being in mainline.
>> 
>>> 
>>>> What do others think?  Is there any chance that the current lustre in
>>>> Linux will ever be more than a poor second-cousin to the external
>>>> lustre-release.  If there isn't, should we just discard it now and move
>>>> on?
>>> 
>>> 
>>> I think many useful cleanups and fixes came from the staging tree at
>>> the very least.
>>> The biggest problem with it all is that we are in staging tree so
>>> we cannot bring it to parity much. And we are in staging tree because
>>> there’s a whole bunch of “cleanups” requested that take a lot of effort
>>> (in both implementing them and then in finding other ways of achieving
>>> things that were done in old ways before).
>> 
>> Do you have a list of requested cleanups?  I would find that to be
>> useful.
>
> As Greg would tell you, “if you don’t know what needs to be done,
> let’s just remove the whole thing from staging now”.

Of course, but I don't expect that I will see the same things that
others see.  And if people have gone to the trouble to provide feedback,
it seems polite to record that feed back for all to see.

>
> I assume you saw drivers/staging/lustre/TODO already, it’s only partially done.

Yes - it isn't very detailed though.  Maybe I'll flesh it out with some
of the things you have said.

>
> We had a bunch of other requests from various people ranging from wholesale
> removal of various parts to making sure there’s no checkpatch warnings
> (Turned out rather hard to do, even though we greatly pared the
> numbers).

checkpatch is a useful guide, but an awful master.

% find drivers/staging/lustre/ -name '*.[ch]' | while read a; do
   ./scripts/checkpatch.pl --max-line-length=10000 --no-summary -f $a
   done|grep '^ERROR' | sort | uniq -c


     17 ERROR: Macros with complex values should be enclosed in parentheses
      2 ERROR: Macros with multiple statements should be enclosed in a do - while loop
     12 ERROR: No #include in ...include/uapi/... should use a uapi/ path prefix
      1 ERROR: space required before the open brace '{'
      8 ERROR: that open brace { should be on the previous line
      1 ERROR: trailing statements should be on next line
      1 ERROR: trailing whitespace

Thanks isn't too bad - obviously nearly there with checkpatch.
Lots more warnings - some might be interesting.

wholesale removal - like the prng, the workqueues, and the
ll_wait_event() macro?  I can do that :-)


>
> I have some patches to make Lustre a lot more monolithic too.

Yes, it annoys me that I cannot build without modules.  I took some
steps towards fixing that and went off down a rabbit hole..
Should be fairly easy.

> People want us to remove our indirections hell so the code is more readable
> (I have some patches that need to be freshened up some that help here a bit,
> but the work is huge.)

But indirections solve all problems :-)

>
> Other requests come out as some of the prior ones get completed due to
> “you need o finish current level of cleanups so that we can see what other
> cleanups are needed, the current code is too bad to see everything” pretty much.

Thanks a lot for your helpful reply.

NeilBrown

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

[-- Attachment #2: Type: text/plain, Size: 169 bytes --]

_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

WARNING: multiple messages have this Message-ID (diff)
From: NeilBrown <neilb@suse.com>
To: Oleg Drokin <oleg.drokin@intel.com>
Cc: devel@driverdev.osuosl.org,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	wang di <di.wang@intel.com>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Lustre Development List <lustre-devel@lists.lustre.org>
Subject: [lustre-devel] [PATCH 41/80] staging: lustre: lmv: separate master object with master stripe
Date: Mon, 12 Feb 2018 10:44:23 +1100	[thread overview]
Message-ID: <87h8qnrt0o.fsf@notabene.neil.brown.name> (raw)
In-Reply-To: <FC7E817D-BA15-4D0A-9976-F1343F9B022A@intel.com>

On Thu, Feb 08 2018, Oleg Drokin wrote:

>> On Feb 8, 2018, at 10:10 PM, NeilBrown <neilb@suse.com> wrote:
>> 
>> On Thu, Feb 08 2018, Oleg Drokin wrote:
>> 
>>>> On Feb 8, 2018, at 8:39 PM, NeilBrown <neilb@suse.com> wrote:
>>>> 
>>>> On Tue, Aug 16 2016, James Simmons wrote:
>>> 
>>> my that?s an old patch
>>> 
>>>> 
>> ...
>>>> 
>>>> Whoever converted it to "!strcmp()" inverted the condition.  This is a
>>>> perfect example of why I absolutely *loathe* the "!strcmp()" construct!!
>>>> 
>>>> This causes many tests in the 'sanity' test suite to return
>>>> -ENOMEM (that had me puzzled for a while!!).
>>> 
>>> huh? I am not seeing anything of the sort and I was running sanity
>>> all the time until a recent pause (but going to resume).
>> 
>> That does surprised me - I reproduce it every time.
>> I have two VMs running a SLE12-SP2 kernel with patches from
>> lustre-release applied.  These are servers. They have 2 3G virtual disks
>> each.
>> I have two over VMs running current mainline.  These are clients.
>> 
>> I guess your 'recent pause' included between v4.15-rc1 (8e55b6fd0660)
>> and v4.15-rc6 (a93639090a27) - a full month when lustre wouldn't work at
>> all :-(
>
> More than that, but I am pretty sure James Simmons is running tests all the time too
> (he has a different config, I only have tcp).
>
>>>> This seems to suggest that no-one has been testing the mainline linux
>>>> lustre.
>>>> It also seems to suggest that there is a good chance that there
>>>> are other bugs that have crept in while no-one has really been caring.
>>>> Given that the sanity test suite doesn't complete for me, but just
>>>> hangs (in test_27z I think), that seems particularly likely.
>>> 
>>> Works for me, here?s a run from earlier today on 4.15.0:
>> 
>> Well that's encouraging .. I haven't looked into this one yet - I'm not
>> even sure where to start.
>
> m? debug logs for example (greatly neutered in staging tree, but still useful)?
> try lctl dk and see what?s in there.

Debug logs seem to tell me that some message is being sent to a server
and a reply is being received, but that request we are waiting on
doesn't make progress.  I plan to dig in and learn more about how lustre
rpc works so I have a better changes of interpreted those debug logs.


>
>>> Instead the plan was to clean up the staging client into acceptable state,
>>> move it out of staging, bring in all the missing features and then
>>> drop the client (more or less) from the lustre-release.
>> 
>> That sounds like a great plan.  Any idea why it didn't happen?
>
> Because meeting open-ended demands is hard and certain demands sound like
> ?throw away your X and rewrite it from scratch" (e.g. everything IB-related).

My narrow perspective on IB - from when rdma support was added to the
NFS server - is that it is broken by design and impossible to do
"right".  So different people could easily have different ideas on how
to make the best of a bad lot.
I might try to have a look.

>
> Certain things that sound useless (like the debug subsystem in Lustre)
> is very useful when you have a 10k nodes in a cluster and need to selectively
> pull stuff from a run to debug a complicated cross-node interaction.
> I asked NFS people how do they do it and they don?t have anything that scales
> and usually involves reducing the problem to a much smaller set of nodes first.

the "rpcdebug" stuff that Linux/nfs has is sometimes useful, but some parts
are changing to tracepoints and some parts have remained, which is a
little confusing.

The fact that lustre tracing seems to *always* log everything so that if
something goes wrong you can extract that last few meg(?) of logs seems
really useful.

I discovered - thanks to James -
 https://jira.hpdd.intel.com/browse/LU-8980
 Add tracepoint support to Lustre

which is "closed", but I cannot find any trace of tracepoints in
drivers/staging or in lustre-release.  Maybe I'm confused.
I suspect tracepoints is a good way to go.

>
>> It seems there is a lot of upstream work mixed in with the clean up, and
>> I don't think that really helps anyone.
>
> I don?t understand what you mean here.

Just that I thought that the main point of drivers/staging is to get the
code into a mergable state, and if feature addition happens at the same
time, then priorities get blurred and goals don't get reached.

>
>> Is it at all realistic that the client might be removed from
>> lustre-release?  That might be a good goal to work towards.
>
> Assuming we can bring the whole functionality over - sure.
>
> Of course there?d still be some separate development place and we would
> need to create patches (new features?) for like SuSE and other distros
> and for testing of server features, I guess, but that could just that -
> a side branch somewhere I hope.

Of course - code doesn't go upstream until it is ready.  Lots of
development happens elsewhere.
Of course distros like SUSE would generally rather ship code that was
"ready" and so like to see it upstream.  There is usually room for
negotiation.

>
> It?s not that we are super glad to chase every kernel vendors put out,
> of course it would be much easier if the kernels already included
> a very functional Lustre client.
>
>>>> Might it make sense to instead start cleaning up the code in
>>>> lustre-release so as to make it meet the upstream kernel standards.
>>>> Then when the time is right, the kernel code can be moved *out* of
>>>> lustre-release and *in* to linux.  Then development can continue in
>>>> Linux (just like it does with other Linux filesystems).
>>> 
>>> While we can be cleaning lustre in lustre-release, there are some things
>>> we cannot do as easily, e.g. decoupling Lustre client from the server.
>>> Also it would not attract any reviews from all the janitor or
>>> (more importantly) Al Viro and other people with a sharp eyes.
>>> 
>>>> An added bonus of this is that there is an obvious path to getting
>>>> server support in mainline Linux.  The current situation of client-only
>>>> support seems weird given how interdependent the two are.
>>> 
>>> Given the pushback Lustre client was given I have no hope Lustre server
>>> will get into mainline in my lifetime.
>> 
>> Even if it is horrible it would be nice to have it in staging... I guess
>> the changes required to ext4 prohibit that... I don't suppose it can be
>> made to work with mainline ext4 in a reduced-functionality-and-performance
>> way??
>
> We support unpatched ZFS as a server too! ;)

So that that mean you would expect lustre-server to work with unpatched
ext4? In that case I won't give up hope of seeing the server in mainline
in my lifetime.  Client first though.

> (and if somebody invests the time into it, there was some half-baked btrfs
> backend too I think).
> That said nobody here believes in any success of pushing Lustre server into
> mainline.
> It would just be easier to push the whole server into userspace (And there
> was a project like this in the past, now abandoned because it was mostly
> targeting Solaris anyway).
>
>> I think it would be a lot easier to motivate forward progress if there
>> were a credible end goal of everything being in mainline.
>> 
>>> 
>>>> What do others think?  Is there any chance that the current lustre in
>>>> Linux will ever be more than a poor second-cousin to the external
>>>> lustre-release.  If there isn't, should we just discard it now and move
>>>> on?
>>> 
>>> 
>>> I think many useful cleanups and fixes came from the staging tree at
>>> the very least.
>>> The biggest problem with it all is that we are in staging tree so
>>> we cannot bring it to parity much. And we are in staging tree because
>>> there?s a whole bunch of ?cleanups? requested that take a lot of effort
>>> (in both implementing them and then in finding other ways of achieving
>>> things that were done in old ways before).
>> 
>> Do you have a list of requested cleanups?  I would find that to be
>> useful.
>
> As Greg would tell you, ?if you don?t know what needs to be done,
> let?s just remove the whole thing from staging now?.

Of course, but I don't expect that I will see the same things that
others see.  And if people have gone to the trouble to provide feedback,
it seems polite to record that feed back for all to see.

>
> I assume you saw drivers/staging/lustre/TODO already, it?s only partially done.

Yes - it isn't very detailed though.  Maybe I'll flesh it out with some
of the things you have said.

>
> We had a bunch of other requests from various people ranging from wholesale
> removal of various parts to making sure there?s no checkpatch warnings
> (Turned out rather hard to do, even though we greatly pared the
> numbers).

checkpatch is a useful guide, but an awful master.

% find drivers/staging/lustre/ -name '*.[ch]' | while read a; do
   ./scripts/checkpatch.pl --max-line-length=10000 --no-summary -f $a
   done|grep '^ERROR' | sort | uniq -c


     17 ERROR: Macros with complex values should be enclosed in parentheses
      2 ERROR: Macros with multiple statements should be enclosed in a do - while loop
     12 ERROR: No #include in ...include/uapi/... should use a uapi/ path prefix
      1 ERROR: space required before the open brace '{'
      8 ERROR: that open brace { should be on the previous line
      1 ERROR: trailing statements should be on next line
      1 ERROR: trailing whitespace

Thanks isn't too bad - obviously nearly there with checkpatch.
Lots more warnings - some might be interesting.

wholesale removal - like the prng, the workqueues, and the
ll_wait_event() macro?  I can do that :-)


>
> I have some patches to make Lustre a lot more monolithic too.

Yes, it annoys me that I cannot build without modules.  I took some
steps towards fixing that and went off down a rabbit hole..
Should be fairly easy.

> People want us to remove our indirections hell so the code is more readable
> (I have some patches that need to be freshened up some that help here a bit,
> but the work is huge.)

But indirections solve all problems :-)

>
> Other requests come out as some of the prior ones get completed due to
> ?you need o finish current level of cleanups so that we can see what other
> cleanups are needed, the current code is too bad to see everything? pretty much.

Thanks a lot for your helpful reply.

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/20180212/42b47340/attachment.sig>

  parent reply	other threads:[~2018-02-11 23:44 UTC|newest]

Thread overview: 188+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-16 20:18 [PATCH 00/80] staging: lustre: majority of missing fixes for 2.6 release James Simmons
2016-08-16 20:18 ` [lustre-devel] " James Simmons
2016-08-16 20:18 ` [PATCH 01/80] staging: lustre: llite: add md_op_data parameter to ll_get_dir_page James Simmons
2016-08-16 20:18   ` [lustre-devel] " James Simmons
2016-08-16 20:18 ` [PATCH 02/80] staging: lustre: llite: remove comment from ll_dir_read James Simmons
2016-08-16 20:18   ` [lustre-devel] " James Simmons
2016-08-16 20:18 ` [PATCH 03/80] staging: lustre: llite: style cleanup for llite_internal.h James Simmons
2016-08-16 20:18   ` [lustre-devel] " James Simmons
2016-08-16 20:18 ` [PATCH 04/80] staging: lustre: llite: pass inode to ll_release_page James Simmons
2016-08-16 20:18   ` [lustre-devel] " James Simmons
2016-08-16 20:18 ` [PATCH 05/80] staging: lustre: llite: change remove parameter to bool James Simmons
2016-08-16 20:18   ` [lustre-devel] " James Simmons
2016-08-16 20:18 ` [PATCH 06/80] staging: lustre: mdc: don't take rpc lock for readdir case James Simmons
2016-08-16 20:18   ` [lustre-devel] " James Simmons
2016-08-16 20:18 ` [PATCH 07/80] staging: lustre: lmv: remove unused lmv_get_mea function James Simmons
2016-08-16 20:18   ` [lustre-devel] " James Simmons
2016-08-16 20:18 ` [PATCH 08/80] staging: lustre: lmv: remove duplicate MAX_HASH_* James Simmons
2016-08-16 20:18   ` [lustre-devel] " James Simmons
2016-08-16 20:18 ` [PATCH 09/80] staging: lustre: lmv: change handling of lmv striping information James Simmons
2016-08-16 20:18   ` [lustre-devel] " James Simmons
2016-08-16 20:18 ` [PATCH 10/80] staging: lustre: lmv: remove lmv_get_easize James Simmons
2016-08-16 20:18   ` [lustre-devel] " James Simmons
2016-08-16 20:18 ` [PATCH 11/80] staging: lustre: lmv: replace obd_free_memmd with lmv_free_memmd James Simmons
2016-08-16 20:18   ` [lustre-devel] " James Simmons
2016-08-16 20:18 ` [PATCH 12/80] staging: lustre: create striped directory James Simmons
2016-08-16 20:18   ` [lustre-devel] " James Simmons
2016-08-16 20:18 ` [PATCH 13/80] staging: lustre: llite: fix "getdirstripe" to show stripe info James Simmons
2016-08-16 20:18   ` [lustre-devel] " James Simmons
2016-08-16 20:18 ` [PATCH 14/80] staging: lustre: delete striped directory James Simmons
2016-08-16 20:18   ` [lustre-devel] " James Simmons
2016-08-16 20:18 ` [PATCH 15/80] staging: lustre: obdclass: fix lmd_parse() to handle comma-separated NIDs James Simmons
2016-08-16 20:18   ` [lustre-devel] " James Simmons
2016-08-16 20:18 ` [PATCH 16/80] staging: lustre: obdclass: bug fixes for lu_device_type handling James Simmons
2016-08-16 20:18   ` [lustre-devel] " James Simmons
2016-08-16 20:18 ` [PATCH 17/80] staging: lustre: add ability to migrate inodes James Simmons
2016-08-16 20:18   ` [lustre-devel] " James Simmons
2016-08-16 20:18 ` [PATCH 18/80] staging: lustre: lmv: fix issue found by Klocwork Insight tool James Simmons
2016-08-16 20:18   ` [lustre-devel] " James Simmons
2016-08-16 20:18 ` [PATCH 19/80] staging: lustre: libcfs: Only dump log once per sec. to avoid EEXIST James Simmons
2016-08-16 20:18   ` [lustre-devel] " James Simmons
2016-08-16 20:18 ` [PATCH 20/80] staging: lustre: llite: enable clients to inject error for lfsck James Simmons
2016-08-16 20:18   ` [lustre-devel] " James Simmons
2016-08-16 20:18 ` [PATCH 21/80] staging: lustre: osc: allow to call brw_commit() multiple times James Simmons
2016-08-16 20:18   ` [lustre-devel] " James Simmons
2016-08-16 20:18 ` [PATCH 22/80] staging: lustre: llite: a few fixes for migration James Simmons
2016-08-16 20:18   ` [lustre-devel] " James Simmons
2016-08-16 20:18 ` [PATCH 23/80] staging: lustre: mdc: fixup MDS_SWAP_LAYOUTS ELC handling James Simmons
2016-08-16 20:18   ` [lustre-devel] " James Simmons
2016-08-16 20:18 ` [PATCH 24/80] staging: lustre: don't need to const __u64 parameters for lustre_idl.h James Simmons
2016-08-16 20:18   ` [lustre-devel] " James Simmons
2016-08-16 20:18 ` [PATCH 25/80] staging: lustre: const correct FID/OSTID/... helpers James Simmons
2016-08-16 20:18   ` [lustre-devel] " James Simmons
2016-08-16 20:18 ` [PATCH 26/80] staging: lustre: use bool for several function in lustre_idl.h/lustre_fid.h James Simmons
2016-08-16 20:18   ` [lustre-devel] " James Simmons
2016-08-16 20:18 ` [PATCH 27/80] staging: lustre: simplify inline functions in lustre_fid.h James Simmons
2016-08-16 20:18   ` [lustre-devel] " James Simmons
2016-08-16 20:18 ` [PATCH 28/80] staging: lustre: lmv: access lum_stripe_offset as little endian James Simmons
2016-08-16 20:18   ` [lustre-devel] " James Simmons
2016-08-16 20:18 ` [PATCH 29/80] staging: lustre: lmv: lookup remote migrating object in LMV James Simmons
2016-08-16 20:18   ` [lustre-devel] " James Simmons
2016-08-16 20:18 ` [PATCH 30/80] staging: lustre: lmv: Ensure lmv_intent_lookup cleans up reqp James Simmons
2016-08-16 20:18   ` [lustre-devel] " James Simmons
2016-08-16 20:18 ` [PATCH 31/80] staging: lustre: llite: avoid a deadlock in page write James Simmons
2016-08-16 20:18   ` [lustre-devel] " James Simmons
2016-08-16 20:18 ` [PATCH 32/80] staging: lustre: lov: handle the case of stripe size is not power 2 James Simmons
2016-08-16 20:18   ` [lustre-devel] " James Simmons
2016-08-16 20:18 ` [PATCH 33/80] staging: lustre: lmv: cleanup req in lmv_getattr_name() James Simmons
2016-08-16 20:18   ` [lustre-devel] " James Simmons
2016-08-16 20:18 ` [PATCH 34/80] staging: lustre: lmv: rename request to preq " James Simmons
2016-08-16 20:18   ` [lustre-devel] " James Simmons
2016-08-16 20:18 ` [PATCH 35/80] staging: lustre: obdclass: unified flow control interfaces James Simmons
2016-08-16 20:18   ` [lustre-devel] " James Simmons
2016-08-16 20:18 ` [PATCH 36/80] staging: lustre: reorder LOV_MAGIC_* definition James Simmons
2016-08-16 20:18   ` [lustre-devel] " James Simmons
2016-08-16 20:18 ` [PATCH 37/80] staging: lustre: ldlm: flock completion fixes James Simmons
2016-08-16 20:18   ` [lustre-devel] " James Simmons
2016-08-16 20:18 ` [PATCH 38/80] staging: lustre: move ioctls to lustre_ioctl.h James Simmons
2016-08-16 20:18   ` [lustre-devel] " James Simmons
2016-08-16 20:18 ` [PATCH 39/80] staging: lustre: llite: add error handler in inode prepare phase James Simmons
2016-08-16 20:18   ` [lustre-devel] " James Simmons
2016-08-16 20:18 ` [PATCH 40/80] staging: lustre: ptlrpc: Early replies need to honor at_max James Simmons
2016-08-16 20:18   ` [lustre-devel] " James Simmons
2016-08-16 20:18 ` [PATCH 41/80] staging: lustre: lmv: separate master object with master stripe James Simmons
2016-08-16 20:18   ` [lustre-devel] " James Simmons
2018-02-09  1:39   ` NeilBrown
2018-02-09  1:39     ` [lustre-devel] " NeilBrown
2018-02-09  2:01     ` Oleg Drokin
2018-02-09  2:01       ` [lustre-devel] " Oleg Drokin
2018-02-09  3:10       ` NeilBrown
2018-02-09  3:10         ` [lustre-devel] " NeilBrown
2018-02-09  3:50         ` Oleg Drokin
2018-02-09  3:50           ` Oleg Drokin
2018-02-10 20:57           ` James Simmons
2018-02-10 20:57             ` James Simmons
2018-02-11 23:50             ` NeilBrown
2018-02-11 23:50               ` NeilBrown
2018-02-12  0:06               ` Oleg Drokin
2018-02-12  0:06                 ` Oleg Drokin
2018-02-11 23:44           ` NeilBrown [this message]
2018-02-11 23:44             ` NeilBrown
2018-02-12  0:52             ` Oleg Drokin
2018-02-12  0:52               ` Oleg Drokin
2018-02-10 22:14     ` James Simmons
2018-02-10 22:14       ` [lustre-devel] " James Simmons
2018-02-12  7:41     ` Dan Carpenter
2018-02-12  7:41       ` [lustre-devel] " Dan Carpenter
2016-08-16 20:18 ` [PATCH 42/80] staging: lustre: llite: validate names James Simmons
2016-08-16 20:18   ` [lustre-devel] " James Simmons
2016-08-16 20:18 ` [PATCH 43/80] staging: lustre: llite: fix inconsistencies of root squash feature James Simmons
2016-08-16 20:18   ` [lustre-devel] " James Simmons
2016-08-16 20:18 ` [PATCH 44/80] staging: lustre: Remove static declaration in anonymous union James Simmons
2016-08-16 20:18   ` [lustre-devel] " James Simmons
2016-08-16 20:18 ` [PATCH 45/80] staging: lustre: llite: Fix the deadlock in balance_dirty_pages() James Simmons
2016-08-16 20:18   ` [lustre-devel] " James Simmons
2016-08-16 20:18 ` [PATCH 46/80] staging: lustre: llite: Change readdir BRW metrics James Simmons
2016-08-16 20:18   ` [lustre-devel] " James Simmons
2016-08-16 20:19 ` [PATCH 47/80] staging: lustre: uapi: reduce scope of lustre_idl.h James Simmons
2016-08-16 20:19   ` [lustre-devel] " James Simmons
2016-08-16 20:19 ` [PATCH 48/80] staging: lustre: llite: a few fixes about readdir of striped dir James Simmons
2016-08-16 20:19   ` [lustre-devel] " James Simmons
2016-08-16 20:19 ` [PATCH 49/80] staging: lustre: lmv: validate lock with correct stripe FID James Simmons
2016-08-16 20:19   ` [lustre-devel] " James Simmons
2016-08-16 20:19 ` [PATCH 50/80] staging: lustre: lov: new pattern flag for partially repaired file James Simmons
2016-08-16 20:19   ` [lustre-devel] " James Simmons
2016-08-16 20:19 ` [PATCH 51/80] staging: lustre: lmv: Match MDT where the FID locates first James Simmons
2016-08-16 20:19   ` [lustre-devel] " James Simmons
2016-08-16 20:19 ` [PATCH 52/80] staging: lustre: llite: use the correct mode for striped directory James Simmons
2016-08-16 20:19   ` [lustre-devel] " James Simmons
2016-08-16 20:19 ` [PATCH 53/80] staging: lustre: obd: rename lsr_padding to lsr_valid James Simmons
2016-08-16 20:19   ` [lustre-devel] " James Simmons
2016-08-16 20:19 ` [PATCH 54/80] staging: lustre: llite: set dir LOV xattr length variable James Simmons
2016-08-16 20:19   ` [lustre-devel] " James Simmons
2016-08-16 20:19 ` [PATCH 55/80] staging: lustre: mdt: add mbo_ prefix to members of struct mdt_body James Simmons
2016-08-16 20:19   ` [lustre-devel] " James Simmons
2016-08-16 20:19 ` [PATCH 56/80] staging: lustre: clio: Reduce memory overhead of per-page allocation James Simmons
2016-08-16 20:19   ` [lustre-devel] " James Simmons
2016-08-16 20:19 ` [PATCH 57/80] staging: lustre: osc: revise unstable pages accounting James Simmons
2016-08-16 20:19   ` [lustre-devel] " James Simmons
2016-10-16 15:14   ` Greg Kroah-Hartman
2016-10-16 15:14     ` [lustre-devel] " Greg Kroah-Hartman
2016-10-16 17:16     ` Oleg Drokin
2016-10-16 17:16       ` [lustre-devel] " Oleg Drokin
2016-08-16 20:19 ` [PATCH 58/80] staging: lustre: mdc: always use D_INFO for debug info when mdc_put_rpc_lock fails James Simmons
2016-08-16 20:19   ` [lustre-devel] " James Simmons
2016-08-16 20:19 ` [PATCH 59/80] staging: lustre: fld: add fld description documentation James Simmons
2016-08-16 20:19   ` [lustre-devel] " James Simmons
2016-08-16 20:19 ` [PATCH 60/80] staging: lustre: ldlm: improve ldlm_lock_create() return value James Simmons
2016-08-16 20:19   ` [lustre-devel] " James Simmons
2016-08-16 20:19 ` [PATCH 61/80] staging: lustre: obdclass: compile issues with variable not being initialized James Simmons
2016-08-16 20:19   ` [lustre-devel] " James Simmons
2016-08-16 20:19 ` [PATCH 62/80] staging: lustre: obd: limit lu_object cache James Simmons
2016-08-16 20:19   ` [lustre-devel] " James Simmons
2016-08-16 20:19 ` [PATCH 63/80] staging: lustre: fid: do open-by-fid by default James Simmons
2016-08-16 20:19   ` [lustre-devel] " James Simmons
2016-08-16 20:19 ` [PATCH 64/80] staging: lustre: ptlrpc: add OBD_CONNECT_UNLINK_CLOSE flag James Simmons
2016-08-16 20:19   ` [lustre-devel] " James Simmons
2016-08-16 20:19 ` [PATCH 65/80] staging: lustre: llog: keep llog ctxt indices constant James Simmons
2016-08-16 20:19   ` [lustre-devel] " James Simmons
2016-08-16 20:19 ` [PATCH 66/80] staging: lustre: lmv: try all stripes for unknown hash functions James Simmons
2016-08-16 20:19   ` [lustre-devel] " James Simmons
2016-08-16 20:19 ` [PATCH 67/80] staging: lustre: ptlrpc: request gets stuck in UNREGISTERING phase James Simmons
2016-08-16 20:19   ` [lustre-devel] " James Simmons
2016-08-16 20:19 ` [PATCH 68/80] staging: lustre: lmv: build master LMV EA dynamically build via readdir James Simmons
2016-08-16 20:19   ` [lustre-devel] " James Simmons
2016-08-16 20:19 ` [PATCH 69/80] staging: lustre: osc: Automatically increase the max_dirty_mb James Simmons
2016-08-16 20:19   ` [lustre-devel] " James Simmons
2016-08-16 20:19 ` [PATCH 70/80] staging: lustre: include: fix one off errors in lustre_id.h James Simmons
2016-08-16 20:19   ` [lustre-devel] " James Simmons
2016-08-16 20:19 ` [PATCH 71/80] staging: lustre: llite: remove assert for acl refcount James Simmons
2016-08-16 20:19   ` [lustre-devel] " James Simmons
2016-08-16 20:19 ` [PATCH 72/80] staging: lustre: obd: validate open handle cookies James Simmons
2016-08-16 20:19   ` [lustre-devel] " James Simmons
2016-08-16 20:19 ` [PATCH 73/80] staging: lustre: lmv: build error with gcc 4.7.0 20110509 James Simmons
2016-08-16 20:19   ` [lustre-devel] " James Simmons
2016-08-16 20:19 ` [PATCH 74/80] staging: lustre: obd: implement md_read_page James Simmons
2016-08-16 20:19   ` [lustre-devel] " James Simmons
2016-08-16 20:19 ` [PATCH 75/80] staging: lustre: llite: set op_max_pages James Simmons
2016-08-16 20:19   ` [lustre-devel] " James Simmons
2016-08-16 20:19 ` [PATCH 76/80] staging: lustre: lnet: Do not drop message when shutting down LNet James Simmons
2016-08-16 20:19   ` [lustre-devel] " James Simmons
2016-08-16 20:19 ` [PATCH 77/80] staging: lustre: lnet: Correct position of lnet_ni_decref() James Simmons
2016-08-16 20:19   ` [lustre-devel] " James Simmons
2016-08-16 20:19 ` [PATCH 78/80] staging: lustre: lnet: make connection more stable with packet loss James Simmons
2016-08-16 20:19   ` [lustre-devel] " James Simmons
2016-08-16 20:19 ` [PATCH 79/80] staging: lustre: lnet: lock improvement for ko2iblnd James Simmons
2016-08-16 20:19   ` [lustre-devel] " James Simmons
2016-08-16 20:19 ` [PATCH 80/80] staging: lustre: lnet: Stop Infinite CON RACE Condition James Simmons
2016-08-16 20:19   ` [lustre-devel] " 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=87h8qnrt0o.fsf@notabene.neil.brown.name \
    --to=neilb@suse.com \
    --cc=devel@driverdev.osuosl.org \
    --cc=di.wang@intel.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lustre-devel@lists.lustre.org \
    --cc=oleg.drokin@intel.com \
    /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.