Displaying 20 results from an estimated 26 matches for "ip_alloc_sem".
2009 Feb 11
1
Possible lock inversion in directory locking
Hi,
I've been playing lately with lockdep annotations of OCFS2. I seem to
have most of the false positives sorted out and currently I hit the report
below.
I've analyzed that ocfs2_extend_dir() does first lock local alloc inode
in ocfs2_reserve_clusters() and then acquires ip_alloc_sem from the
directory. The usual ordering e.g. in ocfs2_write_begin() is to first
acquire ip_alloc_sem and then lock local alloc. Now these two paths
obviously cannot deadlock against each other because one works only for
directories and another only for files. But there are some code paths that
are s...
2009 Jul 22
8
[PATCH 0/7] OCFS2 quota fixes (version 2)
Hi,
here is the second version of OCFS2 quota fixes with Joel's comments
fixed. Also I've added a patch defining counts of credits for quota
operations as Joel asked.
Honza
2009 Jul 15
7
[PATCH 0/6] Quota fixes for 2.6.31-rc4
Hi,
I did some more in-depth testing of OCFS2 quota code, especially with ECC
feature enabled and spotted some problems. First four patches fix them.
I need the fifth patch to be able to mount OCFS2 filesystem with 2.6.31-rc3.
The sixth patch fixes a potential problem when quota syncing interval is
updated while the cluster is running (which is not possible currently).
Joel, could you please
2009 Feb 26
1
[PATCH 0/7] OCFS2 locking fixes and lockdep annotations
Hi,
the first four patches in this series fix locking problems in OCFS2 quota code (three of
them can lead to potential deadlocks). The fifth patch reorders ip_alloc_sem for directories
to be acquired before localalloc locks. Mark would you please merge these?
The last two patches implement lockdep annotations for OCFS2 cluster locks. We annotate all
the cluster locks except for special ones like open lock or local quota file lock - these are
not held by any part...
2009 Jun 18
8
Patches backported from mainline
All,
Please review the patches backported to 1.4 from mainline.
Sunil
2009 Jun 02
10
[PATCH 0/7] [RESEND] Fix some deadlocks in quota code and implement lockdep for cluster locks
Hi,
I'm resending this patch series. It's rediffed against linux-next branch of
Joel's git tree. The first four patches are obvious fixes of deadlocks in quota
code and should go in as soon as possible. The other three patches implement
lockdep support for OCFS2 cluster locks. So you can have a look whether the
code make sence to you and possibly merge them. They should be NOP when
2009 Feb 03
1
Problem with ordered mode handling on truncate
...m two
places:
1) ocfs2_truncate_for_delete() - easy to fix, just move the call just after
the write of the inode.
2) ocfs2_setattr() - we can move the call into ocfs2_truncate_file() but
that would mean calling jbd2_journal_begin_ordered_truncate()
and consequently ocfs2_write_page() under ip_alloc_sem - not too nice.
Furthermore ocfs2_orphan_for_truncate() zeros the last cluster
beyond i_size and we cannot do that before writing out previous
content... Not sure how to solve that yet.
Any ideas welcome.
Honza
--
Jan Kara <jack at suse.cz>
SUSE Labs, CR
2007 Mar 29
1
Remove the printing of harmless ERRORS like ECONNRESET, EPIPE
...-------------- next part --------------
Index: fs/ocfs2/file.c
===================================================================
--- fs/ocfs2/file.c (revision 3001)
+++ fs/ocfs2/file.c (working copy)
@@ -368,8 +368,6 @@ static ssize_t ocfs2_file_sendfile(struc
down_read(&OCFS2_I(inode)->ip_alloc_sem);
ret = generic_file_sendfile(in_file, ppos, count, actor, target);
- if (ret < 0)
- mlog_errno(ret);
up_read(&OCFS2_I(inode)->ip_alloc_sem);
2009 Apr 07
0
[PATCH 1/1] OCFS2: use i_size_read() instead of direct accessing inode->i_size
...fs/ocfs2/quota_global.c
@@ -210,7 +210,7 @@ ssize_t ocfs2_quota_write(struct super_block *sb, int type,
}
mutex_lock_nested(&gqinode->i_mutex, I_MUTEX_QUOTA);
- if (gqinode->i_size < off + len) {
+ if (i_size_read(gqinode) < off + len) {
down_write(&OCFS2_I(gqinode)->ip_alloc_sem);
err = ocfs2_extend_no_holes(gqinode, off + len, off);
up_write(&OCFS2_I(gqinode)->ip_alloc_sem);
diff --git a/fs/ocfs2/quota_local.c b/fs/ocfs2/quota_local.c
index 07deec5..cf9deab 100644
--- a/fs/ocfs2/quota_local.c
+++ b/fs/ocfs2/quota_local.c
@@ -938,14 +938,14 @@ static struct oc...
2011 May 19
3
SEEK_DATA/HOLE on ocfs2 - v2
Two patches follow this message. One fixes the default implementation
of SEEK_HOLE/DATA. This patch applies atop Josef's last posted patch.
The second patch implements the same on ocfs2.
The test tool for the same is available here.
http://oss.oracle.com/~smushran/seek_data/seek_test.c
It is improved since the last post. It runs cleanly on zfs, ocfs2 and ext3
(default behavior). Users
2011 May 19
3
SEEK_DATA/HOLE on ocfs2 - v2
Two patches follow this message. One fixes the default implementation
of SEEK_HOLE/DATA. This patch applies atop Josef's last posted patch.
The second patch implements the same on ocfs2.
The test tool for the same is available here.
http://oss.oracle.com/~smushran/seek_data/seek_test.c
It is improved since the last post. It runs cleanly on zfs, ocfs2 and ext3
(default behavior). Users
2009 Jul 13
1
[PATCH 1/1] adds mlogs to aops.c
...e the nonblocking flag for the dlm code to avoid page
* lock inversion, but don't bother with retrying.
*/
ret = ocfs2_inode_lock_full(inode, NULL, 0, OCFS2_LOCK_NONBLOCK);
- if (ret)
- return err;
+ if (ret) {
+ mlog_errno(ret);
+ goto bail;
+ }
if (down_read_trylock(&oi->ip_alloc_sem) == 0) {
ocfs2_inode_unlock(inode, 0);
- return err;
+ goto bail;
}
/*
@@ -378,7 +395,8 @@ static int ocfs2_readpages(struct file *filp, struct address_space *mapping,
out_unlock:
up_read(&oi->ip_alloc_sem);
ocfs2_inode_unlock(inode, 0);
-
+bail:
+ mlog_exit(err);
return er...
2009 Jul 21
1
(no subject)
...e the nonblocking flag for the dlm code to avoid page
* lock inversion, but don't bother with retrying.
*/
ret = ocfs2_inode_lock_full(inode, NULL, 0, OCFS2_LOCK_NONBLOCK);
- if (ret)
- return err;
+ if (ret) {
+ mlog_errno(ret);
+ goto bail;
+ }
if (down_read_trylock(&oi->ip_alloc_sem) == 0) {
ocfs2_inode_unlock(inode, 0);
- return err;
+ goto bail;
}
/*
@@ -378,7 +397,8 @@ static int ocfs2_readpages(struct file *filp, struct address_space *mapping,
out_unlock:
up_read(&oi->ip_alloc_sem);
ocfs2_inode_unlock(inode, 0);
-
+bail:
+ mlog_exit(err);
return er...
2009 Jul 21
1
[PATCH 1/1] ocfs2: adds mlogs to aops.c -V2
...e the nonblocking flag for the dlm code to avoid page
* lock inversion, but don't bother with retrying.
*/
ret = ocfs2_inode_lock_full(inode, NULL, 0, OCFS2_LOCK_NONBLOCK);
- if (ret)
- return err;
+ if (ret) {
+ mlog_errno(ret);
+ goto bail;
+ }
if (down_read_trylock(&oi->ip_alloc_sem) == 0) {
ocfs2_inode_unlock(inode, 0);
- return err;
+ goto bail;
}
/*
@@ -378,7 +397,8 @@ static int ocfs2_readpages(struct file *filp, struct address_space *mapping,
out_unlock:
up_read(&oi->ip_alloc_sem);
ocfs2_inode_unlock(inode, 0);
-
+bail:
+ mlog_exit(err);
return er...
2009 Jun 16
0
[GIT PULL] ocfs2 updates for 2.6.31
...writeout
Jan Kara (5):
ocfs2: Fix possible deadlock in ocfs2_global_read_dquot()
ocfs2: Fix lock inversion in ocfs2_local_read_info()
ocfs2: Fix possible deadlock with quotas in ocfs2_setattr()
ocfs2: Fix possible deadlock in quota recovery
ocfs2: Correct ordering of ip_alloc_sem and localloc locks for directories
Joel Becker (1):
ocfs2: Add statistics for the checksum and ecc operations.
Srinivas Eeda (2):
ocfs2: timer to queue scan of all orphan slots
ocfs2 patch to track delayed orphan scan timer statistics
Sunil Mushran (1):
ocfs2/net: Use wai...
2009 Jun 04
2
[PATCH 0/2] OCFS2 lockdep support
Hi,
here comes the next version of OCFS2 lockdep support. I've dropped patches
with fixes from the series since they were already merged.
As Joel suggested, I've simplified the main patch a bit so that we don't
have ifdefs around lock declarations and there are also a few other minor
improvements.
Honza
2011 Mar 31
3
[PATCH 1/3] VFS/ioctl: Add punching-hole support to ioctl().
We're currently support two paths from VFS to preallocate unwritten
extents(from FS_IOC_RESVSP, or fallocate()), likewise, behavior of
punching-hole should be treated as the same, this patch tries to teach
file_ioctl() to handle FS_IOC_UNRESVSP, underlying filesystem like ocfs2
is wise enough to do the rest of work;-)
Signed-off-by: Tristan Ye <tristan.ye at oracle.com>
---
fs/ioctl.c
2011 Mar 31
3
[PATCH 1/3] VFS/ioctl: Add punching-hole support to ioctl().
We're currently support two paths from VFS to preallocate unwritten
extents(from FS_IOC_RESVSP, or fallocate()), likewise, behavior of
punching-hole should be treated as the same, this patch tries to teach
file_ioctl() to handle FS_IOC_UNRESVSP, underlying filesystem like ocfs2
is wise enough to do the rest of work;-)
Signed-off-by: Tristan Ye <tristan.ye at oracle.com>
---
fs/ioctl.c
2009 Mar 27
42
[PATCH 00/42] ocfs2: Add reflink file support. V1
Hi all,
So I have finally finished the v1 of reflink for ocfs2. It has some
bugs that I am still investigating, but the schema is almost there. So
I'd like to send it out first for review. And Tristan and I will
continue to work on the stability of the code.
The general information for reflink, please see
http://oss.oracle.com/osswiki/OCFS2/DesignDocs/Reflink.
For the design doc, please
2009 Apr 03
42
[PATCH 00/42] ocfs2: Add reflink file support. V2
Hi all,
Change from v1 to v2: bug fix and metadata/credits reservation
improvement.
The general information for reflink, please see
http://oss.oracle.com/osswiki/OCFS2/DesignDocs/Reflink.
For the design doc, please see
http://oss.oracle.com/osswiki/OCFS2/DesignDocs/RefcountTrees
http://oss.oracle.com/osswiki/OCFS2/DesignDocs/ReflinkOperation