Displaying 13 results from an estimated 13 matches for "destroy_inode".
2004 Oct 07
1
kmem_cache_destroy: Can't free all objects
Hello!
I am writing a FS filter that will be above the ext3 filesystem.
For my own purposes I need severl bytes in inode. There are not enough space
current inode so I need to create my own inode functions alloc_inode() &
destroy_inode().
The problem causes when destroying slab cache at removing my module (rmmod).
kmem_cache_destroy: Can't free all objects
What I do:
- install my module (insmod)
- Mount filesystem
- list the mountpoint with ls -i
- cat /proc/slabinfo shows:
my_ii_cache 1 7 512 1...
2012 Apr 04
1
Centos 5.6 Kernel Panics
...8c6abac c200cc80 f4f5f3c0
Apr 3 12:41:26 sp2 kernel: c041f863 00000184 c200d620 c2013ac4
00000020 00000000 d887f0a8 f766f0c0
Apr 3 12:41:26 sp2 kernel: Call Trace:
Apr 3 12:41:26 sp2 kernel: [<c041f863>] default_wake_function+0x0/0xc
Apr 3 12:41:26 sp2 kernel: [<c048e994>] destroy_inode+0x38/0x47
Apr 3 12:41:26 sp2 kernel: [<c0622f16>]
rwsem_down_write_failed+0x126/0x141
Apr 3 12:41:26 sp2 kernel: [<c0439989>] .text.lock.rwsem+0x2b/0x3a
Apr 3 12:41:26 sp2 kernel: [<c046a32b>] sys_munmap+0x24/0x41
Apr 3 12:41:26 sp2 kernel: [<c0404f4b>] syscall_ca...
2002 Mar 27
1
assertion in journal_start
...ile_write+33d/780>
Trace; c0130b83 <add_to_swap_cache+63/b0>
Trace; c012db40 <do_ccupdate_local+0/40>
Trace; c015060b <write_dquot+ab/100>
Trace; c0150a50 <dqput+70/d0>
Trace; c015196b <dquot_drop+3b/50>
Trace; c014c03a <clear_inode+7a/100>
Trace; c014b44f <destroy_inode+1f/30>
Trace; c014c100 <dispose_list+40/60>
Trace; c014c359 <prune_icache+b9/e0>
Trace; c014c3a0 <shrink_icache_memory+20/40>
Trace; c012fafe <shrink_caches+6e/90>
Trace; c012fb5c <try_to_free_pages+3c/60>
Trace; c01304ce <balance_classzone+5e/1b0>
Trace; c013...
2011 Sep 21
3
[PATCH] Btrfs: fix orphan cleanup regression
...ode)->i_orphan, &root->orphan_list);
- spin_unlock(&root->orphan_lock);
/*
- * if this is a bad inode, means we actually succeeded in
- * removing the inode, but not the orphan record, which means
- * we need to manually delete the orphan since iput will just
- * do a destroy_inode
+ * Inode is already gone but the orphan item is still there,
+ * kill the orphan item.
*/
- if (is_bad_inode(inode)) {
- trans = btrfs_start_transaction(root, 0);
+ if (ret == -ESTALE) {
+ trans = btrfs_start_transaction(root, 1);
if (IS_ERR(trans)) {
ret = PTR_ERR(trans);...
2012 Jun 26
6
[PATCH] Add a page cache-backed balloon device driver.
.../
+static struct inode *balloon_alloc_inode(struct super_block *sb)
+{
+ static bool already_inited;
+ /* We should only ever be called once! */
+ BUG_ON(already_inited);
+ already_inited = true;
+ inode_init_once(&the_inode.inode);
+ return &the_inode.inode;
+}
+
+/* Noop implementation of destroy_inode. */
+static void balloon_destroy_inode(struct inode *inode)
+{
+}
+
+static int balloon_sync_fs(struct super_block *sb, int wait)
+{
+ return filemap_write_and_wait(the_inode.inode.i_mapping);
+}
+
+static const struct super_operations balloonfs_ops = {
+ .alloc_inode = balloon_alloc_inode,
+ .des...
2012 Jun 26
6
[PATCH] Add a page cache-backed balloon device driver.
.../
+static struct inode *balloon_alloc_inode(struct super_block *sb)
+{
+ static bool already_inited;
+ /* We should only ever be called once! */
+ BUG_ON(already_inited);
+ already_inited = true;
+ inode_init_once(&the_inode.inode);
+ return &the_inode.inode;
+}
+
+/* Noop implementation of destroy_inode. */
+static void balloon_destroy_inode(struct inode *inode)
+{
+}
+
+static int balloon_sync_fs(struct super_block *sb, int wait)
+{
+ return filemap_write_and_wait(the_inode.inode.i_mapping);
+}
+
+static const struct super_operations balloonfs_ops = {
+ .alloc_inode = balloon_alloc_inode,
+ .des...
2012 Jul 25
0
No subject
...d only ever be called once! */
> >> + BUG_ON(already_inited);
> >> + already_inited = true;
> >> + inode_init_once(&the_inode.inode);
> >> + return &the_inode.inode;
> >> +}
> >> +
> >> +/* Noop implementation of destroy_inode. */
> >> +static void balloon_destroy_inode(struct inode *inode)
> >> +{
> >> +}
> >> +
> >> +static int balloon_sync_fs(struct super_block *sb, int wait)
> >> +{
> >> + return filemap_write_and_wait(the_inode.inode.i_mapping);
>...
2012 Jul 25
0
No subject
...d only ever be called once! */
> >> + BUG_ON(already_inited);
> >> + already_inited = true;
> >> + inode_init_once(&the_inode.inode);
> >> + return &the_inode.inode;
> >> +}
> >> +
> >> +/* Noop implementation of destroy_inode. */
> >> +static void balloon_destroy_inode(struct inode *inode)
> >> +{
> >> +}
> >> +
> >> +static int balloon_sync_fs(struct super_block *sb, int wait)
> >> +{
> >> + return filemap_write_and_wait(the_inode.inode.i_mapping);
>...
2011 Feb 09
1
warning in btrfs_free_block_groups
...4
Call Trace:
[<ffffffff810398d3>] warn_slowpath_common+0x80/0x98
[<ffffffff81039900>] warn_slowpath_null+0x15/0x17
[<ffffffff81155aec>] btrfs_free_block_groups+0x218/0x275
[<ffffffff81164597>] close_ctree+0x183/0x344
[<ffffffff810bc2c5>] ? destroy_inode+0x38/0x4e
[<ffffffff810bc385>] ? dispose_list+0xaa/0xc0
[<ffffffff8114a040>] btrfs_put_super+0x18/0x27
[<ffffffff810ac3a2>] generic_shutdown_super+0x66/0xe1
[<ffffffff810ac468>] kill_anon_super+0x11/0x49
[<ffffffff810ab6fa>] deactivate_locked_s...
2007 Feb 05
1
kernel error -- system crash
...alloc_pages+0x1b5/0x29d
Feb 4 00:08:24 server1 kernel: [<c014f88d>] __get_free_pages+0x18/0x24
Feb 4 00:08:24 server1 kernel: [<c0180962>] __pollwait+0x2d/0x94
Feb 4 00:08:24 server1 kernel: [<c02dd665>] tcp_poll+0x31/0x144
Feb 4 00:08:24 server1 kernel: [<c0188fc8>] destroy_inode+0x3d/0x4c
Feb 4 00:08:24 server1 kernel: [<c018b1e2>] iput+0x5f/0x61
Feb 4 00:08:24 server1 kernel: [<c02b40f4>] sock_poll+0x12/0x14
Feb 4 00:08:24 server1 kernel: [<c0180cca>] do_select+0x25c/0x378
Feb 4 00:08:24 server1 kernel: [<c0180935>] __pollwait+0x0/0x94
Feb...
2013 Oct 16
0
[PATCH] Btrfs: add tests for btrfs_get_extent V2
...2f39806..9f5e1cf 100644
--- a/fs/btrfs/ctree.h
+++ b/fs/btrfs/ctree.h
@@ -4034,5 +4034,9 @@ static inline int btrfs_defrag_cancelled(struct btrfs_fs_info *fs_info)
return signal_pending(current);
}
+/* Sanity test specific functions */
+#ifdef CONFIG_BTRFS_FS_RUN_SANITY_TESTS
+void btrfs_test_destroy_inode(struct inode *inode);
+#endif
#endif
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index d468246..09c950b 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -7794,6 +7794,14 @@ struct inode *btrfs_alloc_inode(struct super_block *sb)
return inode;
}
+#ifdef CONFIG_BTRFS_FS_RUN_SANITY...
2013 Feb 02
5
Oops when mounting btrfs partition
...55: IO failure
Jan 21 16:35:40 localhost kernel: [1655047.752955] btrfs is forced readonly
...
Jan 23 16:41:41 localhost kernel: [1828208.048292] ------------[ cut here ]------------
Jan 23 16:41:41 localhost kernel: [1828208.048344] WARNING: at /build/buildd/linux-3.5.0/fs/btrfs/inode.c:6992 btrfs_destroy_inode+0x2db/0x320 [btrfs]()
Jan 23 16:41:41 localhost kernel: [1828208.048346] Hardware name: P5Q-EM
Jan 23 16:41:41 localhost kernel: [1828208.048347] Modules linked in: ufs qnx4 hfsplus hfs minix ntfs msdos jfs xfs reiserfs ext2 bnep rfcomm parport_pc ppdev bluetooth lp parport
binfmt_misc dm_crypt co...
2009 Aug 24
0
[PATCH] Btrfs: proper metadata -ENOSPC handling
...h_ordered_io(struct inode *inode, u64 start, u64 end)
}
trans = btrfs_join_transaction(root, 1);
+ BUG_ON(IS_ERR(trans));
if (!ordered_extent)
ordered_extent = btrfs_lookup_ordered_extent(inode, start);
@@ -1981,7 +1990,9 @@ void btrfs_orphan_cleanup(struct btrfs_root *root)
* do a destroy_inode
*/
if (is_bad_inode(inode)) {
+ /* 1 item for the orphan entry */
trans = btrfs_start_transaction(root, 1);
+ BUG_ON(IS_ERR(trans));
btrfs_orphan_del(trans, inode);
btrfs_end_transaction(trans, root);
iput(inode);
@@ -2337,7 +2348,16 @@ static int btrfs_unlink(struct inod...