From: Oleg Drokin
of the two macroses is contained the LUSTRE_RELEASE was unused and
BUILD_VERSION is too generically named and was replaced with
LUSTRE_VERSION_STRING with all the users (provided by lustre_ver.h)
With in-kernel client the build version should be combined with
kernel build infor
From: Oleg Drokin
Replace it with enum ldlm_cancel_flags
Signed-off-by: Oleg Drokin
---
drivers/staging/lustre/lustre/include/lustre_dlm.h | 18 ++
drivers/staging/lustre/lustre/include/obd.h| 2 +-
drivers/staging/lustre/lustre/include/obd_class.h | 2 +-
drivers/st
From: Oleg Drokin
Does not appear to be used anywhere.
Signed-off-by: Oleg Drokin
---
drivers/staging/lustre/lustre/include/lustre/lustre_user.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/staging/lustre/lustre/include/lustre/lustre_user.h
b/drivers/staging
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/
From: Oleg Drokin
Replace it with enum ldlm_appetite
Signed-off-by: Oleg Drokin
---
drivers/staging/lustre/lustre/include/lustre_dlm.h | 8
drivers/staging/lustre/lustre/ldlm/ldlm_resource.c | 2 +-
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/drivers/staging/lustre/
From: Oleg Drokin
Replace with enum sec_cmd
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/lustr
From: Oleg Drokin
Replace ldlm_mode_t with enum ldlm_mode,
ldlm_type_t with enum ldlm_type
Signed-off-by: Oleg Drokin
---
.../lustre/lustre/include/lustre/lustre_idl.h | 14
drivers/staging/lustre/lustre/include/lustre_dlm.h | 39 --
drivers/staging/lustre/lus
From: Oleg Drokin
Replace it with struct lu_fid
Signed-off-by: Oleg Drokin
---
.../lustre/lustre/include/lustre/lustre_idl.h | 2 +-
.../lustre/lustre/include/lustre/lustre_user.h | 24 +++---
2 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/drivers/st
From: Oleg Drokin
Replace with enum obd_cmd
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/lustr
From: Oleg Drokin
Object update was originally planned to be used for cross-server
updates, so nothign 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
From: Oleg Drokin
Replace it with enum ldlm_cmd
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/l
From: Oleg Drokin
Replace it with enum ost_cmd
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/lu
From: Oleg Drokin
Replace it with enum quota_cmd
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/
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
From: Oleg Drokin
Due to unfortunate reordering that broke the build in the middle,
I am resending the previous patchset with some extra added patches.
This contains various Lustre cleanups and coding style fixes,
also hunts out various ifdefs that we don't really need
and remove various unused
From: Oleg Drokin
Replace it with enum cksum_type
Signed-off-by: Oleg Drokin
---
drivers/staging/lustre/lustre/include/lustre/lustre_idl.h | 4 ++--
drivers/staging/lustre/lustre/include/obd.h | 2 +-
drivers/staging/lustre/lustre/include/obd_cksum.h | 12 ++--
From: Oleg Drokin
Typedefs fld_hash_func_t and fld_scan_func_t are used exectly once in
the following structure so don't really help anything at all.
Signed-off-by: Oleg Drokin
---
drivers/staging/lustre/lustre/fld/fld_internal.h | 9 ++---
1 file changed, 2 insertions(+), 7 deletions(-)
From: Oleg Drokin
These are the cleanup patches that were not applied from the previous
patch set due to a missing NFS/fhandle fix that is now applied.
Also some defines removal and such.
Please apply.
Oleg Drokin (25):
staging/lustre/llite: Fix style vs open parenthesis alignment
staging/l
From: Oleg Drokin
This mostly fixes checkpatch complaints about
"Alignment should match open parenthesis"
Signed-off-by: Oleg Drokin
---
drivers/staging/lustre/lustre/llite/dcache.c | 3 +-
drivers/staging/lustre/lustre/llite/dir.c | 6 +-
drivers/staging/lustre/lustre/llite/f
From: Oleg Drokin
liblustre_check_services is no longer present in the tree.
Signed-off-by: Oleg Drokin
---
drivers/staging/lustre/lustre/include/lustre_net.h | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/staging/lustre/lustre/include/lustre_net.h
b/drivers/staging/lustre/lustre/
From: Oleg Drokin
This mostly fixes checkpatch complaints about
"Alignment should match open parenthesis"
Signed-off-by: Oleg Drokin
---
drivers/staging/lustre/lustre/mgc/mgc_request.c | 28 -
1 file changed, 14 insertions(+), 14 deletions(-)
diff --git a/drivers/stagi
From: Oleg Drokin
As it is ENABLE_PINGER is never defined, but in reality
it's the code that is now compiled out that should be used
since all other instances were converted like that too.
Signed-off-by: Oleg Drokin
---
drivers/staging/lustre/lustre/ptlrpc/import.c | 28 ---
From: Oleg Drokin
This mostly fixes checkpatch complaints about
"Alignment should match open parenthesis"
Signed-off-by: Oleg Drokin
---
drivers/staging/lustre/lustre/ptlrpc/client.c | 40 +---
drivers/staging/lustre/lustre/ptlrpc/import.c | 21 +++
drivers/staging/lustre
From: Oleg Drokin
Signed-off-by: Oleg Drokin
---
.../staging/lustre/lustre/include/lustre/lustre_user.h | 16
1 file changed, 16 deletions(-)
diff --git a/drivers/staging/lustre/lustre/include/lustre/lustre_user.h
b/drivers/staging/lustre/lustre/include/lustre/lustre_user.h
From: Oleg Drokin
Since liblustre is no longer with us, referencing to it in the
explanations only makes things less clear
Signed-off-by: Oleg Drokin
---
drivers/staging/lustre/lustre/include/cl_object.h | 4 ++--
drivers/staging/lustre/lustre/include/lustre_lite.h | 2 +-
drivers/staging/lu
From: Oleg Drokin
This mostly fixes checkpatch complaints about
"Alignment should match open parenthesis"
Signed-off-by: Oleg Drokin
---
drivers/staging/lustre/lustre/osc/lproc_osc.c | 20 ++---
drivers/staging/lustre/lustre/osc/osc_cache.c | 18 +---
drivers/staging/lustre
From: Oleg Drokin
This mostly fixes checkpatch complaints about
"Alignment should match open parenthesis"
Signed-off-by: Oleg Drokin
---
drivers/staging/lustre/lustre/mdc/mdc_internal.h | 2 +-
drivers/staging/lustre/lustre/mdc/mdc_locks.c| 26 +++-
drivers/staging/lus
From: Oleg Drokin
This mostly fixes checkpatch complaints about
"Alignment should match open parenthesis"
Signed-off-by: Oleg Drokin
---
.../staging/lustre/lustre/lov/lov_cl_internal.h| 87 +++---
drivers/staging/lustre/lustre/lov/lov_ea.c | 2 +-
drivers/staging/l
From: Oleg Drokin
Since there's only one call in those if () else branches, the
braces are not really necessary.
Highlighted by checkpatch.
Signed-off-by: Oleg Drokin
---
drivers/staging/lustre/lustre/include/lprocfs_status.h | 10 --
1 file changed, 4 insertions(+), 6 deletions(-)
d
From: Oleg Drokin
This mostly fixes checkpatch complaints about
"Alignment should match open parenthesis"
Signed-off-by: Oleg Drokin
---
drivers/staging/lustre/lustre/lmv/lmv_intent.c | 2 +-
drivers/staging/lustre/lustre/lmv/lmv_internal.h | 4 ++--
drivers/staging/lustre/lustre/lmv/lmv_o
From: Oleg Drokin
Found with checkpatch.
Signed-off-by: Oleg Drokin
---
drivers/staging/lustre/lustre/include/lustre_cfg.h | 2 +-
drivers/staging/lustre/lustre/include/lustre_dlm.h | 4 ++--
drivers/staging/lustre/lustre/llite/llite_nfs.c| 6 +++---
drivers/staging/lustre/lustre/llite/
From: Oleg Drokin
This mostly fixes checkpatch complaints about
"Alignment should match open parenthesis"
Signed-off-by: Oleg Drokin
---
.../staging/lustre/lustre/obdecho/echo_client.c| 22 +++---
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/drivers/stagi
From: Oleg Drokin
KMALLOC_MAX_SIZE is always defined in the kernel, so no point
in checking for it, just use t directly.
Signed-off-by: Oleg Drokin
---
drivers/staging/lustre/lustre/llite/rw26.c | 10 ++
1 file changed, 2 insertions(+), 8 deletions(-)
diff --git a/drivers/staging/lust
From: Oleg Drokin
This mostly fixes checkpatch complaints about
"Alignment should match open parenthesis"
Signed-off-by: Oleg Drokin
---
drivers/staging/lustre/lustre/obdclass/cl_io.c | 20 ++--
drivers/staging/lustre/lustre/obdclass/cl_lock.c | 21 ++--
drivers/staging/lustre/lustre/o
From: Oleg Drokin
Signed-off-by: Oleg Drokin
---
drivers/staging/lustre/lustre/llite/llite_lib.c | 4
1 file changed, 4 deletions(-)
diff --git a/drivers/staging/lustre/lustre/llite/llite_lib.c
b/drivers/staging/lustre/lustre/llite/llite_lib.c
index 47f9ad7..0cdaa48 100644
--- a/drivers/
From: Oleg Drokin
Not used in the kernel proper.
Signed-off-by: Oleg Drokin
---
drivers/staging/lustre/lustre/llite/rw26.c | 7 +--
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/drivers/staging/lustre/lustre/llite/rw26.c
b/drivers/staging/lustre/lustre/llite/rw26.c
index 64
From: Oleg Drokin
Remove the ifdefs for the around usage.
Signed-off-by: Oleg Drokin
---
drivers/staging/lustre/lustre/llite/file.c | 6 --
1 file changed, 6 deletions(-)
diff --git a/drivers/staging/lustre/lustre/llite/file.c
b/drivers/staging/lustre/lustre/llite/file.c
index 477dc0e..2
From: Oleg Drokin
The only caller was not looking at the return value,
and liblustre, that cared about it is not part of the kernel client.
Signed-off-by: Oleg Drokin
---
drivers/staging/lustre/lustre/ptlrpc/service.c | 10 --
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git
From: Oleg Drokin
The new DNE code does not use them either so they are not longer needed.
Signed-off-by: Oleg Drokin
---
drivers/staging/lustre/lustre/lmv/lmv_obd.c | 45 -
1 file changed, 45 deletions(-)
diff --git a/drivers/staging/lustre/lustre/lmv/lmv_obd.c
b
From: Oleg Drokin
These two comments certainly refer to some ifdefed code that is
no longer present, so remove them too.
Signed-off-by: Oleg Drokin
---
drivers/staging/lustre/lustre/lov/lov_pool.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/staging/lustre/lustre/lov/lov_pool.c
From: Oleg Drokin
This mostly fixes checkpatch complaints about
"Alignment should match open parenthesis"
Signed-off-by: Oleg Drokin
---
drivers/staging/lustre/lustre/fld/fld_cache.c | 14 +++---
drivers/staging/lustre/lustre/fld/fld_request.c | 17 +++--
drivers/staging/
From: Oleg Drokin
This mostly fixes checkpatch complaints about
"Alignment should match open parenthesis" and
"space prohibited between function name and open parenthesis"
Signed-off-by: Oleg Drokin
---
drivers/staging/lustre/lustre/include/cl_object.h | 410 ++---
.../staging
From: Oleg Drokin
And also struct lustre_rw_params that is only referenced by it.
Signed-off-by: Oleg Drokin
---
.../staging/lustre/lustre/include/lustre_lite.h| 48 --
1 file changed, 48 deletions(-)
diff --git a/drivers/staging/lustre/lustre/include/lustre_lite.h
b/
From: Oleg Drokin
In __l_wait_event the condition could be a complicated function that does
allocations and other potentialy blocking activities, so it sohuld
not be called in a task state other than RUNNABLE
Signed-off-by: Oleg Drokin
---
drivers/staging/lustre/lustre/include/lustre_lib.h | 1
From: Oleg Drokin
smatch highlighted a wrongly indented bit of code that almost
hides the extra assignment.
Signed-off-by: Oleg Drokin
---
drivers/staging/lustre/lustre/ptlrpc/sec_plain.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/staging/lustre/lustre/ptlrpc/s
From: Oleg Drokin
In lov_unpackmd() there's this strange bit of code where we first try
to look inside of lmm striping pattern for it's type, and then
we check if the pattern is NULL which cannot be right.
Move the check under if (lmm) branch so that it's safe.
Found by Coverity version 6.6.1
S
From: Oleg Drokin
smatch has highlighted wrong indenting that results from
commit 7fc1f831d83f ("staging/lustre/llite: extended attribute cache")
Signed-off-by: Oleg Drokin
---
drivers/staging/lustre/lustre/llite/xattr.c | 10 +-
1 file changed, 5 insertions(+), 5 deletions(-)
diff --
From: Oleg Drokin
This set fixes a couple of style issues, and a couple of bugs.
Please consider
Oleg Drokin (4):
staging/lustre: Only set INTERRUPTIBLE state before calling schedule
staging/lustre/ptlrpc: Fix wrong indenting in plain_authorize()
staging/lustre/ptlrpc: Fix potential NULL
From: Oleg Drokin
I just got a report today from Tyson Whitehead
that Lustre crashes when CPUMASK_OFFSTACK is enabled.
A little investigation revealed that this code:
cpumask_t mask;
...
cpumask_copy(&mask, topology_thread_cpumask(0));
weight = cpus
From: Oleg Drokin
When we are doing things like cpumask_copy, and CONFIG_CPUMASK_OFFSTACK
is set, we only copy actual number of bits equal to number of CPUs
we have. But underlying allocations got NR_CPUS = 8192, so
if the cpumask is allocated on the stack or has other prefilled values
there's a
From: Oleg Drokin
With CONFIG_CPUMASK_OFFSTACK enabled there seems to be some disparity
between theoretical maximum of CPUs in the system (NR_CPUS that is huge)
and the actual value that is calculated at runtime (nr_cpu_ids).
Functions like cpus_weight should only check up to nr_cpu_ids bits
in
From: Oleg Drokin
Move setting of TASK_INTERRUPTIBLE just around schedule call in
libcfs_sock_accept.
Signed-off-by: Oleg Drokin
---
drivers/staging/lustre/lustre/libcfs/linux/linux-tcpip.c | 10 --
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/drivers/staging/lustre/lu
From: Oleg Drokin
The first two patches are a follow on for the previous patch series
on not using deprecated cpumask-related code.
And two blocking while atomic/not running fixes.
Please consider.
Lai Siyao (1):
staging/lustre/llite: avoid nonatomic memory alloc under spinlock
Oleg Drokin
From: Oleg Drokin
cpus_weight and for_each_cpu_mask are deprecated, so replace them
with cpumask_weight and for_each_cpu respectively.
Signed-off-by: Oleg Drokin
---
drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/driv
From: Lai Siyao
ll_intent_drop_lock() may sleep in memory allocation, which
should not be called inside spinlock.
Signed-off-by: Lai Siyao
Signed-off-by: Jian Yu
Reviewed-on: http://review.whamcloud.com/10674
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-2272
Signed-off-by: Oleg Drokin
From: Oleg Drokin
This patch continues to further remove deprecated functions, such as
any_online_cpu, for_each_cpu_mask and also cleaning up
usage of NR_CPUS in a few places
Signed-off-by: Oleg Drokin
---
.../staging/lustre/lustre/libcfs/linux/linux-cpu.c | 32 --
1 file c
From: Oleg Drokin
A number of lustre fixes.
Andriy Skulysh (1):
staging/lustre/ptlrpc: fix import state during replay
Bobi Jam (2):
staging/lustre/osc: shorten IO calling path
staging/lustre/mgc: detach MGC dev on error
Christopher J. Morrone (1):
staging/lustre/mdc: Handle empty but n
From: Lai Siyao
Xattr cached data may be gone, but lock still held, in this case,
refetch xattr from server, otherwise client will return error.
Signed-off-by: Lai Siyao
Reviewed-on: http://review.whamcloud.com/12952
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-3544
Reviewed-by: Bobi Jam
From: Li Dongyang
For a new inode, the i_size is 0 until a stat, which will yield
an empty fiemap result.
Fix the issue by glimpsing the size before doing fiemap.
Signed-off-by: Li Dongyang
Signed-off-by: Bob Glossman
Reviewed-by: Andreas Dilger
Reviewed-by: Jinshan Xiong
Reviewed-on: http:/
From: Niu Yawei
The mtime/atime/ctime in the write RPC has to be updated after
the RPC is built (where xid is generated), otherwise, it could
race with the setattr and updating wrong timestamps on OST side.
Seems this regression was introduced when landing clio code.
Signed-off-by: Niu Yawei
R
From: "Christopher J. Morrone"
We have found that posix_acl_access can have a value
of \002\000\000\000. In that case body->aclsize is
non-zero, but the there are no actuall acls stored
in the xattr.
In mdc_unpack_acl(), it only checks IS_ERR() on the
pointer returned by posix_acl_from_xattr(),
From: Hongchao Zhang
in lprocfs_mgc_rd_ir_state, the import state should be checked
the validity before doing further work.
Signed-off-by: Hongchao Zhang
Reviewed-on: http://review.whamcloud.com/12896
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5650
Reviewed-by: Fan Yong
Reviewed-by: N
From: Liang Zhen
If early reply of client RPC is lost and client RPC is expired and
resent, server will drop the resent RPC because it's already in
processing, server may also send reply or early reply to client,
which can still match reply buffer of the original request.
In this case, client is
From: Yang Sheng
Some object maybe has a corrupted LOV EA or a hole in
LOV EA. We should not crash client in such case.
Signed-off-by: Fan Yong
Signed-off-by: Yang Sheng
Reviewed-on: http://review.whamcloud.com/12740
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4958
Reviewed-by: Jian Yu
From: Andriy Skulysh
Client doesn't restore import state correctly
on reconnect during replay. It resends lock replay
when final ping was queued by server.
Server fails with "target_queue_recovery_request())
ASSERTION( req->rq_export->exp_lock_replay_needed ) failed"
Add imp_replay_state to stor
From: Bobi Jam
lustre_start_mgc() creates MGC device, if error happens later on
ll_fill_super(), this device is still attached, and later mount
fails by keep complaining that the MGC device's already in the
client node.
It turns out that the device was referenced by mgc config llog data
which is
From: Bobi Jam
By using osc_io_unplug_aync() for osc_queue_sync_pages() to shorten
the IO calling path, to reduce the chance of stack overflow.
Signed-off-by: Bobi Jam
Signed-off-by: Bob Glossman http://review.whamcloud.com/11612
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-3188
Reviewed
From: Bobi Jam
By using osc_io_unplug_aync() for osc_queue_sync_pages() to shorten
the IO calling path, to reduce the chance of stack overflow.
Signed-off-by: Bobi Jam
Signed-off-by: Bob Glossman
Reviewed-on: http://review.whamcloud.com/11612
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU
From: Andriy Skulysh
Client doesn't restore import state correctly
on reconnect during replay. It resends lock replay
when final ping was queued by server.
Server fails with "target_queue_recovery_request())
ASSERTION( req->rq_export->exp_lock_replay_needed ) failed"
Add imp_replay_state to stor
From: Oleg Drokin
These 20 patches represent various lustre fixes mostly taken from
development lustre tree.
It also unbreaks lustre flock functionality accdentally broken in
the staging tree by a cleanup.
Please consider.
Alexander Boyko (1):
staging/lustre/osc: split different type of IO
D
From: Liang Zhen
A couple of changes to improve aliveness detection:
- When LNet received a message, it can determine peer of this message
is alive
- When LNet received a message from remote network, it can determine
router is alive and NI status on router is UP.
Signed-off-by: Liang Zhen
From: wang di
It is possible that when fld client is trying to lookup seq
on one of MDT, but the connection between the client and the MDT
is not being initialized yet, especially during striped dir creation,
because client will only send create req to the master MDT, then
master MDT will distrib
From: Dmitry Eremin
Change type of cl_conn_count to size_t.
Signed-off-by: Dmitry Eremin
Reviewed-on: http://review.whamcloud.com/13125
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5577
Reviewed-by: James Simmons
Reviewed-by: John L. Hammond
Signed-off-by: Oleg Drokin
---
drivers/sta
From: Frank Zago
Since reg->kr_fp can be changed inside the foreach loop,
kkuc_groups must be write protected, and not just read protected.
This should fix the following oops, which could happen if two different
threads simultaneously execute the function, and EPIPE is returned.
PID: 24385 TAS
From: Lai Siyao
Reading directory pages may fail on MDS, in this case client should
not cache a non-up-to-date directory page, because it will cause
a later read on the same page fail.
Signed-off-by: Lai Siyao
Signed-off-by: Oleg Drokin
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5461
From: Oleg Drokin
Commit ab909585b813 ("staging: lustre: Cleanup variable declarations
in mdc_enqueue()") broke Lustre flock handling introducing access
to uninitialized req variable, leading to bizzare crash in a later
call to __req_capsule_offset with invalid pill value.
Set req to NULL just f
From: Patrick Farrell
When a group lock with GID=0 is released (put_grouplock is
called), an assertion in cl_put_grouplock is hit.
We should not allow group lock requests with GID=0, instead
we should return -EINVAL.
Signed-off-by: Patrick Farrell
Reviewed-on: http://review.whamcloud.com/12459
From: Jinshan Xiong
In vvp_io_read_lock(), it used to decide if to add read lock by
checking lli_has_smd. Accessing lli_has_smd is racy when an empty
file is turned into raid0, therefore, it may result in read requests
are issued without corresponding lock.
Signed-off-by: Jinshan Xiong
Reviewed
From: Henri Doreau
A variable-length structure preceeds llog_rec_tail within an llog
block. Thus cr_tail shouldn't be accessed directly as a structure
member but its actual location should be computed dynamically.
Signed-off-by: Henri Doreau
Reviewed-on: http://review.whamcloud.com/11937
Intel-
From: Liang Zhen
Portal spreading rotor should be unsigned, otherwise lnet may get
negative CPT number and access invalid addresses.
Signed-off-by: Liang Zhen
Reviewed-on: http://review.whamcloud.com/11936
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5639
Reviewed-by: Amir Shehata
Revie
From: Yang Sheng
We need to check for an exception entry after radix_tree lookup.
Signed-off-by: Yang Sheng
Signed-off-by: Oleg Drokin
Reviewed-on: http://review.whamcloud.com/10709
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5162
Reviewed-by: Bob Glossman
Reviewed-by: James Simmons
From: Dmitry Eremin
Expression if (size != (ssize_t)size) is always false.
Therefore no bounds check errors detected.
Signed-off-by: Dmitry Eremin
Reviewed-on: http://review.whamcloud.com/11376
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5417
Reviewed-by: John L. Hammond
Reviewed-by: F
From: "John L. Hammond"
In init_lustre_lite() ensure that /proc/fs/lustre/llite is removed in
case of failure. Generally rework the cleanup code in this function.
Signed-off-by: John L. Hammond
Reviewed-on: http://review.whamcloud.com/6420
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-333
From: Niu Yawei
In after_reply(), take the rq_lock for changing the rq_resend.
Signed-off-by: Niu Yawei
Reviewed-on: http://review.whamcloud.com/11957
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5633
Reviewed-by: Fan Yong
Reviewed-by: Johann Lombardi
Signed-off-by: Oleg Drokin
---
d
From: Li Xi
After failure happens and put_pages_back() returns the pages,
tracefiled() should not go on itering on the page list.
Otherwise, some pages might be accessed illegally.
Signed-off-by: Li Xi
Signed-off-by: Jian Yu
Reviewed-on: http://review.whamcloud.com/11454
Intel-bug-id: https://
From: Jinshan Xiong
If there exists MGS conf_param to reduce the memory cache
max_cached_mb it will fail because dt_exp is not initialized
yet.
It should just go ahead and configure it because certainly it
have enough free LRU slot to deduct ccc_lru_left.
Signed-off-by: Jinshan Xiong
Reviewed-
From: Alexander Boyko
Do not allow different type of pages at the same rpc.
Signed-off-by: Alexander Boyko
Signed-off-by: Vitaly Fertman
Xyratex-bug-id: MRP-859
Reviewed-on: http://review.whamcloud.com/10930
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-3192
Reviewed-by: Jinshan Xiong
R
From: Hongchao Zhang
in "class_export_recovery_cleanup", the check of the flag
"exp->exp_req_replay_needed" should be protected by "exp_lock".
Signed-off-by: Hongchao Zhang
Reviewed-on: http://review.whamcloud.com/10849
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5128
Reviewed-by: Fan Y
From: Li Xi
When the time of LRU resizing exceeds waiting period of
recalculation, the ldlm daemon will keep on resizing without any
interval of rest. That will cause high CPU load.
This patch fixes the problem by setting the recalculation timestamp
after LRU resizing finishes rather than before
From: Liang Zhen
ptlrpcd_check() always scan all requests on ptlrpc_request_set
and try to finish completed requests, this is low efficiency.
Even worse, l_wait_event() always checks condition for twice
before sleeping and one more time after waking up, which means
it will call ptlrpcd_check() fo
From: Oleg Drokin
leaf_dealloc uses vzalloc as a fallback to kzalloc(GFP_NOFS), so
it clearly does not want any shrinker activity within the fs itself.
convert vzalloc into __vmalloc(GFP_NOFS|__GFP_ZERO) to better achieve
this goal.
Signed-off-by: Oleg Drokin
---
fs/gfs2/dir.c | 3 ++-
1 file
From: Oleg Drokin
Signed-off-by: Oleg Drokin
---
fs/coda/coda_linux.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/coda/coda_linux.h b/fs/coda/coda_linux.h
index d6f7a76..537754b 100644
--- a/fs/coda/coda_linux.h
+++ b/fs/coda/coda_linux.h
@@ -73,7 +73,7 @@ void coda_s
From: Oleg Drokin
commit 95745e9b1de2 ("staging: lustre: Use kasprintf.") introduced
a copy and paste error causing two different obd types to be assigned
same content causing lustre to fail on mount with a warning from procfs
followed by a bizzare error about OST not having enough MDS
capabiliti
From: Oleg Drokin
lustre_update.h containts various server-side structures that are
not really relevant for the client.
Also remove the only user of this file that does not actually need it.
Signed-off-by: Oleg Drokin
---
.../staging/lustre/lustre/include/lustre_update.h | 189 ---
From: Oleg Drokin
With removal of backing_dev_info from struct address_space,
we don't need to assign it in Lustre either.
Signed-off-by: Oleg Drokin
---
drivers/staging/lustre/lustre/llite/llite_lib.c | 4
1 file changed, 4 deletions(-)
diff --git a/drivers/staging/lustre/lustre/llite/l
From: Oleg Drokin
Rusty Russel advises that cpus_* functions are deprecated to work
on cpumasks and cpumask_* functions should be called instead,
otherwise problems with CPUMASK_OFFSTACK arise.
Signed-off-by: Oleg Drokin
---
.../staging/lustre/lustre/libcfs/linux/linux-cpu.c | 78 +++--
From: Oleg Drokin
A recent crash report with CONFIG_CPUMASK_OFFSTACK enabled
set off a chain of emails through which I learned that cpus_* functions
are deprecated and should not be really used to operate on cpumasks.
These two patches do just that, replacing cpus_* and cpu_* calls
with cpumask_
From: Oleg Drokin
As per Rusty Russel, cpus_* functions are deprecated.
When mixing cpumask_copy with cpus_weight, they operate on different
sized masks if CPUMASK_OFFSTACK is enabled, causing an
immediate assertion failure.
Copying of cpumasks by assignment is also not allowed now.
Additionally
From: Oleg Drokin
I noticed that 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-aligned
From: Oleg Drokin
This large body of patches mostly deals with Lustre IO stack
simplifications and related cleanups.
In particular the whole cl_page and cl_lock stuff is reduced to
basically nothing.
The simplifications remove about 5K lines of code and the other 5k
are mostly due to shuffling co
201 - 300 of 1193 matches
Mail list logo