search for: alloc_inode

Displaying 20 results from an estimated 37 matches for "alloc_inode".

2005 May 17
1
Re: [Ocfs2-commits] jlbec commits r2262 - branches/alloc_inode/fs/ocfs2
On Tue, May 17, 2005 at 04:12:52PM -0500, svn-commits@oss.oracle.com wrote: > Author: jlbec > Date: 2005-05-17 16:12:51 -0500 (Tue, 17 May 2005) > New Revision: 2262 > > Modified: > branches/alloc_inode/fs/ocfs2/aops.c > branches/alloc_inode/fs/ocfs2/file.c > branches/alloc_inode/fs/ocfs2/inode.c > branches/alloc_inode/fs/ocfs2/ocfs.h > Log: > > o Move ip_mmu_private to ocfs2_inode_info. Btw, for many functions it would be a lot cleaner to have a local struct ocfs2_in...
2012 Aug 02
2
[PATCH] add additional checks to ext2 loader
...if (!data) + return NULL; return (const struct ext2_inode *) (data + block_off * EXT2_SB(fs)->s_inode_size); @@ -164,7 +166,7 @@ static struct inode *ext2_iget_by_inr(struct fs_info *fs, uint32_t inr) struct inode *inode; e_inode = ext2_get_inode(fs, inr); - if (!(inode = alloc_inode(fs, inr, sizeof(struct ext2_pvt_inode)))) + if (!e_inode || !(inode = alloc_inode(fs, inr, sizeof(struct ext2_pvt_inode)))) return NULL; fill_inode(inode, e_inode); -- 1.7.5.4
2006 Aug 15
0
[git patches] ocfs2 updates
...int ocfs2_block_group_find_clear_bits(struct ocfs2_super *osb, - struct buffer_head *bg_bh, - unsigned int bits_wanted, - u16 *bit_off, - u16 *bits_found); static inline int ocfs2_block_group_set_bits(struct ocfs2_journal_handle *handle, struct inode *alloc_inode, struct ocfs2_group_desc *bg, @@ -143,6 +132,64 @@ static u32 ocfs2_bits_per_group(struct o return (u32)le16_to_cpu(cl->cl_cpg) * (u32)le16_to_cpu(cl->cl_bpc); } +/* somewhat more expensive than our other checks, so use sparingly. */ +static int ocfs2_check_group_descriptor(st...
2009 Feb 26
3
[PATCH 0/3] ocfs2-1.4: Backport inode alloc from mainline.
Hi all, this patch set are the backport of inode alloc improvement from mainline to ocfs2-1.4. the patches are almost the same excpet one thing: Joel has added JBD2 support to ocfs2, so he has added "max_blocks" to alloc_context and add a new function "ocfs2_reserve_clusters_with_limit". We don't have that in ocfs2-1.4. So there are some great difference in patch 2.
2009 Feb 24
2
[PATCH 1/3] ocfs2: Optimize inode allocation by remembering last group.
In ocfs2, the inode block search looks for the "emptiest" inode group to allocate from. So if an inode alloc file has many equally (or almost equally) empty groups, new inodes will tend to get spread out amongst them, which in turn can put them all over the disk. This is undesirable because directory operations on conceptually "nearby" inodes force a large number of seeks. So
2013 Nov 05
1
ocfs2: why not set EROFS when clearing bits multiple times
...OR and not NOTICE. */ if (num_bits != bits_cleared) { mlog(ML_ERROR, "Trying to clear %u bits at offset %u in group " "descriptor # %llu (device %s), needed to clear %u bits\n", num_bits, bit_off, (unsigned long long)le64_to_cpu(bg->bg_blkno), alloc_inode->i_sb->s_id, bits_cleared); } If this case happens, does it mean the filesystem have already been inconsistent? If so, why not set EROFS when this case happens? Or anyone knows which case will casue bits to be cleared multiple times? Thanks very much.
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...
2008 Sep 04
4
[PATCH 0/3] ocfs2: Switch over to JBD2.
ocfs2 currently uses the Journaled Block Device (JBD) for its journaling. This is a very stable and tested codebase. However, JBD is limited by architecture to 32bit block numbers. This means an ocfs2 filesystem is limited to 2^32 blocks. With a 4K blocksize, that's 16TB. People want larger volumes. Fortunately, there is now JBD2. JBD2 adds 64bit block number support and some other
2009 Jan 15
5
[PATCH 0/3] ocfs2: Inode Allocation Strategy Improvement.v2
Changelog from V1 to V2: 1. Modify some codes according to Mark's advice. 2. Attach some test statistics in the commit log of patch 3 and in this e-mail also. See below. Hi all, In ocfs2, when we create a fresh file system and create inodes in it, they are contiguous and good for readdir+stat. While if we delete all the inodes and created again, the new inodes will get spread out and that
2009 Apr 17
26
OCFS2 1.4: Patches backported from mainline
Please review the list of patches being applied to the ocfs2 1.4 tree. All patches list the mainline commit hash. Thanks Sunil
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 Feb 13
44
[PATCH 0/40] ocfs2: Detach ocfs2 metadata I/O from struct inode
The following series of patches attempts to detach metadata I/O from struct inode. They are currently tied together pretty tightly. Metadata reads happen via the ocfs2_read_blocks() functions, writes via both jbd2 and ocfs2_write_blocks(). - Each inode has a cache of associated metadata blocks stored on its ip_metadata_cache member. The ocfs2_read/write_blocks() functions take a struct
2009 Jun 19
6
[PATCH 1/5] ocfs2: Pin journal head before accessing jh->b_committed_data
..._t *handle, unsigned int tmp; int journal_type = OCFS2_JOURNAL_ACCESS_WRITE; struct ocfs2_group_desc *undo_bg = NULL; + int cluster_bitmap = 0; mlog_entry_void(); @@ -1905,18 +1915,28 @@ static inline int ocfs2_block_group_clear_bits(handle_t *handle, } if (ocfs2_is_cluster_bitmap(alloc_inode)) - undo_bg = (struct ocfs2_group_desc *) bh2jh(group_bh)->b_committed_data; + cluster_bitmap = 1; + + if (cluster_bitmap) { + jbd_lock_bh_state(group_bh); + undo_bg = (struct ocfs2_group_desc *) + bh2jh(group_bh)->b_committed_data; + BUG_ON(!undo_bg); + } tmp = num_bits; while...
2006 Apr 29
0
troubleshooting kernel crash?
...Apr 29 15:05:07 nx05 kernel: [<e09298e3>] ext3_get_inode_loc+0x4f/0x223 [ext3] Apr 29 15:05:07 nx05 kernel: [<e0929b45>] ext3_read_inode+0x38/0x309 [ext3] Apr 29 15:05:07 nx05 kernel: [<c030fbf0>] __cond_resched+0x14/0x3b Apr 29 15:05:07 nx05 kernel: [<e092e1b7>] ext3_alloc_inode+0xf/0x46 [ext3] Apr 29 15:05:07 nx05 kernel: [<c0185596>] alloc_inode+0xf6/0x17f Apr 29 15:05:07 nx05 kernel: [<c018662e>] get_new_inode_fast+0xa5/0x1e9 Apr 29 15:05:07 nx05 kernel: [<e092b9a0>] ext3_lookup+0x55/0x87 [ext3] Apr 29 15:05:07 nx05 kernel: [<c0177d32>] real...
2013 Feb 21
1
[PATCH] the ac->ac_allow_chain_relink=0 won't disable group relink
...y bits we're taking out * of our target group. */ - if (ac->ac_allow_chain_relink && + if (!ac->ac_disable_chain_relink && (prev_group_bh) && (ocfs2_block_group_reasonably_empty(bg, res->sr_bits))) { status = ocfs2_relink_block_group(handle, alloc_inode, @@ -1928,7 +1928,6 @@ static int ocfs2_claim_suballoc_bits(struct ocfs2_alloc_context *ac, victim = ocfs2_find_victim_chain(cl); ac->ac_chain = victim; - ac->ac_allow_chain_relink = 1; status = ocfs2_search_chain(ac, handle, bits_wanted, min_bits, res, &bits_left); @@...
2013 Mar 02
0
[GIT-PULL] ext4 inline data support
...(inode)->i_block, e_inode->i_block, sizeof PVT(inode)->i_block); + PVT(inode)->i_ino = inr; } static struct inode *ext2_iget_by_inr(struct fs_info *fs, uint32_t inr) @@ -169,11 +170,32 @@ static struct inode *ext2_iget_by_inr(struct fs_info *fs, uint32_t inr) if (!(inode = alloc_inode(fs, inr, sizeof(struct ext2_pvt_inode)))) return NULL; - fill_inode(inode, e_inode); + fill_inode(inode, e_inode, inr); return inode; } +static uint32_t ext2_getfssec(struct file *file, char *buf, int sectors, + bool *have_more) +{ + struct inode *inode = file->inode...
2014 May 29
0
[PATCH 2/2] core/fs: Add support for Unix File system 1/2.
...+ufs1_iget_by_inr(struct fs_info *fs, uint32_t inr) +{ + const struct ufs1_inode *ufs_inode; + struct inode *inode; + uint64_t *dest; + uint32_t *source; + int i; + + ufs_inode = (struct ufs1_inode *) ufs_get_inode(fs, inr); + if (!ufs_inode) + return NULL; + + if (!(inode = alloc_inode(fs, inr, sizeof(struct ufs_inode_pvt)))) + return NULL; + + /* UFS1 doesn't support neither creation nor deletion times */ + inode->refcnt = ufs_inode->link_count; + inode->mode = IFTODT(ufs_inode->file_mode); + inode->size = ufs_inode->size; + inode->...
2013 Jul 12
1
[PATCH 001/001] core/fs: Add support to Unix File system 1/2.
...+ufs1_iget_by_inr(struct fs_info *fs, uint32_t inr) +{ + const struct ufs1_inode *ufs_inode; + struct inode *inode; + uint64_t *dest; + uint32_t *source; + int i; + + ufs_inode = (struct ufs1_inode *) ufs_get_inode(fs, inr); + if (!ufs_inode) + return NULL; + + if (!(inode = alloc_inode(fs, inr, sizeof(struct ufs_inode_pvt)))) + return NULL; + + /* UFS1 doesn't support neither creation nor deletion times */ + inode->refcnt = ufs_inode->link_count; + inode->mode = IFTODT(ufs_inode->file_mode); + inode->size = ufs_inode->size; + inode->...
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