On May 31, 2018, at 18:54, Greg Kroah-Hartman
wrote:
>
> On Tue, May 29, 2018 at 10:21:45AM -0400, James Simmons wrote:
>> From: "John L. Hammond"
>>
>> Pre 2.10.1 MDTs will crash when they receive a listxattr (MDS_GETXATTR
>> with OBD_MD_FLXATTRLS) RPC for an orphan or dead object. So for
>>
On May 31, 2018, at 18:54, Greg Kroah-Hartman
wrote:
>
> On Tue, May 29, 2018 at 10:21:45AM -0400, James Simmons wrote:
>> From: "John L. Hammond"
>>
>> Pre 2.10.1 MDTs will crash when they receive a listxattr (MDS_GETXATTR
>> with OBD_MD_FLXATTRLS) RPC for an orphan or dead object. So for
>>
On May 16, 2018, at 02:00, Dan Carpenter wrote:
>
> On Tue, May 15, 2018 at 04:02:55PM +0100, James Simmons wrote:
>>
/*
* Allocate new object. This may result in rather complicated
* operations, including fld queries, inode loading, etc.
On May 16, 2018, at 02:00, Dan Carpenter wrote:
>
> On Tue, May 15, 2018 at 04:02:55PM +0100, James Simmons wrote:
>>
/*
* Allocate new object. This may result in rather complicated
* operations, including fld queries, inode loading, etc.
*/
o =
On May 12, 2018, at 00:33, Christophe JAILLET
wrote:
>
> According to error handling path before and after this one, we should go
> to 'out_md_fid' here, instead of 'out_md', if 'obd_connect()' fails.
>
> Signed-off-by: Christophe JAILLET
On May 12, 2018, at 00:33, Christophe JAILLET
wrote:
>
> According to error handling path before and after this one, we should go
> to 'out_md_fid' here, instead of 'out_md', if 'obd_connect()' fails.
>
> Signed-off-by: Christophe JAILLET
Good catch.
Reviewed-by: Andreas Dilger
> ---
>
On May 11, 2018, at 07:38, Colin King wrote:
>
> From: Colin Ian King
>
> Trivial fix to spelling mistake in DEBUG_REQ message text
>
> Signed-off-by: Colin Ian King
Reviewed-by: Andreas Dilger
On May 11, 2018, at 07:38, Colin King wrote:
>
> From: Colin Ian King
>
> Trivial fix to spelling mistake in DEBUG_REQ message text
>
> Signed-off-by: Colin Ian King
Reviewed-by: Andreas Dilger
> ---
> drivers/staging/lustre/lustre/ptlrpc/client.c | 2 +-
> 1 file changed, 1 insertion(+),
On May 3, 2018, at 22:19, Wenwen Wang wrote:
>
> On Tue, May 1, 2018 at 3:46 AM, Dan Carpenter
> wrote:
>> On Mon, Apr 30, 2018 at 05:56:10PM -0500, Wenwen Wang wrote:
>>> However, given that the user data resides in the user space, a malicious
>>>
On May 3, 2018, at 22:19, Wenwen Wang wrote:
>
> On Tue, May 1, 2018 at 3:46 AM, Dan Carpenter
> wrote:
>> On Mon, Apr 30, 2018 at 05:56:10PM -0500, Wenwen Wang wrote:
>>> However, given that the user data resides in the user space, a malicious
>>> user-space process can race to change the
On May 3, 2018, at 07:50, David Laight wrote:
>
> From: James Simmons
>> Sent: 02 May 2018 19:22
>> From: Li Xi
>>
>> Most of the time, keys are never changed. So rwlock might be
>> better for the concurrency of key read.
>
> OTOH unless there is
On May 3, 2018, at 07:50, David Laight wrote:
>
> From: James Simmons
>> Sent: 02 May 2018 19:22
>> From: Li Xi
>>
>> Most of the time, keys are never changed. So rwlock might be
>> better for the concurrency of key read.
>
> OTOH unless there is contention on the spin lock during reads the
>
On Apr 30, 2018, at 21:52, NeilBrown wrote:
>
> The current retry logic, to wait when a 'dying' object is found,
> spans multiple functions. The process is attached to a waitqueue
> and set TASK_UNINTERRUPTIBLE in htable_lookup, and this status
> is passed back through
On Apr 30, 2018, at 21:52, NeilBrown wrote:
>
> The current retry logic, to wait when a 'dying' object is found,
> spans multiple functions. The process is attached to a waitqueue
> and set TASK_UNINTERRUPTIBLE in htable_lookup, and this status
> is passed back through lu_object_find_try() to
On Apr 30, 2018, at 21:52, NeilBrown wrote:
>
> lu_object maintains 2 lru counts.
> One is a per-bucket lsb_lru_len.
> The other is the per-cpu ls_lru_len_counter.
>
> The only times the per-bucket counters are use are:
> - a debug message when an object is added
> - in
On Apr 30, 2018, at 21:52, NeilBrown wrote:
>
> lu_object maintains 2 lru counts.
> One is a per-bucket lsb_lru_len.
> The other is the per-cpu ls_lru_len_counter.
>
> The only times the per-bucket counters are use are:
> - a debug message when an object is added
> - in lu_site_stats_get when
On Apr 30, 2018, at 21:52, NeilBrown wrote:
>
> This data structure only needs to be public so that
> various modules can access a wait queue to wait for object
> destruction.
> If we provide a function to get the wait queue, rather than the
> whole bucket, the structure can be
On Apr 30, 2018, at 21:52, NeilBrown wrote:
>
> This data structure only needs to be public so that
> various modules can access a wait queue to wait for object
> destruction.
> If we provide a function to get the wait queue, rather than the
> whole bucket, the structure can be made private.
>
On Apr 30, 2018, at 16:56, Wenwen Wang wrote:
>
> In ll_dir_ioctl(), the object lumv3 is firstly copied from the user space
> using Its address, i.e., lumv1 = If the lmm_magic field of lumv3 is
> LOV_USER_MAGIC_V3, lumv3 will be modified by the second copy from the user
>
On Apr 30, 2018, at 16:56, Wenwen Wang wrote:
>
> In ll_dir_ioctl(), the object lumv3 is firstly copied from the user space
> using Its address, i.e., lumv1 = If the lmm_magic field of lumv3 is
> LOV_USER_MAGIC_V3, lumv3 will be modified by the second copy from the user
> space. The second copy
On Apr 30, 2018, at 21:52, NeilBrown wrote:
>
> Rather than storing the name of a namespace in the
> hash table, store it directly in the namespace.
> This will allow the hashtable to be changed to use
> rhashtable.
>
> Signed-off-by: NeilBrown
Reviewed-by:
On Apr 30, 2018, at 21:52, NeilBrown wrote:
>
> Rather than storing the name of a namespace in the
> hash table, store it directly in the namespace.
> This will allow the hashtable to be changed to use
> rhashtable.
>
> Signed-off-by: NeilBrown
Reviewed-by: Andreas Dilger
> ---
>
On Apr 29, 2018, at 07:20, Greg Kroah-Hartman <gre...@linuxfoundation.org>
wrote:
>
> On Sat, Apr 28, 2018 at 04:04:25PM +0000, Dilger, Andreas wrote:
>> On Apr 27, 2018, at 17:45, Wenwen Wang <wang6...@umn.edu> wrote:
>>> [PATCH] staging: luster: llite: fix
On Apr 29, 2018, at 07:20, Greg Kroah-Hartman
wrote:
>
> On Sat, Apr 28, 2018 at 04:04:25PM +, Dilger, Andreas wrote:
>> On Apr 27, 2018, at 17:45, Wenwen Wang wrote:
>>> [PATCH] staging: luster: llite: fix potential missing-check bug when
>>> copying lumv
On Apr 27, 2018, at 17:45, Wenwen Wang wrote:
> [PATCH] staging: luster: llite: fix potential missing-check bug when copying
> lumv
(typo) s/luster/lustre/
> In ll_dir_ioctl(), the object lumv3 is firstly copied from the user space
> using Its address, i.e., lumv1 = If the
On Apr 27, 2018, at 17:45, Wenwen Wang wrote:
> [PATCH] staging: luster: llite: fix potential missing-check bug when copying
> lumv
(typo) s/luster/lustre/
> In ll_dir_ioctl(), the object lumv3 is firstly copied from the user space
> using Its address, i.e., lumv1 = If the lmm_magic field of
On Apr 16, 2018, at 16:48, Doug Oucharek wrote:
>
>>
>> On Apr 16, 2018, at 3:42 PM, James Simmons wrote:
>>
>>
>>> James,
>>>
>>> If I understand correctly, you're saying you want to be able to build
>>> without debug support...? I'm not
On Apr 16, 2018, at 16:48, Doug Oucharek wrote:
>
>>
>> On Apr 16, 2018, at 3:42 PM, James Simmons wrote:
>>
>>
>>> James,
>>>
>>> If I understand correctly, you're saying you want to be able to build
>>> without debug support...? I'm not convinced that building a client without
>>>
On Apr 2, 2018, at 16:26, NeilBrown <ne...@suse.com> wrote:
> On Mon, Apr 02 2018, Dilger, Andreas wrote:
>> On Mar 30, 2018, at 13:02, James Simmons <jsimm...@infradead.org> wrote:
>>>> This function simply multiplies by HZ and adds jiffies.
>>>> Thi
On Apr 2, 2018, at 16:26, NeilBrown wrote:
> On Mon, Apr 02 2018, Dilger, Andreas wrote:
>> On Mar 30, 2018, at 13:02, James Simmons wrote:
>>>> This function simply multiplies by HZ and adds jiffies.
>>>> This is simple enough to be opencoded, and doing so
&
On Mar 28, 2018, at 22:26, NeilBrown wrote:
>
> This wrapper is only used once, so open-code it as max().
>
> This allows us to remove the libcfs_time.h include file.
>
> Signed-off-by: NeilBrown
> ---
> .../staging/lustre/include/linux/libcfs/libcfs.h |1
On Mar 28, 2018, at 22:26, NeilBrown wrote:
>
> This wrapper is only used once, so open-code it as max().
>
> This allows us to remove the libcfs_time.h include file.
>
> Signed-off-by: NeilBrown
> ---
> .../staging/lustre/include/linux/libcfs/libcfs.h |1
>
> On Mar 30, 2018, at 13:02, James Simmons wrote:
>
>
>> This function simply multiplies by HZ and adds jiffies.
>> This is simple enough to be opencoded, and doing so
>> makes the code easier to read.
>>
>> Same for cfs_time_shift_64()
>
> Reviewed-by: James Simmons
> On Mar 30, 2018, at 13:02, James Simmons wrote:
>
>
>> This function simply multiplies by HZ and adds jiffies.
>> This is simple enough to be opencoded, and doing so
>> makes the code easier to read.
>>
>> Same for cfs_time_shift_64()
>
> Reviewed-by: James Simmons
Hmm, I thought we were
On Mar 7, 2018, at 13:54, Kees Cook wrote:
>
> The kernel would like to have all stack VLA usage removed[1]. This switches
> to a simple kasprintf() instead, and in the process fixes an off-by-one
> between the allocation and the sprintf (allocation did not include NULL
>
On Mar 7, 2018, at 13:54, Kees Cook wrote:
>
> The kernel would like to have all stack VLA usage removed[1]. This switches
> to a simple kasprintf() instead, and in the process fixes an off-by-one
> between the allocation and the sprintf (allocation did not include NULL
> byte in calculation).
>
On Mar 1, 2018, at 16:31, NeilBrown wrote:
>
> This reverts commit 16f1eeb660bd2bfd223704ee6350706b39c55a7a.
>
> The reason for this patch was that lustre used copy_from_user_page.
> Commit 76133e66b141 ("staging/lustre: Replace jobid acquiring with per
> node setting") removed
On Mar 1, 2018, at 16:31, NeilBrown wrote:
>
> This reverts commit 16f1eeb660bd2bfd223704ee6350706b39c55a7a.
>
> The reason for this patch was that lustre used copy_from_user_page.
> Commit 76133e66b141 ("staging/lustre: Replace jobid acquiring with per
> node setting") removed that usage.
> So
On Mar 1, 2018, at 16:31, NeilBrown wrote:
>
> Remove restriction the lustre must be built
> as modules. It now works as a monolithic build.
>
> Signed-off-by: NeilBrown
Reviewed-by: Andreas Dilger
> ---
>
On Mar 1, 2018, at 16:31, NeilBrown wrote:
>
> Remove restriction the lustre must be built
> as modules. It now works as a monolithic build.
>
> Signed-off-by: NeilBrown
Reviewed-by: Andreas Dilger
> ---
> drivers/staging/lustre/lnet/Kconfig |2 +-
>
On Mar 1, 2018, at 16:31, NeilBrown wrote:
>
> When the ptlrpc module is loaded, it starts the pinger thread and
> calls LNetNIInit which starts various threads.
>
> We don't need these threads until the module is actually being
> used, such as when a lustre filesystem is
On Mar 1, 2018, at 16:31, NeilBrown wrote:
>
> When the ptlrpc module is loaded, it starts the pinger thread and
> calls LNetNIInit which starts various threads.
>
> We don't need these threads until the module is actually being
> used, such as when a lustre filesystem is mounted.
>
> So move
> On Mar 1, 2018, at 16:31, NeilBrown wrote:
>
> Rather than allocating a ptlrpc_thread for the
> stat-ahead thread, just use the task_struct provided
> by kthreads directly.
>
> As nothing ever waits for the sai_task, it must call do_exit()
> directly rather than simply return
> On Mar 1, 2018, at 16:31, NeilBrown wrote:
>
> Rather than allocating a ptlrpc_thread for the
> stat-ahead thread, just use the task_struct provided
> by kthreads directly.
>
> As nothing ever waits for the sai_task, it must call do_exit()
> directly rather than simply return from the
On Mar 1, 2018, at 16:31, NeilBrown wrote:
>
> Lustre has a 'struct ptlrpc_thread' which provides
> control functionality wrapped around kthreads.
> None of the functionality used in statahead.c requires
> ptlrcp_thread - it can all be done directly with kthreads.
>
> So discard
On Mar 1, 2018, at 16:31, NeilBrown wrote:
>
> Lustre has a 'struct ptlrpc_thread' which provides
> control functionality wrapped around kthreads.
> None of the functionality used in statahead.c requires
> ptlrcp_thread - it can all be done directly with kthreads.
>
> So discard the
On Mar 1, 2018, at 16:31, NeilBrown wrote:
>
> SVC_EVENT is no longer used.
>
> Signed-off-by: NeilBrown
Reviewed-by: Andreas Dilger
> ---
> drivers/staging/lustre/lustre/include/lustre_net.h | 11 ---
> 1 file changed, 11
On Mar 1, 2018, at 16:31, NeilBrown wrote:
>
> SVC_EVENT is no longer used.
>
> Signed-off-by: NeilBrown
Reviewed-by: Andreas Dilger
> ---
> drivers/staging/lustre/lustre/include/lustre_net.h | 11 ---
> 1 file changed, 11 deletions(-)
>
> diff --git
On Mar 1, 2018, at 16:31, NeilBrown wrote:
>
> lustre has a "Pinger" kthread which periodically pings peers
> to ensure all hosts are functioning.
>
> This can more easily be done using a work queue.
>
> As maintaining contact with other peers is import for
> keeping the
On Mar 1, 2018, at 16:31, NeilBrown wrote:
>
> lustre has a "Pinger" kthread which periodically pings peers
> to ensure all hosts are functioning.
>
> This can more easily be done using a work queue.
>
> As maintaining contact with other peers is import for
> keeping the filesystem running,
On Mar 1, 2018, at 16:31, NeilBrown wrote:
>
> The garbage collection for security contexts currently
> has a dedicated kthread which wakes up every 30 minutes
> to discard old garbage.
>
> Replace this with a simple delayed_work item on the
> system work queue.
>
>
On Mar 1, 2018, at 16:31, NeilBrown wrote:
>
> The garbage collection for security contexts currently
> has a dedicated kthread which wakes up every 30 minutes
> to discard old garbage.
>
> Replace this with a simple delayed_work item on the
> system work queue.
>
> Signed-off-by: NeilBrown
On Mar 1, 2018, at 16:31, NeilBrown wrote:
>
> ldlm currenty has a kthread which wakes up every so often
> and calls ldlm_pools_recalc().
> The thread is started and stopped, but no other external interactions
> happen.
>
> This can trivially be replaced by a delayed_work if we
On Mar 1, 2018, at 16:31, NeilBrown wrote:
>
> ldlm currenty has a kthread which wakes up every so often
> and calls ldlm_pools_recalc().
> The thread is started and stopped, but no other external interactions
> happen.
>
> This can trivially be replaced by a delayed_work if we have
>
On Mar 1, 2018, at 16:31, NeilBrown wrote:
>
> obdclass currently maintains two lists of data structures
> (imports and exports), and a kthread which will free
> anything on either list. The thread is woken whenever
> anything is added to either list.
>
> This is exactly the
On Mar 1, 2018, at 16:31, NeilBrown wrote:
>
> obdclass currently maintains two lists of data structures
> (imports and exports), and a kthread which will free
> anything on either list. The thread is woken whenever
> anything is added to either list.
>
> This is exactly the sort of thing that
On Mar 1, 2018, at 16:31, NeilBrown wrote:
>
> These allocations are performed during initialization,
> so they don't need GFP_NOFS.
>
> Signed-off-by: NeilBrown
Reviewed-by: Andreas Dilger
> ---
>
On Mar 1, 2018, at 16:31, NeilBrown wrote:
>
> These allocations are performed during initialization,
> so they don't need GFP_NOFS.
>
> Signed-off-by: NeilBrown
Reviewed-by: Andreas Dilger
> ---
> drivers/staging/lustre/lustre/ptlrpc/sec_bulk.c |2 +-
>
On Mar 1, 2018, at 16:31, NeilBrown wrote:
>
> When the 'lustre' module is loaded, it gets a list of
> net devices and uses the node ids to add entropy
> to the prng. This means that the network interfaces need
> to be configured before the module is loaded, which prevents
>
On Mar 1, 2018, at 16:31, NeilBrown wrote:
>
> When the 'lustre' module is loaded, it gets a list of
> net devices and uses the node ids to add entropy
> to the prng. This means that the network interfaces need
> to be configured before the module is loaded, which prevents
> the module from
On Mar 1, 2018, at 16:31, NeilBrown wrote:
>
> ln_nportals should be zero when no portals have
> been allocated. This ensures that memory allocation failure
> is handled correctly elsewhere.
>
> Signed-off-by: NeilBrown
Reviewed-by: Andreas Dilger
On Mar 1, 2018, at 16:31, NeilBrown wrote:
>
> ln_nportals should be zero when no portals have
> been allocated. This ensures that memory allocation failure
> is handled correctly elsewhere.
>
> Signed-off-by: NeilBrown
Reviewed-by: Andreas Dilger
> ---
>
On Mar 1, 2018, at 16:31, NeilBrown wrote:
>
> Some places in lu_object.c allow lct_owner to be NULL, implying
> that the code is built in to the kernel (not a module), but
> two places don't. This prevents us from building lustre into
> the kernel.
>
> So remove the
On Mar 1, 2018, at 16:31, NeilBrown wrote:
>
> Some places in lu_object.c allow lct_owner to be NULL, implying
> that the code is built in to the kernel (not a module), but
> two places don't. This prevents us from building lustre into
> the kernel.
>
> So remove the requirement and always
On Mar 1, 2018, at 16:31, NeilBrown wrote:
>
> Including agl_list_empty() in the wait_event_idle() condition
> is pointless as the body of the loop doesn't do anything
> about the agl list.
> So if the list wasn't empty, the while loop would spin
> indefinitely.
>
> The test was
On Mar 1, 2018, at 16:31, NeilBrown wrote:
>
> Including agl_list_empty() in the wait_event_idle() condition
> is pointless as the body of the loop doesn't do anything
> about the agl list.
> So if the list wasn't empty, the while loop would spin
> indefinitely.
>
> The test was removed in the
On Mar 1, 2018, at 16:31, NeilBrown wrote:
>
> The lustre-release patch commit bdc5bb52c554 ("LU-4933 osc:
> Automatically increase the max_dirty_mb") changed
>
> - if (cli->cl_dirty + PAGE_CACHE_SIZE <= cli->cl_dirty_max &&
> + if (cli->cl_dirty_pages <
On Mar 1, 2018, at 16:31, NeilBrown wrote:
>
> The lustre-release patch commit bdc5bb52c554 ("LU-4933 osc:
> Automatically increase the max_dirty_mb") changed
>
> - if (cli->cl_dirty + PAGE_CACHE_SIZE <= cli->cl_dirty_max &&
> + if (cli->cl_dirty_pages < cli->cl_dirty_max_pages &&
>
On Mar 1, 2018, at 16:31, NeilBrown wrote:
>
> Commit 4f016420d368 ("Staging: lustre: obdclass: Use kasprintf") moved
> some sprintf() calls earlier in the code to combine them with
> memory allocation and create kasprintf() calls.
>
> In one case, this code movement moved the
On Mar 1, 2018, at 16:31, NeilBrown wrote:
>
> Commit 4f016420d368 ("Staging: lustre: obdclass: Use kasprintf") moved
> some sprintf() calls earlier in the code to combine them with
> memory allocation and create kasprintf() calls.
>
> In one case, this code movement moved the sprintf to a
On Jan 27, 2018, at 14:42, Sven Dziadek wrote:
>
> The functionality of the removed variable length array is already
> implemented by the function xattr_full_name in fs/xattr.c
>
> This fixes the sparse warning:
> warning: Variable length array is used.
>
> Signed-off-by:
On Jan 27, 2018, at 14:42, Sven Dziadek wrote:
>
> The functionality of the removed variable length array is already
> implemented by the function xattr_full_name in fs/xattr.c
>
> This fixes the sparse warning:
> warning: Variable length array is used.
>
> Signed-off-by: Sven Dziadek
> ---
>
On Jan 27, 2018, at 22:24, Sumit Pundir wrote:
>
> Return value of error codes should typically be negative.
> Issue reported by checkpatch.pl
>
> Signed-off-by: Sumit Pundir
Reviewed-by: Andreas Dilger
> ---
>
On Jan 27, 2018, at 22:24, Sumit Pundir wrote:
>
> Return value of error codes should typically be negative.
> Issue reported by checkpatch.pl
>
> Signed-off-by: Sumit Pundir
Reviewed-by: Andreas Dilger
> ---
> drivers/staging/lustre/lnet/selftest/framework.c | 2 +-
> 1 file changed, 1
On Jan 22, 2018, at 23:27, NeilBrown wrote:
>
> When compiled without CONFIG_SMP, we get a compile error
> as ->ctb_parts is not defined.
>
> There is already a function, cfs_cpt_cpumask(), which will get the
> cpumask we need, and which handles the UP case by returning a NULL
On Jan 22, 2018, at 23:27, NeilBrown wrote:
>
> When compiled without CONFIG_SMP, we get a compile error
> as ->ctb_parts is not defined.
>
> There is already a function, cfs_cpt_cpumask(), which will get the
> cpumask we need, and which handles the UP case by returning a NULL pointer.
> So use
On Jan 25, 2018, at 06:51, Eremin, Dmitry wrote:
>
> The logic of the original commit 4d99b2581eff ("staging: lustre: avoid
> intensive reconnecting for ko2iblnd") was assumed conditional free of
> struct kib_conn if the second argument free_conn in function
>
On Jan 25, 2018, at 06:51, Eremin, Dmitry wrote:
>
> The logic of the original commit 4d99b2581eff ("staging: lustre: avoid
> intensive reconnecting for ko2iblnd") was assumed conditional free of
> struct kib_conn if the second argument free_conn in function
> kiblnd_destroy_conn(struct kib_conn
On Jan 11, 2018, at 10:17, Fabian Huegel wrote:
>
> Fixed four lines that went over the 80 character limit
> to reduce checkpatch warnings.
>
> Signed-off-by: Fabian Huegel
> Signed-off-by: Christoph Volkert
> ---
>
On Jan 11, 2018, at 10:17, Fabian Huegel wrote:
>
> Fixed four lines that went over the 80 character limit
> to reduce checkpatch warnings.
>
> Signed-off-by: Fabian Huegel
> Signed-off-by: Christoph Volkert
> ---
> drivers/staging/lustre/lustre/include/obd_class.h | 14 ++
> 1
> On Jan 16, 2018, at 09:56, Greg Kroah-Hartman
> wrote:
>
> On Tue, Jan 16, 2018 at 03:01:49PM +, Eremin, Dmitry wrote:
>> In the original commit 4d99b2581effe115376402e710fbcb1c3c073769
>
> Please use the documented way to write this:
> 4d99b2581eff
> On Jan 16, 2018, at 09:56, Greg Kroah-Hartman
> wrote:
>
> On Tue, Jan 16, 2018 at 03:01:49PM +, Eremin, Dmitry wrote:
>> In the original commit 4d99b2581effe115376402e710fbcb1c3c073769
>
> Please use the documented way to write this:
> 4d99b2581eff ("staging: lustre: avoid
On Dec 18, 2017, at 16:01, NeilBrown wrote:
>
> Linux lib provides identical functionality to cfs_trimwhite,
> so discard that code and use the standard.
>
> Signed-off-by: NeilBrown
Reviewed-by: Andreas Dilger
> ---
>
On Dec 18, 2017, at 16:01, NeilBrown wrote:
>
> Linux lib provides identical functionality to cfs_trimwhite,
> so discard that code and use the standard.
>
> Signed-off-by: NeilBrown
Reviewed-by: Andreas Dilger
> ---
> .../lustre/include/linux/libcfs/libcfs_string.h|1 -
>
On Dec 18, 2017, at 16:01, NeilBrown wrote:
>
> Calling smp_processor_id() without disabling preemption
> triggers a warning (if CONFIG_DEBUG_PREEMPT).
> I think the result of cfs_cpt_current() is only used as a hint for
> load balancing, rather than as a precise and stable
On Dec 18, 2017, at 16:01, NeilBrown wrote:
>
> Calling smp_processor_id() without disabling preemption
> triggers a warning (if CONFIG_DEBUG_PREEMPT).
> I think the result of cfs_cpt_current() is only used as a hint for
> load balancing, rather than as a precise and stable indicator of
> the
On Dec 18, 2017, at 11:03, Patrick Farrell wrote:
>
> The wait calls in ll_statahead_thread are done in a service thread, and
> should probably *not* contribute to load.
>
> The one in osc_extent_wait is perhaps tough - It is called both from user
> threads & daemon threads
On Dec 18, 2017, at 11:03, Patrick Farrell wrote:
>
> The wait calls in ll_statahead_thread are done in a service thread, and
> should probably *not* contribute to load.
>
> The one in osc_extent_wait is perhaps tough - It is called both from user
> threads & daemon threads depending on the
On Dec 17, 2017, at 18:41, NeilBrown wrote:
>
> Lustre has its own internal PRNG code.
> This adds nothing of value to the Linux standard prng code,
> so switch over to using the standard interfaces.
> This adds a few callers to add_device_randomness(), which
> helps everyone,
On Dec 17, 2017, at 18:41, NeilBrown wrote:
>
> Lustre has its own internal PRNG code.
> This adds nothing of value to the Linux standard prng code,
> so switch over to using the standard interfaces.
> This adds a few callers to add_device_randomness(), which
> helps everyone, and removes
> On Nov 30, 2017, at 11:30, Andrii Vladyka wrote:
>
> Change 0 to NULL in lov_object_fiemap() in order to fix warning produced by
> sparse
>
> Signed-off-by: Andrii Vladyka
Patches should be inline rather than in an attachment.
That said, the patch looks
> On Nov 30, 2017, at 11:30, Andrii Vladyka wrote:
>
> Change 0 to NULL in lov_object_fiemap() in order to fix warning produced by
> sparse
>
> Signed-off-by: Andrii Vladyka
Patches should be inline rather than in an attachment.
That said, the patch looks correct, so you can add:
On Oct 22, 2017, at 18:53, NeilBrown wrote:
>
> With this field gone, we don't need local variables 'imp' or 'obd'
> any more.
>
> Signed-off-by: NeilBrown
Thanks for the patches.
Reviewed-by: Andreas Dilger
> ---
>
On Oct 22, 2017, at 18:53, NeilBrown wrote:
>
> With this field gone, we don't need local variables 'imp' or 'obd'
> any more.
>
> Signed-off-by: NeilBrown
Thanks for the patches.
Reviewed-by: Andreas Dilger
> ---
> drivers/staging/lustre/lustre/ldlm/ldlm_flock.c | 21
On Oct 22, 2017, at 18:53, NeilBrown wrote:
>
> Now that the code has been simplified, 'ownlocks' is not
> necessary.
>
> The loop which sets it exits with 'lock' having the same value as
> 'ownlocks', or pointing to the head of the list if ownlocks is NULL.
>
> The current
On Oct 22, 2017, at 18:53, NeilBrown wrote:
>
> Now that the code has been simplified, 'ownlocks' is not
> necessary.
>
> The loop which sets it exits with 'lock' having the same value as
> 'ownlocks', or pointing to the head of the list if ownlocks is NULL.
>
> The current code then tests
On Oct 22, 2017, at 18:53, NeilBrown wrote:
>
> Use list_for_each_entry variants to
> avoid the explicit list_entry() calls.
> This allows us to use list_for_each_entry_safe_from()
> instread of adding a local list-walking macro.
>
> Also improve some comments so that it is more
On Oct 22, 2017, at 18:53, NeilBrown wrote:
>
> Use list_for_each_entry variants to
> avoid the explicit list_entry() calls.
> This allows us to use list_for_each_entry_safe_from()
> instread of adding a local list-walking macro.
>
> Also improve some comments so that it is more obvious
> that
On Oct 22, 2017, at 18:53, NeilBrown wrote:
>
> The only value ever passed in LDLM_FL_WAIT_NOREPROC, so assume that
> instead of passing it.
>
> Signed-off-by: NeilBrown
Reviewed-by: Andreas Dilger
> ---
>
On Oct 22, 2017, at 18:53, NeilBrown wrote:
>
> The only value ever passed in LDLM_FL_WAIT_NOREPROC, so assume that
> instead of passing it.
>
> Signed-off-by: NeilBrown
Reviewed-by: Andreas Dilger
> ---
> drivers/staging/lustre/lustre/ldlm/ldlm_flock.c | 36 ++-
> 1
1 - 100 of 360 matches
Mail list logo