Displaying 19 results from an estimated 19 matches for "ocfs2_iget".
2009 Feb 20
2
[PATCH 1/1] OCFS2: add error check for ocfs2_read_locked_inode() call
add error check for ocfs2_read_locked_inode() call.
Signed-off-by: Wengang Wang <wen.gang.wang at oracle.com>
--
Index: inode.c
===================================================================
--- inode.c (revision 149)
+++ inode.c (working copy)
@@ -118,6 +118,7 @@ struct inode *ocfs2_iget(struct ocfs2_su
struct inode *inode = NULL;
struct super_block *sb = osb->sb;
struct ocfs2_find_inode_args args;
+ int status;
mlog_entry("(blkno = %llu)\n", (unsigned long long)blkno);
@@ -142,7 +143,12 @@ struct inode *ocfs2_iget(struct ocfs2_su
* afterwards. */
if (...
2006 Oct 31
3
ocfs2 error messages
...Is this
anything to be concerned with?
kernel: (4074,0):ocfs2_populate_inode:234 ERROR: Invalid dinode:
i_ino=1293597, i_blkno=1293597, signature = INODE01, flags = 0x0
kernel: (4074,0):ocfs2_read_locked_inode:389 ERROR: populate inode
failed! i_blkno=1293597, i_ino=1293597
kernel: (4074,0):ocfs2_iget:131 ERROR: status = -116
kernel: (4074,0):ocfs2_iget:141 ERROR: status = -116
kernel: (4074,0):ocfs2_get_dentry:63 ERROR: status = -116
This is a three node cluster, no other error messages on any of the
other nodes.
System Information
RHEL 4U4 2.6.9-42.0.2 kernel
ocfs2console-1.2.1-1...
2008 Aug 20
1
Weird messages at kernel.log
...:ocfs2_populate_inode:236 ERROR:
> Invalid dinode: i_ino=9311700, i_blkno=9311700, signature = INODE01, flags
> = 0x0
> Aug 19 19:34:58 nodo1 kernel: (2821,0):ocfs2_read_locked_inode:393 ERROR:
> populate failed! i_blkno=9311700, i_ino=9311700
> Aug 19 19:34:58 nodo1 kernel: (2821,0):ocfs2_iget:131 ERROR: status = -116
> Aug 19 19:34:58 nodo1 kernel: (2821,0):ocfs2_iget:141 ERROR: status = -116
> Aug 19 19:34:58 nodo1 kernel: (2821,0):ocfs2_get_dentry:63 ERROR: status =
> -116
>
> Because I'm experiencing a random hang of a node I need to confirm it's
> not rela...
2009 Mar 03
3
[PATCH 1/1] OCFS2: anti stale inode for nfs (V6)
...it's stale.
if the bit is set, we then check generation as the existing code does.
actually we have to read out the inode in question from disk(not cache) first
to know its alloc slot(tells alloc inode) and allot bit(tells alloc group). and
if its not stale(by above logic) we read it out using ocfs2_iget(). the second
read should from cache.
and also we have to add a per superblock nfs_sync_lock to cover the lock for
alloc inode and that for inode in question. this is because ocfs2_get_dentry()
and ocfs2_delete_inode() lock on them in reverse order. nfs_sync_lock is locked
in EX mode in ocfs2_get_...
2009 Mar 06
2
[PATCH 1/1] OCFS2: anti stale inode for nfs (for 1.4git)
...it's stale.
if the bit is set, we then check generation as the existing code does.
actually we have to read out the inode in question from disk(not cache) first
to know its alloc slot(tells alloc inode) and allot bit(tells alloc group). and
if its not stale(by above logic) we read it out using ocfs2_iget(). the second
read should from cache.
and also we have to add a per superblock nfs_sync_lock to cover the lock for
alloc inode and that for inode in question. this is because ocfs2_get_dentry()
and ocfs2_delete_inode() lock on them in reverse order. nfs_sync_lock is locked
in EX mode in ocfs2_get_...
2009 Mar 05
0
[PATCH 1/1] OCFS2: anti stale inode for nfs (V6.2)
...it's stale.
if the bit is set, we then check generation as the existing code does.
actually we have to read out the inode in question from disk(not cache) first
to know its alloc slot(tells alloc inode) and allot bit(tells alloc group). and
if its not stale(by above logic) we read it out using ocfs2_iget(). the second
read should from cache.
and also we have to add a per superblock nfs_sync_lock to cover the lock for
alloc inode and that for inode in question. this is because ocfs2_get_dentry()
and ocfs2_delete_inode() lock on them in reverse order. nfs_sync_lock is locked
in EX mode in ocfs2_get_...
2009 Feb 17
1
[PATCH 1/1] OCFS2: anti stale inode for nfs (V3)
...then it's stale.
if the bit is set, we then check generation as the existing code.
actually we have to read out the inode in question from disk(not cache) first
to know its alloc slot(tells alloc inode) and allot bit(tells alloc group). and
if its not stale(by above logic) we read it out using ocfs2_iget(). the second
read should from cache.
and also we have to add a per superblock nfs_sync_lock to cover the lock for
alloc inode and that for inode in question. this is because ocfs2_get_dentry()
and ocfs2_delete_inode() lock on them in reverse order. nfs_sync_lock is locked
in EX mode in ocfs2_get_...
2009 Mar 06
0
[PATCH 1/1] OCFS2: anti stale inode for nfs (V6.3)
...it's stale.
if the bit is set, we then check generation as the existing code does.
actually we have to read out the inode in question from disk(not cache) first
to know its alloc slot(tells alloc inode) and allot bit(tells alloc group). and
if its not stale(by above logic) we read it out using ocfs2_iget(). the second
read should from cache.
and also we have to add a per superblock nfs_sync_lock to cover the lock for
alloc inode and that for inode in question. this is because ocfs2_get_dentry()
and ocfs2_delete_inode() lock on them in reverse order. nfs_sync_lock is locked
in EX mode in ocfs2_get_...
2009 Feb 27
2
[PATCH 1/1] OCFS2: anti stale inode for nfs (V5)
...found in-memory inode, goes to check generation */
+ if (inode)
+ goto check_gen;
+
+ /* takes nfs_sync_lock in EX mode */
+ status = ocfs2_nfs_sync_lock(osb, 1);
+ if (status < 0) {
+ mlog(ML_ERROR, "getting nfs sync lock(EX) failed %d\n", status);
+ goto check_err;
}
- inode = ocfs2_iget(OCFS2_SB(sb), handle->ih_blkno, 0, 0);
+ status = ocfs2_test_inode_bit(osb, blkno, &set);
+ if (status < 0) {
+ if (status == -EINVAL) {
+ /* meta block never be re-allocated as data block.
+ * nfs gives us wrong blkno, we return ESTALE though */
+ mlog(0, "test inode bit fai...
2009 Feb 20
3
[PATCH 1/1] OCFS2: anti stale inode for nfs (V4)
...* nfsd gives us wrong blkno */
+ status = -EEXIST;
+ } else {
+ mlog(ML_ERROR, "test inode bit failed %d\n", status);
+ }
+ goto unlock_nfs_sync;
+ }
+
+ /* allocate bit is clear, inode is a stale inode */
+ if (!set) {
+ status = -ESTALE;
+ goto unlock_nfs_sync;
}
- inode = ocfs2_iget(OCFS2_SB(sb), handle->ih_blkno, 0, 0);
+ inode = ocfs2_iget(osb, blkno, 0, 0);
- if (IS_ERR(inode))
- return (void *)inode;
+unlock_nfs_sync:
+ ocfs2_nfs_sync_unlock(osb, 1);
+check_err:
+ if (status < 0) {
+ if (status == -ESTALE) {
+ mlog(0, "stale inode ino: %llu generation: %...
2007 Sep 19
1
[PATCH 06/15] ocfs2: Remove open coded readdir()
...ype)
+{
+ struct ocfs2_orphan_filldir_priv *p = priv;
+ struct inode *iter;
+
+ if (name_len == 1 && !strncmp(".", name, 1))
+ return 0;
+ if (name_len == 2 && !strncmp("..", name, 2))
+ return 0;
+
+ /* Skip bad inodes so that recovery can continue */
+ iter = ocfs2_iget(p->osb, ino,
+ OCFS2_FI_FLAG_ORPHAN_RECOVERY);
+ if (IS_ERR(iter))
+ return 0;
+
+ mlog(0, "queue orphan %llu\n",
+ (unsigned long long)OCFS2_I(iter)->ip_blkno);
+ /* No locking is required for the next_orphan queue as there
+ * is only ever a single process doing orphan...
2006 Dec 29
3
[git patches] ocfs2 fixes
Hi Linus,
Here are some 2.6.20 fixes for ocfs2. The patch by Zhen Wei isn't
really a fix, but a very small amount of support for a feature which is
mostly implemented in ocfs2-tools. Considering it's just a single attribute
export via configfs, I'd say it's pretty safe to merge.
Please pull from 'upstream-linus' branch of
2014 Aug 21
1
Cluster blocked, so as to reboot all nodes to avoid it. Is there any patchs for it? Thanks.
...nel: [82025.281922] [<ffffffffa0562493>] ? ocfs2_inode_lock_res_init+0x73/0x160 [ocfs2]
Aug 20 10:05:43 server211 kernel: [82025.281934] [<ffffffffa05658ca>] ocfs2_inode_lock_full_nested+0x13a/0xb80 [ocfs2]
Aug 20 10:05:43 server211 kernel: [82025.281958] [<ffffffffa0576571>] ? ocfs2_iget+0x121/0x7d0 [ocfs2]
Aug 20 10:05:43 server211 kernel: [82025.281971] [<ffffffffa057a9f2>] ocfs2_journal_init+0x92/0x480 [ocfs2]
Aug 20 10:05:43 server211 kernel: [82025.281986] [<ffffffffa05bc3f1>] ocfs2_fill_super+0x15a1/0x25a0 [ocfs2]
Aug 20 10:05:43 server211 kernel: [82025.281992]...
2014 Aug 21
1
Cluster blocked, so as to reboot all nodes to avoid it. Is there any patchs for it? Thanks.
...nel: [82025.281922] [<ffffffffa0562493>] ? ocfs2_inode_lock_res_init+0x73/0x160 [ocfs2]
Aug 20 10:05:43 server211 kernel: [82025.281934] [<ffffffffa05658ca>] ocfs2_inode_lock_full_nested+0x13a/0xb80 [ocfs2]
Aug 20 10:05:43 server211 kernel: [82025.281958] [<ffffffffa0576571>] ? ocfs2_iget+0x121/0x7d0 [ocfs2]
Aug 20 10:05:43 server211 kernel: [82025.281971] [<ffffffffa057a9f2>] ocfs2_journal_init+0x92/0x480 [ocfs2]
Aug 20 10:05:43 server211 kernel: [82025.281986] [<ffffffffa05bc3f1>] ocfs2_fill_super+0x15a1/0x25a0 [ocfs2]
Aug 20 10:05:43 server211 kernel: [82025.281992]...
2008 Jun 24
2
Invalid argument while mounting
...this error.
/etc/fstab:
/dev/sdd1 /u02 ocfs2
_netdev,datavolume,nointr 0 0
Tail of dmesg:
ocfs2_dlm: Nodes in domain ("A7C5B0954A074B36A99739A15F640F2A"): 0
(11528,3):ocfs2_read_locked_inode:374 ERROR: Invalid dinode #0:
signature =
(11528,3):ocfs2_iget:131 ERROR: status = -116
(11528,3):ocfs2_iget:141 ERROR: status = -116
(11528,3):_ocfs2_get_system_file_inode:122 ERROR: status = -116
(11528,3):ocfs2_init_local_system_inodes:273 ERROR: status=-22,
sysfile=7, slot=0
(11528,3):ocfs2_mount_volume:1092 ERROR: status = -22
ocfs2: Unmounting device (8,...
2012 Jun 14
0
[ocfs2-announce] OCFS2 1.4.10-1 released
...fs2: Avoid livelock in ocfs2_readpage
ocfs2: Fix deadlock when allocating page
ocfs2: commit transactions in error cases
ocfs2: make direntry invalid when deleting it
ocfs2: Skip mount recovery for hard ro mounts
ocfs2: Initialize data_ac might be used uninitialize
ocfs2: Little refactoring against ocfs2_iget
ocfs2: optimize ocfs2_check_dir_entry with unlikely() annotations
ocfs2: Release buffer_head in case of error in ocfs2_double_lock
ocfs2: cluster Pin the remote node item in configfs
ocfs2: validate bg_free_bits_count after update
ocfs2: Use cpu_to_le16 for e_leaf_clusters in ocfs2_bg_discontig_add...
2008 Oct 23
2
[PATCH 1/1] OCFS2: fix for nfs getting stale inode.
...atic struct dentry *ocfs2_get_dentry(s
return ERR_PTR(-ESTALE);
}
+ /* lock this disk block against updating it from other nodes */
+ status = ocfs2_dealloc_lock(OCFS2_SB(sb), (u64)handle->ih_blkno, 0);
+ if (status < 0) {
+ mlog_errno(status);
+ return ERR_PTR(status);
+ }
inode = ocfs2_iget(OCFS2_SB(sb), handle->ih_blkno);
+ ocfs2_dealloc_unlock(OCFS2_SB(sb), (u64)handle->ih_blkno, 0);
if (IS_ERR(inode))
return (void *)inode;
Index: fs/ocfs2/inode.c
===================================================================
--- fs/ocfs2/inode.c (revision 3101)
+++ fs/ocfs2/inode....
2010 Nov 03
2
[PATCH 1/2] Ocfs2: Add a new code 'OCFS2_INFO_FREEINODE' for o2info ioctl.
The new code is dedicated to calculate free inodes number of all inode_allocs,
then return the info to userpace in terms of an array.
Specially, flag 'OCFS2_INFO_FL_NON_COHERENT', manipulated by '--cluster-coherent'
from userspace, is now going to be involved. setting the flag on means no cluster
coherency considered, usually, userspace tools choose none-coherency strategy by
2009 Mar 17
33
[git patches] Ocfs2 updates for 2.6.30
Hi,
The following patches comprise the bulk of Ocfs2 updates for the
2.6.30 merge window. Aside from larger, more involved fixes, we're adding
the following features, which I will describe in the order their patches are
mailed.
Sunil's exported some more state to our debugfs files, and
consolidated some other aspects of our debugfs infrastructure. This will
further aid us in debugging