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

Commit 73a0e405 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* git://oss.sgi.com:8090/nathans/xfs-2.6:
  [XFS] Fixup whitespace damage in log_write, remove final warning.
  [XFS] Rework code snippets slightly to remove remaining recent-gcc
  [XFS] Fix realtime subvolume expansion, a porting bug b0rked it.  Coverity
  [XFS] Remove a race condition where a linked inode could BUG_ON in
  [XFS] Remove redundant directory checks from inode link operation.
  [XFS] Remove a couple of no-longer-used macros.
  [XFS] Reduce size of xfs_trans_t structure. * remove ->t_forw, ->t_back --
  [XFS] remove unused behaviour lock - shrink XFS vnode as a side effect.
  [XFS] * There is trivial "inode => vnode => inode" conversion, but only
  [XFS] link(2) on directory is banned in VFS.
parents 03529d9f 5493a0fc
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -419,16 +419,15 @@ xfs_vn_link(
	int		error;

	ip = old_dentry->d_inode;	/* inode being linked to */
	if (S_ISDIR(ip->i_mode))
		return -EPERM;

	tdvp = vn_from_inode(dir);
	vp = vn_from_inode(ip);

	VN_HOLD(vp);
	error = bhv_vop_link(tdvp, vp, dentry, NULL);
	if (likely(!error)) {
	if (unlikely(error)) {
		VN_RELE(vp);
	} else {
		VMODIFY(tdvp);
		VN_HOLD(vp);
		xfs_validate_fields(ip, &vattr);
		d_instantiate(dentry, ip);
	}
+0 −2
Original line number Diff line number Diff line
@@ -140,9 +140,7 @@ BUFFER_FNS(PrivateStart, unwritten);
#define current_pid()		(current->pid)
#define current_fsuid(cred)	(current->fsuid)
#define current_fsgid(cred)	(current->fsgid)
#define current_set_flags(f)	(current->flags |= (f))
#define current_test_flags(f)	(current->flags & (f))
#define current_clear_flags(f)	(current->flags & ~(f))
#define current_set_flags_nested(sp, f)		\
		(*(sp) = current->flags, current->flags |= (f))
#define current_clear_flags_nested(sp, f)	\
+1 −1
Original line number Diff line number Diff line
@@ -93,7 +93,7 @@ typedef enum {
 */
static inline struct bhv_vnode *vn_from_inode(struct inode *inode)
{
	return (bhv_vnode_t *)list_entry(inode, bhv_vnode_t, v_inode);
	return container_of(inode, bhv_vnode_t, v_inode);
}
static inline struct inode *vn_to_inode(struct bhv_vnode *vnode)
{
+0 −3
Original line number Diff line number Diff line
@@ -78,15 +78,12 @@
 *
 */

struct bhv_head_lock;

/*
 * Behavior head.  Head of the chain of behaviors.
 * Contained within each virtualized object data structure.
 */
typedef struct bhv_head {
	struct bhv_desc *bh_first;	/* first behavior in chain */
	struct bhv_head_lock *bh_lockp;	/* pointer to lock info struct */
} bhv_head_t;

/*
+2 −2
Original line number Diff line number Diff line
@@ -1961,9 +1961,9 @@ xfs_iunlink_remove(
	xfs_agino_t	agino;
	xfs_agino_t	next_agino;
	xfs_buf_t	*last_ibp;
	xfs_dinode_t	*last_dip;
	xfs_dinode_t	*last_dip = NULL;
	short		bucket_index;
	int		offset, last_offset;
	int		offset, last_offset = 0;
	int		error;
	int		agi_ok;

Loading