Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 124610
Collapse All | Expand All

(-)cluster-1.01.00.orig/gfs-kernel/src/gfs/ops_file.c (-2 / +2 lines)
Lines 931-942 Link Here
931
	if (!access_ok(VERIFY_READ, buf, size))
931
	if (!access_ok(VERIFY_READ, buf, size))
932
		return -EFAULT;
932
		return -EFAULT;
933
933
934
	down(&inode->i_sem);
934
	mutex_lock(&inode->i_mutex);
935
	if (file->f_flags & O_DIRECT)
935
	if (file->f_flags & O_DIRECT)
936
		count = walk_vm(file, (char *)buf, size, offset, do_write_direct);
936
		count = walk_vm(file, (char *)buf, size, offset, do_write_direct);
937
	else
937
	else
938
		count = walk_vm(file, (char *)buf, size, offset, do_write_buf);
938
		count = walk_vm(file, (char *)buf, size, offset, do_write_buf);
939
	up(&inode->i_sem);
939
	mutex_unlock(&inode->i_mutex);
940
940
941
	return count;
941
	return count;
942
}
942
}
(-)cluster-1.01.00.orig/gfs-kernel/src/gfs/ops_fstype.c (-6 / +4 lines)
Lines 715-723 Link Here
715
715
716
		sb->s_flags = flags;
716
		sb->s_flags = flags;
717
		strlcpy(sb->s_id, bdevname(real, buf), sizeof(sb->s_id));
717
		strlcpy(sb->s_id, bdevname(real, buf), sizeof(sb->s_id));
718
		sb->s_old_blocksize = block_size(real);
718
		sb_set_blocksize(sb, block_size(real));
719
		sb_set_blocksize(sb, sb->s_old_blocksize);
719
		sync_blockdev(real);
720
		set_blocksize(real, sb->s_old_blocksize);
721
		error = fill_super(sb, data, (flags & MS_VERBOSE) ? 1 : 0);
720
		error = fill_super(sb, data, (flags & MS_VERBOSE) ? 1 : 0);
722
		if (error) {
721
		if (error) {
723
			up_write(&sb->s_umount);
722
			up_write(&sb->s_umount);
Lines 748-758 Link Here
748
{
747
{
749
	struct block_device *diaper = sb->s_bdev;
748
	struct block_device *diaper = sb->s_bdev;
750
	struct block_device *real = gfs_diaper_2real(diaper);
749
	struct block_device *real = gfs_diaper_2real(diaper);
751
	unsigned long bsize = sb->s_old_blocksize;
752
750
753
	generic_shutdown_super(sb);
751
	generic_shutdown_super(sb);
754
	set_blocksize(diaper, bsize);
752
	sync_blockdev(diaper);
755
	set_blocksize(real, bsize);
753
	sync_blockdev(real);
756
	gfs_diaper_put(diaper);
754
	gfs_diaper_put(diaper);
757
	close_bdev_excl(real);
755
	close_bdev_excl(real);
758
}
756
}

Return to bug 124610