I like the idea of dc_task handling queued basts in
ocfs2_mark_lockres_freeing.
I am wondering if we should call lockres->l_ops->post_unlock(osb,
lockres) ? Would there be another node waiting for a bast response ?
On 02/20/2014 07:18 AM, Jan Kara wrote:
> If we are dropping last inode referenc
looks good to me
Reviewed-by: Srinivas Eeda
On 02/20/2014 07:18 AM, Jan Kara wrote:
> Move dquot_initalize() call in ocfs2_delete_inode() after the moment we
> verify inode is actually a sane one to delete. We certainly don't want
> to initialize quota for system inodes etc. This also avoids cal
looks good to me
Reviewed-by: Srinivas Eeda
On 02/20/2014 07:18 AM, Jan Kara wrote:
> We cannot drop last dquot reference from downconvert thread as that
> creates the following deadlock:
>
> NODE 1 NODE2
> holds dentry lock for 'foo'
> holds inode lock for GLOBAL
Reviewed-by: Srinivas Eeda
On 02/20/2014 07:18 AM, Jan Kara wrote:
> The flag was never set, delete it.
>
> Signed-off-by: Jan Kara
> ---
> fs/ocfs2/inode.c | 6 --
> fs/ocfs2/inode.h | 8 +++-
> fs/ocfs2/journal.c | 6 --
> 3 files changed, 3 insertions(+), 17 deletions(-)
looks good to me
Reviewed-by: Srinivas Eeda
On 02/20/2014 07:18 AM, Jan Kara wrote:
> Provide dqgrab() function to get quota structure reference when we are
> sure it already has at least one active reference. Make use of this
> function inside quota code.
>
> Signed-off-by: Jan Kara
> ---
> f
Hi Jan,
thanks a lot for these patches. They all look good to me ... I just have
one question on patch 5
Thanks,
--Srini
On 02/20/2014 07:18 AM, Jan Kara wrote:
>Hello,
>
>here is a second version of my patchset to solve a deadlocks when we do not
> defer dropping of inode reference fro
Hi Marty,
It is that the latest one host which run fio tools, and the host is frequently
receive the stack trace and fenced, other hosts' IO lock up which is in the
OCFS2 cluster at the same time.
We will try the new kernel.
Thanks a lot.
Guozhonghua
-邮件原件-
发件人: Marty Sweet [mailto:m
Hi,
By the looks of the call-trace this looks like an issue with
communicating with the iSCSI target.
I run 6 nodes with OCFS2 over Fibre Channel on Ubuntu 12.04 Linux 3.5
and Linux 3.13 (VM Cluster and Samba Cluster).
Before investigating this any further I would advise upgrading your
kernel to
Hi everyone, as we test the performance of the ocfs2 with fio. As the test case
running, one of host of ocfs2 cluster will be blocked a small time and restart
sooner.
The test environment is that there are six host sharing one iSCSI LUN which
capacity is about 1T and it is formatted with ocfs2,
Currently last dqput() can race with dquot_scan_active() causing it to
call callback for an already deactivated dquot. The race is as follows:
CPU1CPU2
dqput()
spin_lock(&dq_list_lock);
if (atomic_read(&dquot->dq_count) > 1) {
- not taken
if (
Provide dqgrab() function to get quota structure reference when we are
sure it already has at least one active reference. Make use of this
function inside quota code.
Signed-off-by: Jan Kara
---
fs/quota/dquot.c | 4 ++--
include/linux/quotaops.h | 8
2 files changed, 10 inserti
The flag was never set, delete it.
Signed-off-by: Jan Kara
---
fs/ocfs2/inode.c | 6 --
fs/ocfs2/inode.h | 8 +++-
fs/ocfs2/journal.c | 6 --
3 files changed, 3 insertions(+), 17 deletions(-)
diff --git a/fs/ocfs2/inode.c b/fs/ocfs2/inode.c
index f29a90fde619..b4baaefe4dd4 10064
If we are dropping last inode reference from downconvert thread, we will
end up calling ocfs2_mark_lockres_freeing() which can block if the lock
we are freeing is queued thus creating an A-A deadlock. Luckily, since
we are the downconvert thread, we can immediately dequeue the lock and
thus avoid w
Move dquot_initalize() call in ocfs2_delete_inode() after the moment we
verify inode is actually a sane one to delete. We certainly don't want
to initialize quota for system inodes etc. This also avoids calling into
quota code from downconvert thread.
Add more details into the comment why bailing
We cannot drop last dquot reference from downconvert thread as that
creates the following deadlock:
NODE 1 NODE2
holds dentry lock for 'foo'
holds inode lock for GLOBAL_BITMAP_SYSTEM_INODE
dquot_initialize(bar)
Hello,
here is a second version of my patchset to solve a deadlocks when we do not
defer dropping of inode reference from downconvert worker. I have tested the
patches (also with lockdep enabled) and they seem to work fine. Comments are
welcome!
From: Goldwyn Rodrigues
The following patches are reverted in this patch because these
patches caused performance regression in the remote unlink() calls.
ea455f8ab68338ba69f5d3362b342c115bea8e13 - ocfs2: Push out dropping
of dentry lock to ocfs2_wq
f7b1aa69be138ad9d7d3f31fa56f4c9407f56b6a - ocf
Quota files can have blocks beyond i_size. This is correct because quota
code reserves these blocks to allow for extension of quota files without
the need for allocation. So make fsck.ocfs2 not complain about them.
Signed-off-by: Jan Kara
---
fsck.ocfs2/pass1.c | 7 +++
1 file changed, 7 ins
There is a race window in dlm_do_recovery() between dlm_remaster_locks()
and dlm_reset_recovery() when the recovery master nearly finish the recovery
process for a dead node. After the master sends FINALIZE_RECO message in
dlm_remaster_locks(), another node may become the recovery master for anothe
Global quota files are accessed from different nodes. Thus we cannot
cache offset of quota structure in the quota file after we drop our
node reference count to it because after that moment quota structure may
be freed and reallocated elsewhere by a different node resulting in
corruption of quota f
20 matches
Mail list logo