[PATCH 19/19] staging/lustre/ptlrpc: make ptlrpcd threads cpt-aware

2015-09-14 Thread green
From: Olaf Weber On NUMA systems, the placement of worker threads relative to the memory they use greatly affects performance. The CPT mechanism can be used to constrain a number of Lustre thread types, and this change makes it possible to configure the placement of ptlrpcd threads in a similar m

[PATCH 18/19] staging/lustre/libcfs: remove unused cfs_timer_done

2015-09-14 Thread green
From: James Simmons Remove the cfs_timer_done function in the libcfs kernel module since it is not used anywhere. Signed-off-by: James Simmons Signed-off-by: frank zago Reviewed-on: http://review.whamcloud.com/13917 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6245 Reviewed-by: John L.

[PATCH 16/19] staging/lustre/osc: use global osc_rq_pool to reduce memory usage

2015-09-14 Thread green
From: Li Xi The per-osc request pools consume a lot of memory if there are hundreds of OSCs on one client. This will be a critical problem if the client doesn't have sufficient memory for both OSCs and applications. This patch replaces per-osc request pools with a global pool osc_rq_pool. The to

[PATCH 13/19] staging/lustre/llite: ASSERTION( atomic_read(&d->ld_ref) == 0 ) failed

2015-09-14 Thread green
From: Andrew Perepechko ll_iget_for_nfs() can call unbalanced iput() causing memory leaks. This patch removes this iput() call. Also, avoid unhashing disconnected dentries in d_lustre_invalidate(), which is another source of memory leaks. One of the symptoms of the leak is the following crash p

[PATCH 08/19] staging/lustre/o2iblnd: connection refcount fix for kiblnd_post_rx

2015-09-14 Thread green
From: Liang Zhen kiblnd_post_rx() can't refer to rx::rx_conn anymore after ib_post_recv() because this rx can be polled out by another thread which may drop this rx and destroy rx::rx_conn. This patch fixes this issue by taking an extra refcount on connection before calling ib_post_recv(). Sign

[PATCH 15/19] staging/lustre: Remove unused MAY_ constants

2015-09-14 Thread green
From: Ben Evans Remove unused MAY_ constants from lustre_idl.h Signed-off-by: Ben Evans Reviewed-on: http://review.whamcloud.com/15398 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6450 Reviewed-by: John L. Hammond Reviewed-by: Dmitry Eremin Reviewed-by: James Simmons Signed-off-by: Ol

[PATCH 11/19] staging/lustre/lnet: fix deadloop in ksocknal_push

2015-09-14 Thread green
From: Liang Zhen ksocknal_push() should break the loop if it can't find matching peer Signed-off-by: Liang Zhen Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4423 Reviewed-on: http://review.whamcloud.com/10128 Reviewed-by: James Simmons Reviewed-by: Doug Oucharek Reviewed-by: Isaac Huan

[PATCH 07/19] staging/lustre/llite: deny non-root user for changelog operations

2015-09-14 Thread green
From: Niu Yawei To avoid potential security problems, non-privileged users should have no permission to run 'lfs changelog' & 'lfs changelog_clear'. Signed-off-by: Niu Yawei Reviewed-on: http://review.whamcloud.com/14280 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6415 Reviewed-by: Lai

[PATCH 12/19] staging/lustre/o2iblnd: wrong uses of kib_tx_t::tx_nfrags

2015-09-14 Thread green
From: Isaac Huang The kib_tx_t::tx_nfrags field is the # entries in the kib_tx_t::tx_frags array, rather than # DMA mapped entries. So kiblnd_send/kiblnd_recv should use kib_rdma_desc_t::rd_nfrags instead. Signed-off-by: Isaac Huang Reviewed-on: http://review.whamcloud.com/12857 Intel-bug-id: h

[PATCH 02/19] staging/lustre/obdclass: reorganize busy object accounting

2015-09-14 Thread green
From: Frank Zago Due to some accounting bug, lsb_busy of a hash bucket can become larger than the total number of objects in said bucket. A busy object can be counted more than once. When that happens, a negative value is returned by the shrinker callback. Instead of trying (and failing) to coun

[PATCH 06/19] staging/lustre/lmv: fix potential null pointer dereference

2015-09-14 Thread green
From: Oleg Drokin In lmv_disconnect_mdc do procfs removal only if we actually know the name. Reviewed-on: http://review.whamcloud.com/14605 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6517 Reviewed-by: James Simmons Reviewed-by: John L. Hammond Reviewed-by: Dmitry Eremin Signed-off-by

[PATCH 00/19] Lustre fixes

2015-09-14 Thread green
From: Oleg Drokin This batch of changes is for various accumulated fixes since the last time I had a chance to look at it. The only "exception" is the last patch in the series - the CPT-aware ptlrpcd patch. This one is included because there was a strange code in that area otherwise that was fla

[PATCH 03/19] staging/lustre/llite: cleanup open handle for client open failure

2015-09-14 Thread green
From: Fan Yong For open case, the client side open handling thread may hit error after the MDT grant the open. Under such case, the client should send close RPC to the MDT as cleanup; otherwise, the open handle on the MDT will be leaked there until the client umount or evicted. If the LFSCK mark

[PATCH 05/19] staging/lustre/ptlrpc: remove LUSTRE_MSG_MAGIC_V1 support

2015-09-14 Thread green
From: Andreas Dilger Remove the remains of LUSTRE_MSG_MAGIC_V1 support from ptlrpc. It has not been supported since 1.8 and is not functional since 2.0. In lustre_msg_check_version(), return an error for unsupported RPC versions so that the server will reject such RPCs early. Otherwise the serv

[PATCH 04/19] staging/lustre/llite: strengthen checks for hsm flags and archive id

2015-09-14 Thread green
From: Bruno Faccini Prior to this patch undefined flags bits and out of range archive id can be set. Signed-off-by: Bruno Faccini Reviewed-on: http://review.whamcloud.com/13337 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5757 Reviewed-by: frank zago Reviewed-by: Henri Doreau Signed-of

[PATCH 02/19] staging/lustre: Remove unused OBD_VMALLOC

2015-09-15 Thread green
From: Oleg Drokin These macros are not used anymore, so let's remove them, also __OBD_VMALLOC_VEROBSE and OBD_CPT_VMALLOC Signed-off-by: Oleg Drokin --- .../staging/lustre/lustre/include/obd_support.h| 29 -- 1 file changed, 29 deletions(-) diff --git a/drivers/staging

[PATCH 07/19] staging/lustre: Remove references to OBD_ALLOC/FREE* in comments

2015-09-15 Thread green
From: Oleg Drokin Since everything is now supposed to use regular kernel alloc and free functions. Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/include/lustre_lib.h | 2 +- drivers/staging/lustre/lustre/include/lustre_net.h | 2 +- drivers/staging/lustre/lustre/llite/file.c

[PATCH 01/19] staging/lustre: Remove OBD_CPT_ALLOC_LARGE

2015-09-15 Thread green
From: Oleg Drokin Remove OBD_CPT_ALLOC_LARGE define and convert the only user to libcfs_kvzalloc_cpt. Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/include/obd_support.h | 5 - drivers/staging/lustre/lustre/ptlrpc/service.c | 6 -- 2 files changed, 4 insertions(+),

[PATCH 16/19] staging/lustre: remove obd_memory stats counter

2015-09-15 Thread green
From: Oleg Drokin Now that we no longer track allocated memory, remove obd_memory statistics counter and all references to it everywhere Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/include/obd_support.h| 7 --- drivers/staging/lustre/lustre/obdclass/class_obd.c |

[PATCH 15/19] staging/lustre: Remove lustre used memory tracking framework

2015-09-15 Thread green
From: Oleg Drokin Lustre memory allocation framework has a feature to track amount of allocated memory, but since it's not being used consistently anymore and is on the way out in general, just remove it. Signed-off-by: Oleg Drokin --- .../staging/lustre/lustre/include/obd_support.h| 60 +-

[PATCH 18/19] staging/lustre: remove IS_MDS|IS_OST|IS_MGS defines and users

2015-09-15 Thread green
From: Oleg Drokin These could only happen on the server, so they make no sense on the client. Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/include/lustre_disk.h | 3 --- drivers/staging/lustre/lustre/mgc/mgc_request.c | 7 --- drivers/staging/lustre/lustre/obdclass/obd_

[PATCH 17/19] staging/lustre: Remove IS_SERVER and all users

2015-09-15 Thread green
From: Oleg Drokin Since the client can never be server, this is all dead code. Signed-off-by: Oleg Drokin --- .../staging/lustre/lustre/include/lustre_disk.h| 2 - drivers/staging/lustre/lustre/mgc/mgc_request.c| 37 ++ drivers/staging/lustre/lustre/obdclass/obd_mount.c | 85 +

[PATCH 19/19] staging/lustre: Remove server defines from lustre_disk.h

2015-09-15 Thread green
From: Oleg Drokin Take initial stab at removing server-disk related defines that client does not need. Signed-off-by: Oleg Drokin --- .../staging/lustre/lustre/include/lustre_disk.h| 137 - .../staging/lustre/lustre/obdclass/llog_internal.h | 8 -- 2 files changed, 14

[PATCH 11/19] staging/lustre: Replace last users of OBD_ALLOC/FREE_LARGE

2015-09-15 Thread green
From: Oleg Drokin OBD_ALLOC_LARGE is now replaced with libcfs_kvzalloc and OBD_FREE_LARGE is now replaced with kvfree. Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/include/lustre_lib.h | 2 +- drivers/staging/lustre/lustre/include/obd.h| 8 2 files changed, 5 i

[PATCH 12/19] staging/lustre: Remove stray bit of userland utils code

2015-09-15 Thread green
From: Oleg Drokin The UTILS are userland and I see it's causing confusion with things being already converted to kmalloc, so just remove it. Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/include/obd_support.h | 18 -- 1 file changed, 18 deletions(-) diff --git a

[PATCH 13/19] staging/lustre: Remove unused OBD_ALLOC* and OBD_FREE macros

2015-09-15 Thread green
From: Oleg Drokin This removes now unused OBD_ALLOC, OBD_ALLOC_GFP, OBD_ALLOC_PTR, OBD_ALLOC_LARGE and supporting infrastructure. Also OBD_FREE, OBD_FREE_PTR, OBD_FREE_LARGE and supporting infrastructure. Signed-off-by: Oleg Drokin --- .../staging/lustre/lustre/include/obd_support.h| 52 --

[PATCH 14/19] staging/lustre: Remove memory allocation fault injection framework

2015-09-15 Thread green
From: Oleg Drokin Lustre memory allocation wrappers also included a fault injection framework that's totally redundant, since in-kernel offering is actually superior to what we had. So let's remove it. Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/include/obd_support.h | 20 +---

[PATCH 09/19] staging/lustre: Convert lustre_cfg_new/free to use kzalloc/kfree

2015-09-15 Thread green
From: Oleg Drokin Part of effort of getting rid of custom Lustre allocation macros Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/include/lustre_cfg.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/staging/lustre/lustre/include/lustre_cfg.h b/d

[PATCH 08/19] staging/lustre/fld: Replace OBD_ALLOC_GFP with kzalloc

2015-09-15 Thread green
From: Oleg Drokin Part of effort to get rid of custom Lustre allocation macros. Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/fld/fld_cache.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/lustre/lustre/fld/fld_cache.c b/drivers/staging/lust

[PATCH 10/19] staging/lustre/ptlrpc: Replace OBD_FREE_PTR with kfree

2015-09-15 Thread green
From: Oleg Drokin Part of effort of getting rid of custom Lustre alloc/free macros Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/ptlrpc/ptlrpc_internal.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/lustre/lustre/ptlrpc/ptlrpc_internal.h b

[PATCH 06/19] staging/lustre/obdclass: replace OBD_ALLOC_GFP with kzalloc

2015-09-15 Thread green
From: Oleg Drokin Part of getting rid of custom Lustre allocation macros. Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/obdclass/cl_page.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/staging/lustre/lustre/obdclass/cl_page.c b/drivers/staging/lu

[PATCH 05/19] staging/lustre/llite: Get rid of OBD_ALLOC/FREE_PTR

2015-09-15 Thread green
From: Oleg Drokin The remaining users in ll_open_cleanup and obd_mod_alloc are converted to regular kzalloc/kfree. Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/include/obd.h | 4 ++-- drivers/staging/lustre/lustre/llite/llite_lib.c | 2 +- 2 files changed, 3 insertions(+),

[PATCH 04/19] staging/lustre: Remove users of OBD_ALLOC/FREE_PTR lu_object.h

2015-09-15 Thread green
From: Oleg Drokin These are converted to regular kzalloc/kfree calls. Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/include/lu_object.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/staging/lustre/lustre/include/lu_object.h b/drivers/staging/lu

[PATCH 03/19] staging/lustre: Remove unused OBD_CPT_ALLOC* macros

2015-09-15 Thread green
From: Oleg Drokin OBD_CPT_ALLOC and friends are no longer used, so remove them. Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/include/obd_support.h | 9 - 1 file changed, 9 deletions(-) diff --git a/drivers/staging/lustre/lustre/include/obd_support.h b/drivers/staging/

[PATCH 00/19] Lustre cleanups

2015-09-15 Thread green
From: Oleg Drokin This bunch of patches removes significant chunks of Lustre specific allocators which is possible thanks to prior patches from Julia Lawall. Also removed are some server-only bits of code that make no sense to retain in a client. Please consider. Oleg Drokin (19): staging/lus

[PATCH v2 09/19] staging/lustre: Convert lustre_cfg_new/free to use kzalloc/kfree

2015-09-16 Thread green
From: Oleg Drokin Part of effort of getting rid of custom Lustre allocation macros Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/include/lustre_cfg.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/staging/lustre/lustre/include/lustre_cfg.h b/d

[PATCH v2 05/19] staging/lustre/llite: Get rid of OBD_ALLOC/FREE_PTR

2015-09-16 Thread green
From: Oleg Drokin The remaining users in ll_open_cleanup and obd_mod_alloc are converted to regular kzalloc/kfree. Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/include/obd.h | 4 ++-- drivers/staging/lustre/lustre/llite/llite_lib.c | 2 +- 2 files changed, 3 insertions(+),

[PATCH v2 18/19] staging/lustre: remove IS_MDS|IS_OST|IS_MGS defines and users

2015-09-16 Thread green
From: Oleg Drokin These could only happen on the server, so they make no sense on the client. Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/include/lustre_disk.h | 3 --- drivers/staging/lustre/lustre/mgc/mgc_request.c | 8 drivers/staging/lustre/lustre/obdclass/obd

[PATCH v2 12/19] staging/lustre: Remove stray bit of userland utils code

2015-09-16 Thread green
From: Oleg Drokin The UTILS are userland and I see it's causing confusion with things beging already converted to kmalloc, so just remove it. Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/include/obd_support.h | 18 -- 1 file changed, 18 deletions(-) diff --git

[PATCH v2 17/19] staging/lustre: Remove IS_SERVER and all users

2015-09-16 Thread green
From: Oleg Drokin Since the client can never be server, this is all dead code. Signed-off-by: Oleg Drokin --- .../staging/lustre/lustre/include/lustre_disk.h| 2 - drivers/staging/lustre/lustre/mgc/mgc_request.c| 36 ++--- drivers/staging/lustre/lustre/obdclass/obd_mount.c | 85 ++

[PATCH v2 14/19] staging/lustre: Remove memory allocation fault injection framework

2015-09-16 Thread green
From: Oleg Drokin Lustre memory allocation wrappers also included a fault injection framework that's totally redundant, since in-kernel offering is actually superior to what we had. So let's remove it. Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/include/obd_support.h | 20 +---

[PATCH v2 06/19] staging/lustre/obdclass: replace OBD_ALLOC_GFP with kzalloc

2015-09-16 Thread green
From: Oleg Drokin Part of getting rid of custom Lustre allocation macros. Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/obdclass/cl_page.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/staging/lustre/lustre/obdclass/cl_page.c b/drivers/staging/lu

[PATCH v2 19/19] staging/lustre: Remove server defines from lustre_disk.h

2015-09-16 Thread green
From: Oleg Drokin Take initial stab at removing server-disk related defines that client does not need. Signed-off-by: Oleg Drokin --- .../staging/lustre/lustre/include/lustre_disk.h| 137 - .../staging/lustre/lustre/obdclass/llog_internal.h | 8 -- 2 files changed, 14

[PATCH v2 13/19] staging/lustre: Remove unused OBD_ALLOC* and OBD_FREE macros

2015-09-16 Thread green
From: Oleg Drokin This removes now unused OBD_ALLOC, OBD_ALLOC_GFP, OBD_ALLOC_PTR, OBD_ALLOC_LARGE and supporting infrastructure. Also OBD_FREE, OBD_FREE_PTR, OBD_FREE_LARGE and supporting infrastructure. Signed-off-by: Oleg Drokin --- .../staging/lustre/lustre/include/obd_support.h| 52 --

[PATCH v2 16/19] staging/lustre: remove obd_memory stats counter

2015-09-16 Thread green
From: Oleg Drokin Now that we no longer track allocated memory, remove obd_memory statistics counter and all references to it everywhere Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/include/obd_support.h| 7 --- drivers/staging/lustre/lustre/obdclass/class_obd.c |

[PATCH v2 15/19] staging/lustre: Remove lustre used memory tracking framework

2015-09-16 Thread green
From: Oleg Drokin Lustre memory allocation framework has a feature to track amount of allocated memory, but since it's not being used consistently anymore and is on the way out in general, just remove it. Signed-off-by: Oleg Drokin --- .../staging/lustre/lustre/include/obd_support.h| 60 +-

[PATCH v2 10/19] staging/lustre/ptlrpc: Replace OBD_FREE_PTR with kfree

2015-09-16 Thread green
From: Oleg Drokin Part of effort of getting rid of custom Lustre alloc/free macros Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/ptlrpc/ptlrpc_internal.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/lustre/lustre/ptlrpc/ptlrpc_internal.h b

[PATCH v2 11/19] staging/lustre: Replace last users of OBD_ALLOC/FREE_LARGE

2015-09-16 Thread green
From: Oleg Drokin OBD_ALLOC_LARGE is now replaced with libcfs_kvzalloc and OBD_FREE_LARGE is now replaced with kvfree. Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/include/lustre_lib.h | 2 +- drivers/staging/lustre/lustre/include/obd.h| 8 2 files changed, 5 i

[PATCH v2 07/19] staging/lustre: Remove references to OBD_ALLOC/FREE* in comments

2015-09-16 Thread green
From: Oleg Drokin Since everything is now supposed to use regular kernel alloc and free functions. Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/include/lustre_lib.h | 2 +- drivers/staging/lustre/lustre/include/lustre_net.h | 2 +- drivers/staging/lustre/lustre/llite/file.c

[PATCH v2 01/19] staging/lustre: Remove OBD_CPT_ALLOC_LARGE

2015-09-16 Thread green
From: Oleg Drokin Remove OBD_CPT_ALLOC_LARGE define and convert the only user to libcfs_kvzalloc_cpt. Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/include/obd_support.h | 5 - drivers/staging/lustre/lustre/ptlrpc/service.c | 6 -- 2 files changed, 4 insertions(+),

[PATCH v2 08/19] staging/lustre/fld: Replace OBD_ALLOC_GFP with kzalloc

2015-09-16 Thread green
From: Oleg Drokin Part of effort to get rid of custom Lustre allocation macros. Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/fld/fld_cache.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/lustre/lustre/fld/fld_cache.c b/drivers/staging/lust

[PATCH v2 04/19] staging/lustre: Remove users of OBD_ALLOC/FREE_PTR lu_object.h

2015-09-16 Thread green
From: Oleg Drokin These are converted to regular kzalloc/kfree calls. Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/include/lu_object.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/staging/lustre/lustre/include/lu_object.h b/drivers/staging/lu

[PATCH v2 03/19] staging/lustre: Remove unused OBD_CPT_ALLOC* macros

2015-09-16 Thread green
From: Oleg Drokin OBD_CPT_ALLOC and friends are no longer used, so remove them. Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/include/obd_support.h | 9 - 1 file changed, 9 deletions(-) diff --git a/drivers/staging/lustre/lustre/include/obd_support.h b/drivers/staging/

[PATCH v2 02/19] staging/lustre: Remove unused OBD_VMALLOC

2015-09-16 Thread green
From: Oleg Drokin These macros are not used anymore, so let's remove them, also __OBD_VMALLOC_VEROBSE and OBD_CPT_VMALLOC Signed-off-by: Oleg Drokin --- .../staging/lustre/lustre/include/obd_support.h| 29 -- 1 file changed, 29 deletions(-) diff --git a/drivers/staging

[PATCH v2 00/19] Lustre cleanups

2015-09-16 Thread green
From: Oleg Drokin This bunch of patches removes significant chunks of Lustre specific allocators which is possible thanks to prior patches from Julia Lawall. Also removed are some server-only bits of code that make no sense to retain in a client. Please consider. The v2 version fixes build erro

[PATCH 05/32] staging/lustre/lov: Remove unused lov_dump_lmm/pool()

2015-09-30 Thread green
From: Oleg Drokin These generic switch functions appear to be unused as all the individual ones are called directly. Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/lov/lov_internal.h | 2 -- drivers/staging/lustre/lustre/lov/lov_pack.c | 20 drivers/stag

[PATCH 02/32] staging/lustre: KEY_DEFAULT/MAX_COOKIESIZE key is unused, remove them

2015-09-30 Thread green
From: Oleg Drokin Also remove the lmv and mdc infrastructure to query these keys. In fact this whole "unlink cookies" thing becomes irrelevant with newer servers, but since we still retain 2.[123] servers commpatibility, we cannot completely remove all traces of it yet. Signed-off-by: Oleg Droki

[PATCH 00/32] Lustre (mostly locking) unused code removal

2015-09-30 Thread green
From: Oleg Drokin This continues the quest for killing unused code in the Lustre client. Main focus in this set is on Lustre LDLM code - it kills both outright unused code and code that looks like it's used, but in fact also unused as various conditions that would lead to it would only happen on

[PATCH 03/32] staging/lustre: Remove ununused ll_ra_read_get()

2015-09-30 Thread green
From: Oleg Drokin Also ll_ra_read_get_locked that was only used by it. Signed-off-by: Oleg Drokin --- .../staging/lustre/lustre/llite/llite_internal.h | 1 - drivers/staging/lustre/lustre/llite/rw.c | 24 -- 2 files changed, 25 deletions(-) diff --git a/driver

[PATCH 09/32] staging/lustre/ldlm: Remove ldlm_init/destroy_export()

2015-09-30 Thread green
From: Oleg Drokin These functions are used on the server-only, so get rid of them. Also get rid of ldlm export hash operations and the struct. Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/include/lustre_dlm.h | 2 - drivers/staging/lustre/lustre/ldlm/ldlm_lockd.c| 105 ---

[PATCH 26/32] staging/lustre: Remove ns_is_client()

2015-09-30 Thread green
From: Oleg Drokin Since staging tree code is just the client, ns_is_client is always true, so change all callers as such and drop all the dead code for when it's false. Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/include/lustre_dlm.h | 13 -- drivers/staging/lustre/lus

[PATCH 12/32] staging/lustre/ldlm: Remove unused ldlm_cli_enqueue_local()

2015-09-30 Thread green
From: Oleg Drokin This is only used on the server. Also while we are at it, remove unused prototypes for ldlm_server_ast and ldlm_handle_enqueue0() that are not defined anywhere Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/include/lustre_dlm.h | 15 - drivers/staging/lustre

[PATCH 04/32] staging/lustre/llite: Remove unused ll_rmdir_entry()

2015-09-30 Thread green
From: Oleg Drokin The ioctl for this function was removed, but the function was forgotten, so kill it now. Signed-off-by: Oleg Drokin --- .../staging/lustre/lustre/llite/llite_internal.h | 1 - drivers/staging/lustre/lustre/llite/namei.c| 28 -- 2 files changed,

[PATCH 11/32] staging/lustre/ldlm: Get rid of lr_converting queue

2015-09-30 Thread green
From: Oleg Drokin Now that we removed all the lock conversion functions, also get rid of the converson queue since nothing could ever get there anyway. Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/include/lustre_dlm.h | 2 -- drivers/staging/lustre/lustre/ldlm/ldlm_lock.c

[PATCH 01/32] staging/lustre/llite: Remove unused ll_get_default/max_cookiesize()

2015-09-30 Thread green
From: Oleg Drokin This was used for a function that's no longer important, but is no longer used anywhere. Signed-off-by: Oleg Drokin --- .../staging/lustre/lustre/llite/llite_internal.h | 2 -- drivers/staging/lustre/lustre/llite/llite_lib.c| 26 -- 2 files changed,

[PATCH 15/32] staging/lustre/ldlm: Remove ldlm_errno2error()

2015-09-30 Thread green
From: Oleg Drokin This particular incarnation is only used on the server. Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/include/lustre_dlm.h | 3 +- drivers/staging/lustre/lustre/ldlm/ldlm_lib.c | 36 -- 2 files changed, 1 insertion(+), 38 deletions(-)

[PATCH 18/32] staging/lustre/ldlm: Remove ldlm_namespace_free()

2015-09-30 Thread green
From: Oleg Drokin It was directly used only on the server. Client side part was split into smaller chunks to avoid deadlocks. Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/include/lustre_dlm.h | 2 -- drivers/staging/lustre/lustre/ldlm/ldlm_resource.c | 27 -

[PATCH 17/32] staging/lustre/ldlm: Remove ldlm_lock_fail_match()

2015-09-30 Thread green
From: Oleg Drokin It's not used anywhere. Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/include/lustre_dlm.h | 1 - drivers/staging/lustre/lustre/ldlm/ldlm_lock.c | 8 2 files changed, 9 deletions(-) diff --git a/drivers/staging/lustre/lustre/include/lustre_dlm.h

[PATCH 27/32] staging/lustre: Remove ns_is_server()

2015-09-30 Thread green
From: Oleg Drokin Since the code we have is Lustre-client only, this function always returns 0, so drop it and amend all the callsites to drop dead code. One of the places also sets LDLM_FL_NS_SRV to indicate a lock is in a server namespace. This too cannot happen in this code, so drop all such c

[PATCH 32/32] staging/lustre/ldlm: Make ldlm_add_ast_work_item() static

2015-09-30 Thread green
From: Oleg Drokin Now that ldlm_flock code no longer uses it. Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/ldlm/ldlm_internal.h | 2 -- drivers/staging/lustre/lustre/ldlm/ldlm_lock.c | 5 +++-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/staging/l

[PATCH 31/32] staging/lustre/ldlm: Remove posix lock (flock) deadlock detection

2015-09-30 Thread green
From: Oleg Drokin This is server-side code that cannot work on the client (vfs would do this check on the local node). Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/ldlm/ldlm_flock.c | 132 1 file changed, 132 deletions(-) diff --git a/drivers/staging/l

[PATCH 29/32] staging/lustre/ldlm: Remove unused exported symbols.

2015-09-30 Thread green
From: Oleg Drokin This rather large patch prunes all unused EXPORT_SYMBOLS and marks functions only used locally as static lustre ldlm module. The only two remaining nonstatic functions that should be static now are: ldlm_cancel_lru_local ldlm_resource_putref_locked But some bigger code shuffli

[PATCH 28/32] staging/lustre/ldlm: Remove server side code from pool support.

2015-09-30 Thread green
From: Oleg Drokin Server-side scanning is not really used in the client code, so it's ok to drop it. Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/include/lustre_dlm.h | 3 - drivers/staging/lustre/lustre/ldlm/ldlm_pool.c | 348 + 2 files changed, 13 in

[PATCH 30/32] staging/lustre/ldlm: Remove ldlm_namespace_inactive_list()

2015-09-30 Thread green
From: Oleg Drokin Since there are no server namespaces, just replace it with ldlm_cli_inactive_namespace_list pointer. Also make ldlm_cli_inactive_namespace_list static as it's only used in ldlm_resource.c Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/ldlm/ldlm_internal.h | 7 --

[PATCH 25/32] staging/lustre/ldlm: Remove unused ldlm_blocking_ast/_nocheck()

2015-09-30 Thread green
From: Oleg Drokin All users are gone, and they were used on the server anyway. Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/include/lustre_dlm.h | 3 - drivers/staging/lustre/lustre/ldlm/ldlm_request.c | 70 -- 2 files changed, 73 deletions(-) diff --git

[PATCH 22/32] staging/lustre/ldlm: Remove intent policies handler.

2015-09-30 Thread green
From: Oleg Drokin This includes ldlm_register_intent(), ns_policy field in the namespace and all of it's users, as this could only happen on the server. Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/include/lustre_dlm.h | 8 -- drivers/staging/lustre/lustre/ldlm/ldlm_lock.c

[PATCH 24/32] staging/lustre/ldlm: Remove unused ldlm_resource_insert_lock_after()

2015-09-30 Thread green
From: Oleg Drokin It was only used on the server. Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/ldlm/ldlm_internal.h | 2 -- drivers/staging/lustre/lustre/ldlm/ldlm_resource.c | 26 -- 2 files changed, 28 deletions(-) diff --git a/drivers/staging/lustre/lus

[PATCH 21/32] staging/lustre/ldlm: Remove ldlm_refresh/del_waiting_lock()

2015-09-30 Thread green
From: Oleg Drokin Nothing adds locks into waiting list on the client, so no point in retaining those. Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/include/lustre_dlm.h | 2 -- drivers/staging/lustre/lustre/ldlm/ldlm_lock.c | 8 drivers/staging/lustre/lustre/ldlm/

[PATCH 06/32] staging/lustre/lov: Remove unused lov_lsm_decref()

2015-09-30 Thread green
From: Oleg Drokin Also lov_lsm_addref is only used in the file it is defined, so make it static Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/lov/lov_cl_internal.h | 3 --- drivers/staging/lustre/lustre/lov/lov_object.c | 13 + 2 files changed, 1 insertion(+),

[PATCH 23/32] staging/lustre/ldlm: Remove unused ldlm_reprocess_all*()

2015-09-30 Thread green
From: Oleg Drokin They are only used on the server. Also remove helper functions and cleanup callsites. Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/include/lustre_dlm.h | 2 - drivers/staging/lustre/lustre/ldlm/ldlm_flock.c| 1 - drivers/staging/lustre/lustre/ldlm/ldlm_l

[PATCH 20/32] staging/lustre/ldlm: Remove unused ldlm_pool_set_slv()

2015-09-30 Thread green
From: Oleg Drokin Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/include/lustre_dlm.h | 1 - drivers/staging/lustre/lustre/ldlm/ldlm_pool.c | 13 - 2 files changed, 14 deletions(-) diff --git a/drivers/staging/lustre/lustre/include/lustre_dlm.h b/drivers/staging

[PATCH 19/32] staging/lustre/ldlm: Remove unused ldlm_pool_get_clv()

2015-09-30 Thread green
From: Oleg Drokin Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/include/lustre_dlm.h | 1 - drivers/staging/lustre/lustre/ldlm/ldlm_pool.c | 16 2 files changed, 17 deletions(-) diff --git a/drivers/staging/lustre/lustre/include/lustre_dlm.h b/drivers/stag

[PATCH 16/32] staging/lustre/ldlm: Remove ldlm_glimpse_ast()

2015-09-30 Thread green
From: Oleg Drokin Only used on the server. Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/include/lustre_dlm.h | 1 - drivers/staging/lustre/lustre/ldlm/ldlm_request.c | 28 -- 2 files changed, 29 deletions(-) diff --git a/drivers/staging/lustre/lustre/incl

[PATCH 13/32] staging/lustre/ldlm: Remove unused ldlm_init/fini_flock_export

2015-09-30 Thread green
From: Oleg Drokin And all supporting export infrastructure. There's no use for it all on client. Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/ldlm/ldlm_flock.c| 102 - drivers/staging/lustre/lustre/ldlm/ldlm_internal.h | 2 - 2 files changed, 104 delet

[PATCH 10/32] staging/lustre/ldlm: Remove unimplemented lock conversion traces.

2015-09-30 Thread green
From: Oleg Drokin Lock conversion is not really implemented, so let's stop pretending here. This removes ldlm_lock_convert, ldlm_cli_lock_convert and ldlm_lock_downgrade. Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/include/lustre_dlm.h | 4 - drivers/staging/lustre/lustre/ld

[PATCH 14/32] staging/lustre/ldlm: Remove unused ldlm_enqueue_pack()

2015-09-30 Thread green
From: Oleg Drokin Not used anywhere Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/include/lustre_dlm.h | 1 - drivers/staging/lustre/lustre/ldlm/ldlm_request.c | 21 - 2 files changed, 22 deletions(-) diff --git a/drivers/staging/lustre/lustre/include/lust

[PATCH 07/32] staging/lustre/ldlm: Remove unused interval tree bits

2015-09-30 Thread green
From: Oleg Drokin On client side interval-tree code operations are pretty basic, so get rid of the code that is only used on the server to figure out how much to extend the locks and such. Signed-off-by: Oleg Drokin --- .../staging/lustre/lustre/include/interval_tree.h | 36 --- drivers/stag

[PATCH 08/32] staging/lustre/ldlm: Remove unused ldlm_cancel_locks_for_exports()

2015-09-30 Thread green
From: Oleg Drokin This is only used on the server in case a client gets disconnected. Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/ldlm/ldlm_internal.h | 2 - drivers/staging/lustre/lustre/ldlm/ldlm_lock.c | 50 -- 2 files changed, 52 deletions(-) diff

[PATCH] Allow d_splice_alias to accept hashed dentries

2016-06-02 Thread green
From: Oleg Drokin The comment at the top of the function already permits it, just take out the assetrtion and update __d_add to be aware of this. Move the BUG_ON to d_add which is the other user of __d_add and presumably we do not want to allow hashed dentries as input there. Signed-off-by: Oleg

[RESEND] [PATCH] mm: Do not discard partial pages with POSIX_FADV_DONTNEED

2016-06-02 Thread green
From: Oleg Drokin I noticed that if the logic in fadvise64_64 syscall is incorrect for partial pages. While first page of the region is correctly skipped if it is partial, the last page of the region is mistakenly discarded. This leads to problems for applications that read data in non-page-align

[PATCH] nfs4: Fix potential use after free of state in nfs4_do_reclaim.

2016-06-04 Thread green
From: Oleg Drokin Commit e8d975e73e5f ("fixing infinite OPEN loop in 4.0 stateid recovery") introduced access to state after it was just potentially freed by nfs4_put_open_state leading to a random data corruption somewhere. BUG: unable to handle kernel paging request at 88004941ee40 IP: []

[PATCH 3/4] staging/lustre/osc: Remove ops_temp from osc_page

2016-06-05 Thread green
From: Oleg Drokin It's no longer used and never set anywhere. Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/osc/osc_cl_internal.h | 5 - drivers/staging/lustre/lustre/osc/osc_page.c| 2 +- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/drivers/staging/

[PATCH 4/4] staging/lustre/osc: Get rid of osc_page_protected()

2016-06-05 Thread green
From: Oleg Drokin There was a proper debugging function by that name that's long gone. The currently remaining shadow that always returns true is not really useful so it could be dropped along with all the asserts it is part of. Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/osc/

[PATCH 2/4] staging/lustre/llite: define per open file cache for ll_cl_context

2016-06-05 Thread green
From: Jinshan Xiong In ll_readpage and ll_write_begin, it needs to find out the cl_env and cl_io, a.k.a ll_cl_context, when the IO is initialized. It used to call cl_env_get() to figure it out but turned out to be contended if multiple threads are doing IO. In this patch, a per open file ll_cl_c

[PATCH 1/4] staging/lustre/lov: calculate file offset correctly

2016-06-05 Thread green
From: Jinshan Xiong In lov_stripe_pgoff(), it calls lov_stripe_size() to calculate the file size by ost_size, which will be wrong if the stripe_index happens to be stripe aligned. Signed-off-by: Jinshan Xiong Reviewed-on: http://review.whamcloud.com/14462 Intel-bug-id: https://jira.hpdd.intel.c

[PATCH 0/4] Lustre fixes and cleanups

2016-06-05 Thread green
From: Oleg Drokin Here are a few more Lustre fixes and cleanups. Jinshan Xiong (2): staging/lustre/lov: calculate file offset correctly staging/lustre/llite: define per open file cache for ll_cl_context Oleg Drokin (2): staging/lustre/osc: Remove ops_temp from osc_page staging/lustre/os

[PATCH 03/56] staging/lustre: Get rid of loc_flags_t typedef

2016-02-22 Thread green
From: Oleg Drokin Replace it with direct reference of enum loc_flags Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/include/lu_object.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/staging/lustre/lustre/include/lu_object.h b/drivers/staging/l

[PATCH 13/56] staging/lustre: Get rid of llog_op_type typedef

2016-02-22 Thread green
From: Oleg Drokin Replace with enum llog_op_type Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/include/lustre/lustre_idl.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/staging/lustre/lustre/include/lustre/lustre_idl.h b/drivers/staging/lustre/

[PATCH 16/56] staging/lustre: Get rid of object update code

2016-02-22 Thread green
From: Oleg Drokin Object update was originally planned to be used for cross-server updates, so nothing to do with the client. The idea was later significantly reworked anyway so even wire structs should not be retained. This gets rid of update_cmd_t, UPDATE and UPDATE_REPLY rpc and corresponding

[PATCH 23/56] staging/lustre/llite: Get rid of se_stat_t typedef

2016-02-22 Thread green
From: Oleg Drokin Replace it with enum se_stat Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/llite/statahead.c | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/staging/lustre/lustre/llite/statahead.c b/drivers/staging/lustre/lustre/llite/st

<    1   2   3   4   5   6   7   8   9   10   >