From: Jinshan Xiong
This change adds support for a single preallocated cl_env per CPU
which can be used in circumstances where reschedule is not possible.
Currently this interface is only used by the ll_releasepage function.
Signed-off-by: Jinshan Xiong
Signed-off-by: Prakash Surya
Reviewed-on
From: Oleg Drokin
CFS_PAGE_MASK is the same as PAGE_MASK, so get rid of it.
We are replacing it with PAGE_MASK instead of PAGE_CACHE_MASK
because PAGE_CACHE_* stuff is apparently going away.
Signed-off-by: Oleg Drokin
---
.../lustre/include/linux/libcfs/linux/linux-mem.h | 1 -
.../lustre/l
From: Oleg Drokin
Allocating a big hash table using the formula for osd
does not really work for clients. We will create new
hash table for each mount on a single client which is
a lot of memory more than expected.
This patch limits the hash table up to 8M which has
524288 entries
Signed-off-by
From: Jinshan Xiong
in ll_write_end(), instead of adding the page into writeback
cache directly, it will be held in a page list. After enough
pages have been collected, issue them all with cio_commit_async().
Signed-off-by: Jinshan Xiong
Reviewed-on: http://review.whamcloud.com/7893
Intel-bug-i
From: "John L. Hammond"
Move the contents of struct vvp_io into struct ccc_io, delete the
former, and rename the latter to struct vvp_io. Rename various ccc_io
related functions to use vvp rather than ccc.
Signed-off-by: John L. Hammond
Reviewed-on: http://review.whamcloud.com/13351
Intel-bug-i
From: John Hammond
struct ccc_thread_info is used in the VVP parts of llite so rename
it struct vvp_thread_info. Rename supporting functions accordingly.
Move init code from lcommon_cl.c to vvp_dev.c
Signed-off-by: John L. Hammond
Signed-off-by: Jinshan Xiong
Reviewed-on: http://review.whamclo
From: Oleg Drokin
ll_dirent_type_get is only used in one place in llite/dir.c,
so move it there.
Signed-off-by: Oleg Drokin
---
drivers/staging/lustre/lustre/llite/dir.c | 22 ++
drivers/staging/lustre/lustre/llite/lcommon_cl.c | 22 --
driver
From: John Hammond
Merge their contents into vvp_global_{init,fini}() and
{init,exit}_lustre_lite().
Rename ccc_inode_fini_* to cl_inode_fini_*.
Signed-off-by: John L. Hammond
Signed-off-by: Jinshan Xiong
Reviewed-on: http://review.whamcloud.com/13714
Intel-bug-id: https://jira.hpdd.intel.com/
From: Bobi Jam
Update comments to reflect current cl_lock situations.
Signed-off-by: Bobi Jam
Reviewed-on: http://review.whamcloud.com/13137
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6046
Reviewed-by: John L. Hammond
Reviewed-by: Jinshan Xiong
Signed-off-by: Oleg Drokin
---
driver
From: Jinshan Xiong
Use weigh_ast to decide if a lock covers any pages.
In recovery, weigh_ast will be used to decide if a DLM read lock
covers any locked pages, or it will be canceled instead being
recovered.
The problem with the original implementation is that it attached
each osc_page to an o
From: Oleg Drokin
This was a compat code from the time we had ia_attr_flags.
Instead convert all the cryptic callers that did
((struct ll_iattr *)&op_data->op_attr)->ia_attr_flags into
direct access to op_data->op_attr_flags
This also makes lustre/include/linux/obd.h not needed anymore,
so remov
From: John Hammond
Move several declarations between llite_internal.h and vvp_internal.h
with the goal of reserving the latter header for functions that
pertain to vvp_{device,object,page,...}.
Signed-off-by: John L. Hammond
Signed-off-by: Jinshan Xiong
Reviewed-on: http://review.whamcloud.com
From: Niu Yawei
The changes to ldlm_cancel_aged_policy() introduced from LU-4300
was incorrect. This patch revert this part of changes.
Signed-off-by: Niu Yawei
Reviewed-on: http://review.whamcloud.com/12448
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5727
Reviewed-by: Bobi Jam
Reviewe
From: Jinshan Xiong
Change the policy of ELC to pick locks that have no dirty pages,
no page in writeback state, and no locked pages.
Signed-off-by: Jinshan Xiong
Reviewed-on: http://review.whamcloud.com/9175
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4300
Reviewed-by: Andreas Dilger
From: "John L. Hammond"
Rename members of struct vvp_io to used to start with vui_ rather than
cui_. Rename several instances of struct vvp_io * from cio to vio.
Signed-off-by: John L. Hammond
Reviewed-on: http://review.whamcloud.com/13363
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-59
From: John Hammond
struct vvp_thread_info is used in the non-VVP parts of llite so rename
it struct ll_thread_info. Rename supporting functions accordingly.
Signed-off-by: John L. Hammond
Signed-off-by: Jinshan Xiong
Reviewed-on: http://review.whamcloud.com/13714
Intel-bug-id: https://jira.hpd
From: Vitaly Fertman
after LU-4300 enqueue does not ELC anymore, however if enqueue is
agressive (ls -la of a large dir) we may exceed lru-resize limit
quickly because LRUR shrinker and recalc are called not so often.
ELC is to be restored in enqueue.
ELC also should check for the lock weight, i
From: Oleg Drokin
vvp_io_setattr_lock is the only user that sets it, but it's
never checked anywhere, so could go away.
Also get rid of enum ccc_setattr_lock_type that becomes unused.
Signed-off-by: Oleg Drokin
---
drivers/staging/lustre/lustre/llite/vvp_internal.h | 12
drivers/s
From: "John L. Hammond"
Move all vvp_io related functions from lustre/llite/lcommon_cl.c to
the sole file where they are used lustre/llite/vvp_io.c.
Signed-off-by: John L. Hammond
Reviewed-on: http://review.whamcloud.com/13376
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5971
Reviewed-by
From: Jinshan Xiong
To make cl_sync_io interfaces not just wait for pages, but to be
a generic synchronization mechanism.
Also remove cl_io_cancel that became not used.
Signed-off-by: Jinshan Xiong
Reviewed-on: http://review.whamcloud.com/8656
Intel-bug-id: https://jira.hpdd.intel.com/browse/L
From: "John L. Hammond"
Move the definition of struct cl_client_cache to
lustre/include/cl_object.h and move the rest of
lustre/include/lclient.h in to lustre/llite/vvp_internal.h.
Signed-off-by: John L. Hammond
Reviewed-on: http://review.whamcloud.com/12592
Intel-bug-id: https://jira.hpdd.inte
From: "John L. Hammond"
In llite remove the wrapper functions and macros:
cl_i2info()
cl_i2sbi()
cl_iattr2fd()
cl_inode_info
cl_inode_mode()
cl_inode_{a,m,c}time()
cl_isize_{read,write,write_nolock}()
Signed-off-by: John L. Hammond
Reviewed-on: http://review.whamcloud.com/12850
In
From: "John L. Hammond"
Rename struct ccc_lock to struct vvp_lock and merge the CCC lock
methods into the VVP lock methods.
Signed-off-by: John L. Hammond
Reviewed-on: http://review.whamcloud.com/13088
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5971
Reviewed-by: James Simmons
Reviewed
From: "John L. Hammond"
Rename struct ccc_device to struct vvp_device and merge the CCC device
methods into the VVP device methods.
Signed-off-by: John L. Hammond
Reviewed-on: http://review.whamcloud.com/13075
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5971
Reviewed-by: Lai Siyao
Revi
From: "John L. Hammond"
Remove the definition of struct client_obd_lock and the functions
client_obd_list_{init,lock,unlock,done}(). Use spinlock_t for the
cl_{loi,lru}_list_lock members of struct client_obd and call
spin_{lock,unlock}() directly.
Signed-off-by: John L. Hammond
Signed-off-by: O
From: Jinshan Xiong
Writing thread already locked page #1, and then wait for the
Writeback bit of page #2;
Ptlrpc thread is composing a write RPC, so it sets Writeback on
page #2 and tries to lock page #1 to make it ready.
Deadlocked.
Signed-off-by: Jinshan Xiong
Reviewed-on: http://review.wh
From: Jinshan Xiong
The original code was wrong which clipped page incorrectly for
partial pages started with zero.
Signed-off-by: Jinshan Xiong
Reviewed-on: http://review.whamcloud.com/8531
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4201
Reviewed-by: Andreas Dilger
Reviewed-by: wangd
From: "John L. Hammond"
Rename struct ccc_page to struct vvp_page and remove obsolete CCC page
methods.
Signed-off-by: John L. Hammond
Reviewed-on: http://review.whamcloud.com/13086
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5971
Reviewed-by: James Simmons
Reviewed-by: Jinshan Xiong
From: "John L. Hammond"
Rename struct ccc_object to struct vvp_object and merge the CCC object
methods into the VVP object methods.
Signed-off-by: John L. Hammond
Reviewed-on: http://review.whamcloud.com/13077
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5971
Reviewed-by: James Simmons
From: Li Dongyang
When we are doing a partial IO on both first and last page,
the logic currently only call cl_page_clip on the first page, which
will end up with a incorrect i_size.
Signed-off-by: Li Dongyang
Reviewed-on: http://review.whamcloud.com/11630
Intel-bug-id: https://jira.hpdd.intel.
From: "John L. Hammond"
Ever since removal of the the unused function ll_ra_read_get(),
the struct ll_ra_read members lrr_reader and lrr_linkage and
the struct ll_readahead_state member ras_read_beads unnecessary
so remove them.
In struct vvp_io replace the struct ll_ra_read cui_bead member with
From: "John L. Hammond"
Rename struct ccc_req to struct vvp_req and move related functions
from lustre/llite/lcommon_cl.c to the new file lustre/llite/vvp_req.c.
Signed-off-by: John L. Hammond
Reviewed-on: http://review.whamcloud.com/13377
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-597
From: John Hammond
And move the definition from vvp_internal.h to llite_internal.h.
Signed-off-by: John L. Hammond
Signed-off-by: Jinshan Xiong
Reviewed-on: http://review.whamcloud.com/13714
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5971
Reviewed-by: Bobi Jam
Reviewed-by: James Simm
From: Jinshan Xiong
This reverts a patch that was merged before lustre client
was introduced into the staging tree, so it's not in the history.
The performance dropped a lot when memory reclaim process kicked
in as ll_releasepage() was called to destroy lustre pages. It turned
out that big overh
From: "John L. Hammond"
Separate lclient was necessary to be shared between
different client implementations, make no sense to have
them separate in Linux kernel.
Signed-off-by: John L. Hammond
Based-on: http://review.whamcloud.com/10171
Signed-off-by: Oleg Drokin
---
drivers/staging/lustre/l
From: Jinshan Xiong
It used to check each page in the readahead window is covered by
a lock underneath, now cpo_page_is_under_lock() provides @max_index
to help decide the maximum ra window. @max_index can be modified by
OSC to extend the maximum lock region, to align stripe boundary at
LOV, and
From: Jinshan Xiong
>From now on, cl_page becomes one to one mapping of vmpage.
Signed-off-by: Jinshan Xiong
Reviewed-on: http://review.whamcloud.com/7895
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-3321
Reviewed-by: Bobi Jam
Reviewed-by: Lai Siyao
Signed-off-by: Oleg Drokin
---
dri
From: "John L. Hammond"
In struct lmv_obd rename the init_mutex member to
lmv_init_mutex. Remove the compat macros lmv_init_{lock,unlock}() and
use mutex_{lock,unlock}(&lmv->lmv_init_mutex) instead.
Signed-off-by: John L. Hammond
Reviewed-on: http://review.whamcloud.com/12115
Intel-bug-id: http
From: Jinshan Xiong
This way we can drop it async.
Signed-off-by: Jinshan Xiong
Reviewed-on: http://review.whamcloud.com/7891
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-3321
Reviewed-by: Lai Siyao
Reviewed-by: Bobi Jam
Signed-off-by: Oleg Drokin
---
drivers/staging/lustre/lustre/in
From: Jinshan Xiong
Move radix tree to osc layer too for performance improvement.
Signed-off-by: Jinshan Xiong
Reviewed-on: http://review.whamcloud.com/7892
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-3321
Reviewed-by: Lai Siyao
Reviewed-by: Bobi Jam
Signed-off-by: Oleg Drokin
---
d
From: Jinshan Xiong
Add and discard pages from LRU in batch.
Signed-off-by: Jinshan Xiong
Reviewed-on: http://review.whamcloud.com/7890
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-3321
Reviewed-by: Niu Yawei
Reviewed-by: Lai Siyao
Signed-off-by: Oleg Drokin
---
drivers/staging/lustr
From: "John L. Hammond"
In struct ll_inode_info remove the struct ost_lvb lli_lvb member and
replace it with s64 lli_{a,m,c}time. Rename ll_merge_lvb() to
ll_merge_attr(). Remove cl_merge_lvb() and replace calls to it with
calls to ll_merge_attr().
Signed-off-by: John L. Hammond
Reviewed-on: ht
From: Jinshan Xiong
This way we can drop it async.
Signed-off-by: Jinshan Xiong
Reviewed-on: http://review.whamcloud.com/7891
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-3321
Reviewed-by: Lai Siyao
Reviewed-by: Bobi Jam
Signed-off-by: Oleg Drokin
---
drivers/staging/lustre/lustre/in
From: Oleg Drokin
v2 due to a compile error that was accidentally introduced
in one of the patches. Also added a few more fixes and cleanups
as three additional patches at the end of the series.
This large body of patches mostly deals with Lustre IO stack
simplifications and related cleanups.
In
From: Jinshan Xiong
This reverts a patch that was merged before lustre client
was introduced into the stagign tree, so it's not in the history.
The performance dropped a lot when memory reclaim process kicked
in as ll_releasepage() was called to destroy lustre pages. It turned
out that big overh
From: Jinshan Xiong
Move radix tree to osc layer to for performance improvement.
Signed-off-by: Jinshan Xiong
Reviewed-on: http://review.whamcloud.com/7892
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-3321
Reviewed-by: Lai Siyao
Reviewed-by: Bobi Jam
Signed-off-by: Oleg Drokin
---
dr
From: Oleg Drokin
This fixes the remaining occurences of checkpatch warnings
of the form of
WARNING: space prohibited between function name and open parenthesis '('
Signed-off-by: Oleg Drokin
---
drivers/staging/lustre/lustre/include/lu_object.h | 64 +++---
.../lustre/lustre/
From: "John L. Hammond"
Ever since removal of the the unused function ll_ra_read_get(),
the struct ll_ra_read members lrr_reader and lrr_linkage and
the struct ll_readahead_state member ras_read_beads unnecessary
so remove them.
In struct vvp_io replace the struct ll_ra_read cui_bead member with
From: John Hammond
struct ccc_thread_info is used in the VVP parts of llite so rename
it struct vvp_thread_info. Rename supporting functions accordingly.
Move init code from lcommon_cl.c to vvp_dev.c
Signed-off-by: John L. Hammond
Signed-off-by: Jinshan Xiong
Reviewed-on: http://review.whamclo
From: John Hammond
Move several declarations between llite_internal.h and vvp_internal.h
with the goal of reserving the latter header for functions that
pertain to vvp_{device,object,page,...}.
Signed-off-by: John L. Hammond
Signed-off-by: Jinshan Xiong
Reviewed-on: http://review.whamcloud.com
From: Oleg Drokin
vvp_io_setattr_lock is the only user that sets it, but it's
never checked anywhere, so could go away.
Also get rid of enum ccc_setattr_lock_type that becomes unused.
Signed-off-by: Oleg Drokin
---
drivers/staging/lustre/lustre/llite/vvp_internal.h | 12
drivers/s
From: "John L. Hammond"
Move the contents of struct vvp_io into struct ccc_io, delete the
former, and rename the latter to struct vvp_io. Rename various ccc_io
related functions to use vvp rather than ccc.
Signed-off-by: John L. Hammond
Reviewed-on: http://review.whamcloud.com/13351
Intel-bug-i
From: Bobi Jam
Update comments to reflect current cl_lock situations.
Signed-off-by: Bobi Jam
Reviewed-on: http://review.whamcloud.com/13137
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6046
Reviewed-by: John L. Hammond
Reviewed-by: Jinshan Xiong
Signed-off-by: Oleg Drokin
---
driver
From: John Hammond
Merge their contents into vvp_global_{init,fini}() and
{init,exit}_lustre_lite().
Rename ccc_inode_fini_* to cl_inode_fini_*.
Signed-off-by: John L. Hammond
Signed-off-by: Jinshan Xiong
Reviewed-on: http://review.whamcloud.com/13714
Intel-bug-id: https://jira.hpdd.intel.com/
From: Jinshan Xiong
Use weigh_ast to decide if a lock covers any pages.
In recovery, weigh_ast will be used to decide if a DLM read lock
covers any locked pages, or it will be canceled instead being
recovered.
The problem with the original implementation is that it attached
each osc_page to an o
From: "John L. Hammond"
Remove the definition of struct client_obd_lock and the functions
client_obd_list_{init,lock,unlock,done}(). Use spinlock_t for the
cl_{loi,lru}_list_lock members of struct client_obd and call
spin_{lock,unlock}() directly.
Signed-off-by: John L. Hammond
Signed-off-by: O
From: Vitaly Fertman
This patch solves a race condition that the lock may be used again
after LRU cancellation policy check. In that case, the lock may have
locked or dirty pages that makes the policy check totally useless.
The problem is solved by checking l_last_used at cancellation time
theref
From: Jinshan Xiong
Change the policy of ELC to pick locks that have no dirty pages,
no page in writeback state, and no locked pages.
Signed-off-by: Jinshan Xiong
Reviewed-on: http://review.whamcloud.com/9175
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4300
Reviewed-by: Andreas Dilger
From: Bobi Jam
lov_io_init_empty/release() should returns error code instead of
true on error case.
Fault IO needs to handle restart in the case of accessing HSM released
file
Signed-off-by: Bobi Jam
Reviewed-on: http://review.whamcloud.com/17240
Intel-bug-id: https://jira.hpdd.intel.com/brows
From: Vitaly Fertman
after LU-4300 enqueue does not ELC anymore, however if enqueue is
agressive (ls -la of a large dir) we may exceed lru-resize limit
quickly because LRUR shrinker and recalc are called not so often.
ELC is to be restored in enqueue.
ELC also should check for the lock weight, i
From: Oleg Drokin
ll_dirent_type_get is only used in one place in llite/dir.c,
so move it there.
Signed-off-by: Oleg Drokin
---
drivers/staging/lustre/lustre/llite/dir.c | 22 ++
drivers/staging/lustre/lustre/llite/lcommon_cl.c | 22 --
driver
From: Niu Yawei
The changes to ldlm_cancel_aged_policy() introduced from LU-4300
was incorrect. This patch revert this part of changes.
Signed-off-by: Niu Yawei
Reviewed-on: http://review.whamcloud.com/12448
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5727
Reviewed-by: Bobi Jam
Reviewe
From: "John L. Hammond"
Rename struct ccc_device to struct vvp_device and merge the CCC device
methods into the VVP device methods.
Signed-off-by: John L. Hammond
Reviewed-on: http://review.whamcloud.com/13075
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5971
Reviewed-by: Lai Siyao
Revi
From: "John L. Hammond"
Rename struct ccc_req to struct vvp_req and move related functions
from lustre/llite/lcommon_cl.c to the new file lustre/llite/vvp_req.c.
Signed-off-by: John L. Hammond
Reviewed-on: http://review.whamcloud.com/13377
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-597
From: John Hammond
struct vvp_thread_info is used in the non-VVP parts of llite so rename
it struct ll_thread_info. Rename supporting functions accordingly.
Signed-off-by: John L. Hammond
Signed-off-by: Jinshan Xiong
Reviewed-on: http://review.whamcloud.com/13714
Intel-bug-id: https://jira.hpd
From: "John L. Hammond"
Rename struct ccc_object to struct vvp_object and merge the CCC object
methods into the VVP object methods.
Signed-off-by: John L. Hammond
Reviewed-on: http://review.whamcloud.com/13077
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5971
Reviewed-by: James Simmons
From: John Hammond
And move the definition from vvp_internal.h to llite_internal.h.
Signed-off-by: John L. Hammond
Signed-off-by: Jinshan Xiong
Reviewed-on: http://review.whamcloud.com/13714
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5971
Reviewed-by: Bobi Jam
Reviewed-by: James Simm
From: "John L. Hammond"
Move all vvp_io related functions from lustre/llite/lcommon_cl.c to
the sole file where they are used lustre/llite/vvp_io.c.
Signed-off-by: John L. Hammond
Reviewed-on: http://review.whamcloud.com/13376
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5971
Reviewed-by
From: "John L. Hammond"
Rename members of struct vvp_io to used to start with vui_ rather than
cui_. Rename several instances of struct vvp_io * from cio to vio.
Signed-off-by: John L. Hammond
Reviewed-on: http://review.whamcloud.com/13363
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-59
From: Li Dongyang
When we are doing a partial IO on both first and last page,
the logic currently only call cl_page_clip on the first page, which
will end up with a incorrect i_size.
Signed-off-by: Li Dongyang
Reviewed-on: http://review.whamcloud.com/11630
Intel-bug-id: https://jira.hpdd.intel.
From: "John L. Hammond"
Rename struct ccc_lock to struct vvp_lock and merge the CCC lock
methods into the VVP lock methods.
Signed-off-by: John L. Hammond
Reviewed-on: http://review.whamcloud.com/13088
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5971
Reviewed-by: James Simmons
Reviewed
From: "John L. Hammond"
Move the definition of struct cl_client_cache to
lustre/include/cl_object.h and move the rest of
lustre/include/lclient.h in to lustre/llite/vvp_internal.h.
Signed-off-by: John L. Hammond
Reviewed-on: http://review.whamcloud.com/12592
Intel-bug-id: https://jira.hpdd.inte
From: Jinshan Xiong
The original code was wrong which clipped page incorrectly for
partial pages started with zero.
Signed-off-by: Jinshan Xiong
Reviewed-on: http://review.whamcloud.com/8531
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4201
Reviewed-by: Andreas Dilger
Reviewed-by: wangd
From: Jinshan Xiong
Writing thread already locked page #1, and then wait for the
Writeback bit of page #2;
Ptlrpc thread is composing a write RPC, so it sets Writeback on
page #2 and tries to lock page #1 to make it ready.
Deadlocked.
Signed-off-by: Jinshan Xiong
Reviewed-on: http://review.wh
From: "John L. Hammond"
In llite remove the wrapper functions and macros:
cl_i2info()
cl_i2sbi()
cl_iattr2fd()
cl_inode_info
cl_inode_mode()
cl_inode_{a,m,c}time()
cl_isize_{read,write,write_nolock}()
Signed-off-by: John L. Hammond
Reviewed-on: http://review.whamcloud.com/12850
In
From: "John L. Hammond"
Rename struct ccc_page to struct vvp_page and remove obsolete CCC page
methods.
Signed-off-by: John L. Hammond
Reviewed-on: http://review.whamcloud.com/13086
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5971
Reviewed-by: James Simmons
Reviewed-by: Jinshan Xiong
From: Jinshan Xiong
This change adds support for a single preallocated cl_env per CPU
which can be used in circumstances where reschedule is not possible.
Currently this interface is only used by the ll_releasepage function.
Signed-off-by: Jinshan Xiong
Signed-off-by: Prakash Surya
Reviewed-on
From: Jinshan Xiong
To make cl_sync_io interfaces not just wait for pages, but to be
a generic synchronization mechanism.
Also remove cl_io_cancel that became not used.
Signed-off-by: Jinshan Xiong
Reviewed-on: http://review.whamcloud.com/8656
Intel-bug-id: https://jira.hpdd.intel.com/browse/L
From: "John L. Hammond"
In struct lmv_obd rename the init_mutex member to
lmv_init_mutex. Remove the compat macros lmv_init_{lock,unlock}() and
use mutex_{lock,unlock}(&lmv->lmv_init_mutex) instead.
Signed-off-by: John L. Hammond
Reviewed-on: http://review.whamcloud.com/12115
Intel-bug-id: http
From: "John L. Hammond"
In struct ll_inode_info remove the struct ost_lvb lli_lvb member and
replace it with obd_time lli_{a,m,c}time. Rename ll_merge_lvb() to
ll_merge_attr(). Remove cl_merge_lvb() and replace calls to it with
calls to ll_merge_attr().
Signed-off-by: John L. Hammond
Reviewed-o
From: Jinshan Xiong
>From now on, cl_page becomes one to one mapping of vmpage.
Signed-off-by: Jinshan Xiong
Reviewed-on: http://review.whamcloud.com/7895
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-3321
Reviewed-by: Bobi Jam
Reviewed-by: Lai Siyao
Signed-off-by: Oleg Drokin
---
dri
From: Oleg Drokin
This was a compat code from the time it had ia_attr_flags.
Instead convert all the cryptic callers that did
((struct ll_iattr *)&op_data->op_attr)->ia_attr_flags into
direct access to op_data->op_attr_flags
This also makes lustre/include/linux/obd.h not needed anymore,
so remov
From: Jinshan Xiong
in ll_write_end(), instead of adding the page into writeback
cache directly, it will be held in a page list. After enough
pages have been collected, issue them all with cio_commit_async().
Signed-off-by: Jinshan Xiong
Reviewed-on: http://review.whamcloud.com/7893
Intel-bug-i
From: Jinshan Xiong
It used to check each page in the readahead window is covered by
a lock underneath, now cpo_page_is_under_lock() provides @max_index
to help decide the maximum ra window. @max_index can be modified by
OSC to extend the maximum lock region, to align stripe boundary at
LOV, and
From: Oleg Drokin
Allocating a big hash table using the formula for osd
does not really work for clients. We will create new
hash table for each mount on a single client which is
a lot of memory more than expected.
This patch limits the hash table up to 8M which has
524288 entries
Signed-off-by
From: Oleg Drokin
CFS_PAGE_MASK is the same as PAGE_MASK, so get rid of it.
We are replacing it with PAGE_MASK instead of PAGE_CACHE_MASK
because PAGE_CACHE_* stuff is apparently going away.
Signed-off-by: Oleg Drokin
---
.../lustre/include/linux/libcfs/linux/linux-mem.h | 1 -
.../lustre/l
From: "John L. Hammond"
Separate lclient was necessary to be shared between
different client implementations, make no sense to have
them separate in Linux kernel.
Signed-off-by: John L. Hammond
Based-on: http://review.whamcloud.com/10171
Signed-off-by: Oleg Drokin
---
drivers/staging/lustre/l
From: Jinshan Xiong
Add and discard pages from LRU in batch.
Signed-off-by: Jinshan Xiong
Reviewed-on: http://review.whamcloud.com/7890
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-3321
Reviewed-by: Niu Yawei
Reviewed-by: Lai Siyao
Signed-off-by: Oleg Drokin
---
drivers/staging/lustr
From: Oleg Drokin
Directly use enum ldlm_policy_res everywhere.
Signed-off-by: Oleg Drokin
---
drivers/staging/lustre/lustre/ldlm/ldlm_internal.h | 2 -
drivers/staging/lustre/lustre/ldlm/ldlm_request.c | 49 +++---
2 files changed, 24 insertions(+), 27 deletions(-)
diff --g
From: Oleg Drokin
More of the checkpatch warning fixes.
Oleg Drokin (3):
staging/lustre: Fix braces {} style
staging/lustre: Fix blank line after/before {/} style
staging/lustre: Get rid of ldlm_policy_res_t typedef
drivers/staging/lustre/lustre/fld/fld_cache.c | 3 +-
drivers/stag
From: Oleg Drokin
This fixes all checkpatch form of this from the Lustre tree:
CHECK: braces {} should be used on all arms of this statement
Signed-off-by: Oleg Drokin
---
drivers/staging/lustre/lustre/fld/fld_cache.c| 3 ++-
.../lustre/lustre/include/lustre/lustre_idl.h| 3 +
From: Oleg Drokin
This patch fixes all checkpatch occurences of
CHECK: Blank lines aren't necessary after an open brace '{'
CHECK: Blank lines aren't necessary before a close brace '}'
in Lustre code.
Signed-off-by: Oleg Drokin
---
drivers/staging/lustre/lustre/fld/fld_request.c | 1 -
dri
From: Oleg Drokin
This patch fixes all checkpatch occurences of
CHECK: Blank lines aren't necessary after an open brace '{'
CHECK: Blank lines aren't necessary before a close brace '}'
in Lustre code.
Signed-off-by: Oleg Drokin
---
drivers/staging/lustre/lustre/fld/fld_request.c | 1 -
dri
From: Bobi Jam
Current CLIO does not support fadvise, suppress the error message.
Signed-off-by: Bobi Jam
Reviewed-on: http://review.whamcloud.com/9658
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4717
Reviewed-by: Jinshan Xiong
Reviewed-by: Andreas Dilger
Signed-off-by: Oleg Drokin
-
From: Oleg Drokin
These are rebased cleanups from before -
style fixes and suppressign a spurious message.
Bobi Jam (1):
staging/lustre/llite: suppress non active IO error message
Oleg Drokin (1):
staging/lustre: Fix blank line after/before {/} style
drivers/staging/lustre/lustre/fld/fld_
From: Ann Koehler
The lu_cache_shrink slab shrinker is too slow, accounting for > 90% of
the time spent in shrink_slab when allocating huge pages. Most of its
time is spent iterating over the buckets in each site's object hash
table to compute the number of freeable objects. This iteration is
eli
From: Hiroya Nozaki
LASSERT touches cl_client_cache->ccc_lru without any protection.
So this patch the LASSERT moves to the section protected by
cl_client_cache->ccc_lru_lock
Signed-off-by: Hiroya Nozaki
Reviewed-on: http://review.whamcloud.com/14901
Intel-bug-id: https://jira.hpdd.intel.com/br
From: Oleg Drokin
It looks like router proc files were defined out, so I missed them
during debugfs conversion.
Reenable the code and move all the variables to debugfs.
Signed-off-by: Oleg Drokin
---
.../staging/lustre/include/linux/libcfs/libcfs.h | 8 +
.../staging/lustre/include/linux/l
From: Niu Yawei
cfs_hash_for_each_relax() should break iteration when callback
returns non-zero value.
Signed-off-by: Niu Yawei
Reviewed-on: http://review.whamcloud.com/14927
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6636
Reviewed-by: Bobi Jam
Reviewed-by: Andreas Dilger
Reviewed-by
From: Liang Zhen
cmid created by kiblnd_dev_need_failover should always be destroyed,
however it is not the case in current implementation and we will leak
cmid when this function detected a device failover.
Signed-off-by: Liang Zhen
Reviewed-on: http://review.whamcloud.com/14603
Intel-bug-id:
301 - 400 of 1193 matches
Mail list logo