Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 79b520e8 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs

* 'for-linus' of git://oss.sgi.com/xfs/xfs: (39 commits)
  xfs: includecheck fix for fs/xfs/xfs_iops.c
  xfs: switch to seq_file
  xfs: Record new maintainer information
  xfs: use correct log reservation when handling ENOSPC in xfs_create
  xfs: xfs_showargs() reports group *and* project quotas enabled
  xfs: un-static xfs_inobt_lookup
  xfs: actually enable the swapext compat handler
  xfs: simplify xfs_trans_iget
  xfs: merge fsync and O_SYNC handling
  xfs: speed up free inode search
  xfs: rationalize xfs_inobt_lookup*
  xfs: untangle xfs_dialloc
  xfs: factor out debug checks from xfs_dialloc and xfs_difree
  xfs: improve xfs_inobt_update prototype
  xfs: improve xfs_inobt_get_rec prototype
  xfs: factor out inode initialisation
  fs/xfs: Correct redundant test
  xfs: remove XFS_INO64_OFFSET
  un-static xfs_read_agf
  xfs: add more statics & drop some unused functions
  ...
parents abf5940d fdec29c5
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -5707,7 +5707,7 @@ F: include/xen/


XFS FILESYSTEM
XFS FILESYSTEM
P:	Silicon Graphics Inc
P:	Silicon Graphics Inc
M:	Felix Blyakher <felixb@sgi.com>
M:	Alex Elder <aelder@sgi.com>
M:	xfs-masters@oss.sgi.com
M:	xfs-masters@oss.sgi.com
L:	xfs@oss.sgi.com
L:	xfs@oss.sgi.com
W:	http://oss.sgi.com/projects/xfs
W:	http://oss.sgi.com/projects/xfs
+0 −1
Original line number Original line Diff line number Diff line
@@ -216,7 +216,6 @@ xfs_setfilesize(
	if (ip->i_d.di_size < isize) {
	if (ip->i_d.di_size < isize) {
		ip->i_d.di_size = isize;
		ip->i_d.di_size = isize;
		ip->i_update_core = 1;
		ip->i_update_core = 1;
		ip->i_update_size = 1;
		xfs_mark_inode_dirty_sync(ip);
		xfs_mark_inode_dirty_sync(ip);
	}
	}


+14 −5
Original line number Original line Diff line number Diff line
@@ -172,12 +172,21 @@ xfs_file_release(
 */
 */
STATIC int
STATIC int
xfs_file_fsync(
xfs_file_fsync(
	struct file	*filp,
	struct file		*file,
	struct dentry		*dentry,
	struct dentry		*dentry,
	int			datasync)
	int			datasync)
{
{
	xfs_iflags_clear(XFS_I(dentry->d_inode), XFS_ITRUNCATED);
	struct inode		*inode = dentry->d_inode;
	return -xfs_fsync(XFS_I(dentry->d_inode));
	struct xfs_inode	*ip = XFS_I(inode);
	int			error;

	/* capture size updates in I/O completion before writing the inode. */
	error = filemap_fdatawait(inode->i_mapping);
	if (error)
		return error;

	xfs_iflags_clear(ip, XFS_ITRUNCATED);
	return -xfs_fsync(ip);
}
}


STATIC int
STATIC int
+0 −1
Original line number Original line Diff line number Diff line
@@ -43,7 +43,6 @@
#include "xfs_error.h"
#include "xfs_error.h"
#include "xfs_itable.h"
#include "xfs_itable.h"
#include "xfs_rw.h"
#include "xfs_rw.h"
#include "xfs_acl.h"
#include "xfs_attr.h"
#include "xfs_attr.h"
#include "xfs_buf_item.h"
#include "xfs_buf_item.h"
#include "xfs_utils.h"
#include "xfs_utils.h"
+5 −3
Original line number Original line Diff line number Diff line
@@ -812,19 +812,21 @@ xfs_write(


	/* Handle various SYNC-type writes */
	/* Handle various SYNC-type writes */
	if ((file->f_flags & O_SYNC) || IS_SYNC(inode)) {
	if ((file->f_flags & O_SYNC) || IS_SYNC(inode)) {
		loff_t end = pos + ret - 1;
		int error2;
		int error2;


		xfs_iunlock(xip, iolock);
		xfs_iunlock(xip, iolock);
		if (need_i_mutex)
		if (need_i_mutex)
			mutex_unlock(&inode->i_mutex);
			mutex_unlock(&inode->i_mutex);
		error2 = filemap_write_and_wait_range(mapping, pos,

						      pos + ret - 1);
		error2 = filemap_write_and_wait_range(mapping, pos, end);
		if (!error)
		if (!error)
			error = error2;
			error = error2;
		if (need_i_mutex)
		if (need_i_mutex)
			mutex_lock(&inode->i_mutex);
			mutex_lock(&inode->i_mutex);
		xfs_ilock(xip, iolock);
		xfs_ilock(xip, iolock);
		error2 = xfs_write_sync_logforce(mp, xip);

		error2 = xfs_fsync(xip);
		if (!error)
		if (!error)
			error = error2;
			error = error2;
	}
	}
Loading