search for: delete_inod

Displaying 19 results from an estimated 19 matches for "delete_inod".

Did you mean: delete_inode
2010 Aug 20
0
[PATCH] ocfs2: Don't delete orphaned files if we are in the process of umount.
Generally, orphan scan run in ocfs2_wq and is used to replay orphan dir. So for some low end iscsi device, the delete_inode may take a long time(In some devices, I have seen that delete 500 files will take about 15 secs). This will eventually cause umount to livelock(umount has to flush ocfs2_wq which will wait until orphan scan to finish). So this patch just try to finish the orphan scan quickly. In general when umou...
2002 Dec 15
2
problem with Andrew's patch ext3
Hello Andrew, I patched 2.4.20 with your patch found out on http://lwn.net/Articles/17447/ and I have a big problem with: once server is booted on 2.4.20 with your patch, when I want to reboot with /sbin/reboot, server makes a Segmentation fault and it crashs. I tested it on 50-60 servers and it is the same problem. I tested kernel 2.4.20 without your patch: no problem. # uname -a Linux XXXXXX
2009 Jan 12
1
Bug in inode deletion code leading to stale inodes
Hello, I've hit a bug in OCFS2 delete code which results in inodes being left on disk without any links to them. The workload triggering this creates directories on one node and deletes them on another node in the cluster. The inode is not deleted because both nodes bail out from ocfs2_delete_inode() with: Skipping delete of 100405 because it is in use on other nodes The scenario which I think is happening is as follows: node1 node2 rmdir("d"); ocfs2_remote_dentry_delete() ocfs2_dentry_convert_worker() finishes ocfs2_unlink() eventually enters...
2002 Dec 06
2
[patch] fix the ext3 data=journal unmount bug
...lock_kernel(); sync_unlocked_inodes(); - sync_supers(0); + sync_supers(0, 0); unlock_kernel(); for (;;) { --- linux-akpm/include/linux/fs.h~sync_fs Thu Dec 5 21:33:56 2002 +++ linux-akpm-akpm/include/linux/fs.h Thu Dec 5 21:33:56 2002 @@ -894,6 +894,7 @@ struct super_operations { void (*delete_inode) (struct inode *); void (*put_super) (struct super_block *); void (*write_super) (struct super_block *); + int (*sync_fs) (struct super_block *); void (*write_super_lockfs) (struct super_block *); void (*unlockfs) (struct super_block *); int (*statfs) (struct super_block *, struct statfs...
2008 Feb 22
1
[PATCH] IGET: Remove initialisation of read_inode() super op from BTRFS
...s@redhat.com> --- fs/btrfs/super.c | 1 - 1 files changed, 0 insertions(+), 1 deletions(-) diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c index a46300c..612a34f 100644 --- a/fs/btrfs/super.c +++ b/fs/btrfs/super.c @@ -462,7 +462,6 @@ static struct super_operations btrfs_super_ops = { .delete_inode = btrfs_delete_inode, .put_inode = btrfs_put_inode, .put_super = btrfs_put_super, - .read_inode = btrfs_read_locked_inode, .write_super = btrfs_write_super, .sync_fs = btrfs_sync_fs, .write_inode = btrfs_write_inode,
2004 Sep 04
0
[PATCH] remove ocfs_put_inode
...================================== --- src/super.c (revision 1426) +++ src/super.c (working copy) @@ -196,9 +196,7 @@ static struct super_operations ocfs_sops = { .statfs = ocfs_statfs, - .put_inode = ocfs_put_inode, .clear_inode = ocfs_clear_inode, - //put_inode = force_delete, .delete_inode = ocfs_delete_inode, .sync_fs = ocfs_sync_fs, .write_super = ocfs_write_super, Index: src/inode.c =================================================================== --- src/inode.c (revision 1426) +++ src/inode.c (working copy) @@ -521,26 +521,6 @@ return status; } -/* - * ocfs_p...
2001 Feb 24
1
Boom.. (ok so its 0.0.5b)
...09 parcelfarce kernel: d73675e0 c1078aa0 00000001 d74b4c48 c 15c2fbc c1078aa0 c1078aa0 00000001 Feb 24 10:25:09 parcelfarce kernel: c014d84e d73675e0 c1078aa0 c025b4c0 c 1078aa0 00000000 00000001 c1078b10 Feb 24 10:25:09 parcelfarce kernel: Call Trace: [ext3_orphan_del+370/544] [ext3_ delete_inode+134/328] [ext3_put_inode+10/16] [iput+155/588] [dput+166/328] [__fp ut+62/72] [fput+23/72] Feb 24 10:25:09 parcelfarce kernel: [filp_close+82/92] [do_exit+361/744] [do_signal+568/724] [sys_select+1014/1360] [sys_select+1346/1360] [signal_return +20/24] Feb 24 10:25:09 parcelfarce kernel: Co...
2001 Aug 13
0
(no subject)
...If iget() returns bad_inode, then the orphan cleanup step will fail. I think I have fixed this, so I will submit it to Stephen. > 2b/ if so must provide a completely filled-in inode (nfs doesn't for > example. ext2 does, ext3 almost certainly does). > > 3/ The "delete_inode" super_operation must cope gracefully with > being given an is_bad_inode. > > 4/ Should keep a "generation" number in the inode-on-disk, should > assigned a "new" value to this when the inode is allocated, and > should store this value...
2001 Aug 13
0
(no subject)
...nd 1/ recognise if the inode number refers to a currently active inode or not 2a/ if not, must return an is_bad_inode() inode. 2b/ if so must provide a completely filled-in inode (nfs doesn't for example. ext2 does, ext3 almost certainly does). 3/ The "delete_inode" super_operation must cope gracefully with being given an is_bad_inode. 4/ Should keep a "generation" number in the inode-on-disk, should assigned a "new" value to this when the inode is allocated, and should store this value in the i_generation field...
2008 Oct 23
2
[PATCH 1/1] OCFS2: fix for nfs getting stale inode.
...that (A) there is the in-memory inode and (B) this inode is without OCFS2_INODE_DELETE. For later operations on the stale inode, this may leads to crash because of the mismatch of the in-memory generation against the on-disk one if a new inode occupied the same block. for problem (2), in ocfs2_delete_inode(), after disk updates, ocfs2_remove_inode() doesn't sync/checkpiont to make sure the IO has finished. ocfs2_get_dentry() may read out a stale inode when JBD doesn't checkpoint yet(updates still only in memory). SOLUTION: (I) adds cross cluster lock for deletion and reading inode from nfs...
2009 Mar 03
3
[PATCH 1/1] OCFS2: anti stale inode for nfs (V6)
...t 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_dentry() and in PR mode in ocfs2_delete_inode(). so that mutliple ocfs2_delete_inode() can run concurrently in normal case. Signed-off-by: Wengang Wang <wen.gang.wang at oracle.com> -- dlmglue.c | 45 ++...
2009 Mar 05
0
[PATCH 1/1] OCFS2: anti stale inode for nfs (V6.2)
...t 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_dentry() and in PR mode in ocfs2_delete_inode(). so that mutliple ocfs2_delete_inode() can run concurrently in normal case. Signed-off-by: Wengang Wang <wen.gang.wang at oracle.com> -- diff --git a/fs/ocfs2/dlm...
2009 Mar 06
0
[PATCH 1/1] OCFS2: anti stale inode for nfs (V6.3)
...t 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_dentry() and in PR mode in ocfs2_delete_inode(). so that mutliple ocfs2_delete_inode() can run concurrently in normal case. Signed-off-by: Wengang Wang <wen.gang.wang at oracle.com> -- dlmglue.c | 46 ++...
2009 Feb 27
2
[PATCH 1/1] OCFS2: anti stale inode for nfs (V5)
...blkno; + args.fi_flags = 0; + args.fi_ino = ino_from_blkno(sb, blkno); + args.fi_sysfile_type = 0; + + return ilookup5(sb, blkno, ocfs2_find_actor, &args); +} struct inode *ocfs2_iget(struct ocfs2_super *osb, u64 blkno, unsigned flags, int sysfile_type) { @@ -949,6 +960,13 @@ void ocfs2_delete_inode(struct inode *in goto bail; } + /* Lock down the nfs_sync lock in PR mode */ + status = ocfs2_nfs_sync_lock(OCFS2_SB(inode->i_sb), 0); + if (status < 0) { + mlog(ML_ERROR, "getting nfs sync lock(PR) failed %d\n", status); + ocfs2_cleanup_delete_inode(inode, 0); + goto bai...
2009 Mar 06
2
[PATCH 1/1] OCFS2: anti stale inode for nfs (for 1.4git)
...t 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_dentry() and in PR mode in ocfs2_delete_inode(). so that mutliple ocfs2_delete_inode() can run concurrently in normal case. Signed-off-by: Wengang Wang <wen.gang.wang at oracle.com> -- dlmglue.c | 45 ++...
2009 Feb 17
1
[PATCH 1/1] OCFS2: anti stale inode for nfs (V3)
...t 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_dentry() and in PR mode in ocfs2_delete_inode(). so that mutliple ocfs2_delete_inode() can run concurrently in normal case. this patch is based on 1.4 git. Signed-off-by: Wengang Wang <wen.gang.wang at oracle.com...
2009 Feb 20
3
[PATCH 1/1] OCFS2: anti stale inode for nfs (V4)
...blkno; + args.fi_flags = 0; + args.fi_ino = ino_from_blkno(sb, blkno); + args.fi_sysfile_type = 0; + + return ilookup5(sb, blkno, ocfs2_find_actor, &args); +} struct inode *ocfs2_iget(struct ocfs2_super *osb, u64 blkno, unsigned flags, int sysfile_type) { @@ -949,6 +960,13 @@ void ocfs2_delete_inode(struct inode *in goto bail; } + /* Lock down the nfs_sync lock in PR mode */ + status = ocfs2_nfs_sync_lock(OCFS2_SB(inode->i_sb), 0); + if (status < 0) { + mlog(ML_ERROR, "getting nfs sync lock(PR) failed %d\n", status); + ocfs2_cleanup_delete_inode(inode, 0); + goto bai...
2009 Jun 04
3
Patches that adds delayed orphan scan timer (rev 3)
Resending after implementing review comments.
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