ocfs2 fixes
Subsystems (3)
PATCH 1/1 ocfs2 fixes
This includes a small doc update, which I missed earlier. It doesn't change any code. The other three patches are real fixes.
--Mark
Please pull from 'upstream-linus' branch ofgit://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2.git upstream-linus
to receive the following updates:
Documentation/filesystems/ocfs2.txt | 13 ++++-- fs/Kconfig | 3 - fs/ocfs2/alloc.c | 1 fs/ocfs2/aops.c | 4 +- fs/ocfs2/file.c | 1 fs/ocfs2/super.c | 69 +++++++++++++++++++----------------- 6 files changed, 50 insertions(+), 41 deletions(-)
Mark Fasheh (2):
ocfs2: update docs for new features
ocfs2: Fix calculation of i_blocks during truncate
Tiger Yang (1):
ocfs2: fix mount option parsing
[email protected] (1):
ocfs2: Fix a wrong cluster calculation.
Documentation/filesystems/ocfs2.txt +9 -4
@@ -28,11 +28,7 @@ Manish Singh <[email protected]> Caveats ======= Features which OCFS2 does not support yet: - - sparse files - extended attributes - - shared writable mmap - - loopback is supported, but data written will not - be cluster coherent. - quotas - cluster aware flock - cluster aware lockf
@@ -57,3 +53,12 @@ nointr Do not allow signals to interrupt cluster atime_quantum=60(*) OCFS2 will not update atime unless this number of seconds has passed since the last update. Set to zero to always update atime. +data=ordered (*) All data are forced directly out to the main file + system prior to its metadata being committed to the + journal. +data=writeback Data ordering is not preserved, data may be written + into the main file system after its metadata has been + committed to the journal. +preferred_slot=0(*) During mount, try to use this filesystem slot first. If + it is in use by another node, the first empty one found + will be chosen. Invalid values will be ignored.
fs/Kconfig +0 -3
@@ -441,9 +441,6 @@ config OCFS2_FS Note: Features which OCFS2 does not support yet: - extended attributes - - shared writeable mmap - - loopback is supported, but data written will not - be cluster coherent. - quotas - cluster aware flock - Directory change notification (F_NOTIFY)
fs/ocfs2/alloc.c +1 -0
@@ -5602,6 +5602,7 @@ static int ocfs2_do_truncate(struct ocfs2_super *osb, clusters_to_del;spin_unlock (&OCFS2_I (inode)->ip_lock);le32_add_cpu (&fe->i_clusters, -clusters_to_del); + inode->i_blocks =ocfs2_inode_sector_count (inode); status =ocfs2_trim_tree (inode, path, handle, tc, clusters_to_del, &delete_blk);
fs/ocfs2/aops.c +3 -1
@@ -855,6 +855,7 @@ static int ocfs2_alloc_write_ctxt(struct ocfs2_write_ctxt **wcp, struct ocfs2_super *osb, loff_t pos, unsigned len, struct buffer_head *di_bh) { + u32 cend;struct ocfs2_write_ctxt *wc; wc =kzalloc (sizeof (struct ocfs2_write_ctxt ),GFP_NOFS );
@@ -862,7 +863,8 @@ static int ocfs2_alloc_write_ctxt(struct ocfs2_write_ctxt **wcp,return -ENOMEM ; wc->w_cpos = pos >> osb->s_clustersize_bits; - wc->w_clen =ocfs2_clusters_for_bytes (osb->sb, len); + cend = (pos + len -1 ) >> osb->s_clustersize_bits; + wc->w_clen = cend - wc->w_cpos +1 ;get_bh (di_bh); wc->w_di_bh = di_bh;
fs/ocfs2/file.c +0 -1
@@ -314,7 +314,6 @@ static int ocfs2_orphan_for_truncate(struct ocfs2_super *osb, }i_size_write (inode, new_i_size); - inode->i_blocks =ocfs2_align_bytes_to_sectors (new_i_size); inode->i_ctime = inode->i_mtime =CURRENT_TIME ; di = (struct ocfs2_dinode *) fe_bh->b_data;
fs/ocfs2/super.c +37 -32
182 lines not on this page · raw message