search for: ip_blkno

Displaying 20 results from an estimated 39 matches for "ip_blkno".

2009 Jul 13
1
[PATCH 1/1] adds mlogs to aops.c
...mlog(ML_ERROR, "couldn't get block for symlink!\n"); goto bail; } @@ -191,7 +191,9 @@ static int ocfs2_get_block(struct inode *inode, sector_t iblock, (unsigned long long)iblock, (unsigned long long)p_blkno, (unsigned long long)OCFS2_I(inode)->ip_blkno); - mlog(ML_ERROR, "Size %llu, clusters %u\n", (unsigned long long)i_size_read(inode), OCFS2_I(inode)->ip_clusters); + mlog(ML_ERROR, "Size %llu, clusters %u\n", + (unsigned long long)i_size_read(inode), + OCFS2_I(inode)->ip_clusters); dump_stack();...
2009 Jul 21
1
(no subject)
...mlog(ML_ERROR, "couldn't get block for symlink!\n"); goto bail; } @@ -191,7 +191,9 @@ static int ocfs2_get_block(struct inode *inode, sector_t iblock, (unsigned long long)iblock, (unsigned long long)p_blkno, (unsigned long long)OCFS2_I(inode)->ip_blkno); - mlog(ML_ERROR, "Size %llu, clusters %u\n", (unsigned long long)i_size_read(inode), OCFS2_I(inode)->ip_clusters); + mlog(ML_ERROR, "Size %llu, clusters %u\n", + (unsigned long long)i_size_read(inode), + OCFS2_I(inode)->ip_clusters); dump_stack();...
2009 Jul 21
1
[PATCH 1/1] ocfs2: adds mlogs to aops.c -V2
...mlog(ML_ERROR, "couldn't get block for symlink!\n"); goto bail; } @@ -191,7 +191,9 @@ static int ocfs2_get_block(struct inode *inode, sector_t iblock, (unsigned long long)iblock, (unsigned long long)p_blkno, (unsigned long long)OCFS2_I(inode)->ip_blkno); - mlog(ML_ERROR, "Size %llu, clusters %u\n", (unsigned long long)i_size_read(inode), OCFS2_I(inode)->ip_clusters); + mlog(ML_ERROR, "Size %llu, clusters %u\n", + (unsigned long long)i_size_read(inode), + OCFS2_I(inode)->ip_clusters); dump_stack();...
2009 Mar 27
1
[PATCH 1/1] OCFS2: 64-bit inode number for getattr() instead of 32-bit value
...neric_fillattr() to set inode number(and other attributes). generic_fillattr() inturn fills inode number with inode->i_ino which is a 32-bit(unsigned long) value. if the ocfs2 partition is huge enough, that may become an incorrect value. the fix is filling it again after generic_fillattr() with ip_blkno(u64). Signed-off-by: Wengang Wang <wen.gang.wang at oracle.com> -- diff --git a/fs/ocfs2/file.c b/fs/ocfs2/file.c index a5887df..ffe7d34 100644 --- a/fs/ocfs2/file.c +++ b/fs/ocfs2/file.c @@ -1076,6 +1076,8 @@ int ocfs2_getattr(struct vfsmount *mnt, /* We set the blksize from the cluster s...
2011 May 27
2
[PATCH 1/1] ocfs2: Bugfix for hard readonly mount
...diff --git a/fs/ocfs2/dlmglue.c b/fs/ocfs2/dlmglue.c index 7642d7c..da103f5 100644 --- a/fs/ocfs2/dlmglue.c +++ b/fs/ocfs2/dlmglue.c @@ -1692,7 +1692,7 @@ int ocfs2_open_lock(struct inode *inode) mlog(0, "inode %llu take PRMODE open lock\n", (unsigned long long)OCFS2_I(inode)->ip_blkno); - if (ocfs2_mount_local(osb)) + if (ocfs2_is_hard_readonly(osb) || ocfs2_mount_local(osb)) goto out; lockres = &OCFS2_I(inode)->ip_open_lockres; @@ -1718,6 +1718,12 @@ int ocfs2_try_open_lock(struct inode *inode, int write) (unsigned long long)OCFS2_I(inode)->ip_blkno,...
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
2008 Oct 15
1
[PATCH] ocfs2: Wrap inode block reads in a dedicated function.
...rc; > + > + rc = ocfs2_validate_inode_block(inode->i_sb, *bh); > + return rc; > +} > + > +int ocfs2_read_inode_block(struct inode *inode, u64 blkno, > + struct buffer_head **bh) > +{ Can we get rid of the blkno argument here, and just get it from OCFS2_I(inode)->ip_blkno? Getting it out of ocfs2_read_inode_block_full() might be nice too, but not as big a deal since it isn't called as much. API-wise, this is a very nice change. It makes the checks we have more consistent. I think it'd be worth the time though to figure out how to execute the validation cod...
2013 Jul 25
0
[PATCH V8 21/33] ocfs2: add support for read_iter and write_iter
...atic ssize_t ocfs2_file_aio_write(struct kiocb *iocb, OCFS2_MOUNT_COHERENCY_BUFFERED); int unaligned_dio = 0; - trace_ocfs2_file_aio_write(inode, file, file->f_path.dentry, + trace_ocfs2_file_write_iter(inode, file, file->f_path.dentry, (unsigned long long)OCFS2_I(inode)->ip_blkno, file->f_path.dentry->d_name.len, file->f_path.dentry->d_name.name, - (unsigned int)nr_segs); + (unsigned long long)pos); if (iocb->ki_left == 0) return 0; @@ -2343,28 +2341,24 @@ relock: /* communicate with ocfs2_dio_end_io */ ocfs2_iocb_set_rw_locked(iocb, rw_lev...
2009 Jan 30
8
[PATCH 0/7] ocfs2: Directory indexing support
The following patches implement indexed directory support in Ocfs2, mostly according to the design doc I wrote up a while ago: http://oss.oracle.com/osswiki/OCFS2/DesignDocs/IndexedDirectories The patches have been rebased on top of 2.6.29-rc2. It should be trivial to put them into merge_window. Things are what I'd call complete now. I'd like to get these into the merge_window branch
2007 Sep 19
1
[PATCH 06/15] ocfs2: Remove open coded readdir()
...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 recovery. */ + OCFS2_I(iter)->ip_next_orphan = p->head; + p->head = iter; + + return 0; +} + static int ocfs2_queue_orphans(struct ocfs2_super *osb, int slot,...
2023 May 20
3
[PATCH v21 22/30] ocfs2: Provide a splice-read stub
...n, loff_t *ppos, + struct pipe_inode_info *pipe, + size_t len, unsigned int flags) +{ + struct inode *inode = file_inode(in); + ssize_t ret = 0; + int lock_level = 0; + + trace_ocfs2_file_splice_read(inode, in, in->f_path.dentry, + (unsigned long long)OCFS2_I(inode)->ip_blkno, + in->f_path.dentry->d_name.len, + in->f_path.dentry->d_name.name, + 0); + + /* + * We're fine letting folks race truncates and extending writes with + * read across the cluster, just like they can locally. Hence no + * rw_lock during read. + * + * Tak...
2013 Jun 20
2
[PATCH V2] ocfs2: need rollback when journal_access failed in ocfs2_orphan_add()
...NAL_ACCESS_WRITE); - if (status < 0) { - mlog_errno(status); - goto leave; + goto rollback; } fe->i_flags |= cpu_to_le32(OCFS2_ORPHANED_FL); @@ -2057,6 +2057,13 @@ static int ocfs2_orphan_add(struct ocfs2_super *osb, trace_ocfs2_orphan_add_end((unsigned long long)OCFS2_I(inode)->ip_blkno, osb->slot_num); +rollback: + if (status < 0) { + if (S_ISDIR(inode->i_mode)) + ocfs2_add_links_count(orphan_fe, -1); + set_nlink(orphan_dir_inode, ocfs2_read_links_count(orphan_fe)); + } + leave: brelse(orphan_dir_bh); -- 1.7.9.7
2013 Jan 09
0
[PATCH V5 19/30] ocfs2: add support for read_iter, write_iter, and direct_IO_bvec
...atic ssize_t ocfs2_file_aio_write(struct kiocb *iocb, OCFS2_MOUNT_COHERENCY_BUFFERED); int unaligned_dio = 0; - trace_ocfs2_file_aio_write(inode, file, file->f_path.dentry, + trace_ocfs2_file_write_iter(inode, file, file->f_path.dentry, (unsigned long long)OCFS2_I(inode)->ip_blkno, file->f_path.dentry->d_name.len, file->f_path.dentry->d_name.name, - (unsigned int)nr_segs); + (unsigned long long)pos); if (iocb->ki_left == 0) return 0; @@ -2344,28 +2342,24 @@ relock: /* communicate with ocfs2_dio_end_io */ ocfs2_iocb_set_rw_locked(iocb, rw_lev...
2006 Dec 29
3
[git patches] ocfs2 fixes
...->PR + * downconverts, we'll lose our mappings and have to build + * them up again. + */ + unmap_mapping_range(mapping, 0, 0, 0); + if (filemap_fdatawrite(mapping)) { mlog(ML_ERROR, "Could not sync inode %llu for downconvert!", (unsigned long long)OCFS2_I(inode)->ip_blkno); @@ -2725,7 +2734,6 @@ static int ocfs2_data_convert_worker(str sync_mapping_buffers(mapping); if (blocking == LKM_EXMODE) { truncate_inode_pages(mapping, 0); - unmap_mapping_range(mapping, 0, 0, 0); } else { /* We only need to wait on the I/O if we're not also * truncating pa...
2009 Mar 05
3
[PATCH 0/2] ocfs2: two bug fixes about xattr and inline-data V2
Hi, Thanks Tao and Joel's review, These are the second version of the patches. Mark and Joel, you can correct my comments if you find they don't suitable. thanks, tiger
2009 Aug 02
1
Non sparse extend init issue
The patch was created against a 1.4 tree. However, it applies cleanly to mainline too. The patch has been lightly tested. I am running fill_verify_holes on a non sparse volume currently. Please review. Sunil
2004 Sep 04
0
[PATCH] remove ocfs_put_inode
...(revision 1426) +++ src/inode.c (working copy) @@ -521,26 +521,6 @@ return status; } -/* - * ocfs_put_inode() - * - */ -void ocfs_put_inode (struct inode *inode) -{ - ocfs_super *osb; - - LOG_SET_CONTEXT(PUT_INODE); - - LOG_ENTRY_ARGS ("(0x%p, i_ino=%llu)\n", inode, OCFS_I(inode)->ip_blkno); - LOG_TRACE_ARGS ("put_inode: count=%d\n", atomic_read(&inode->i_count)); - osb = OCFS_SB(inode->i_sb); - LOG_EXIT (); - - LOG_CLEAR_CONTEXT(); - return; -} /* ocfs_put_inode */ - - void ocfs_sync_blockdev(struct super_block *sb) { #if LINUX_VERSION_CODE >= KERNEL_VER...
2023 May 19
0
[PATCH v20 19/32] ocfs2: Provide a splice-read stub
...n, loff_t *ppos, + struct pipe_inode_info *pipe, + size_t len, unsigned int flags) +{ + struct inode *inode = file_inode(in); + ssize_t ret = 0; + int lock_level = 0; + + trace_ocfs2_file_splice_read(inode, in, in->f_path.dentry, + (unsigned long long)OCFS2_I(inode)->ip_blkno, + in->f_path.dentry->d_name.len, + in->f_path.dentry->d_name.name, + 0); + + if (in->f_flags & O_DIRECT) + return direct_splice_read(in, ppos, pipe, len, flags); + + /* + * We're fine letting folks race truncates and extending writes with + * read...
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
2010 Aug 20
0
[PATCH] ocfs2: Don't delete orphaned files if we are in the process of umount.
...test_osb_flag(OCFS2_SB(inode->i_sb), + OCFS2_OSB_UMOUNT_START) && + !(OCFS2_I(inode)->ip_flags & OCFS2_INODE_SKIP_ORPHAN_DIR)) + mlog(0, "skip delete inode %llu because " + "umount has begun.\n", + (unsigned long long)OCFS2_I(inode)->ip_blkno); + else + delete = 1; + } + + if (delete) ocfs2_delete_inode(inode); - } else { + else truncate_inode_pages(&inode->i_data, 0); - } + ocfs2_clear_inode(inode); } diff --git a/fs/ocfs2/ocfs2.h b/fs/ocfs2/ocfs2.h index 70354a5..0544b0c 100644 --- a/fs/ocfs2/ocfs2.h +++ b/fs/ocfs...