xfs: drop dmapi hooks
PATCH 1/2 xfs: drop dmapi hooks
Dmapi support was never merged upstream, but we still have a lot of hooks bloating XFS for it, all over the fast pathes of the filesystem.
This patch drops over 700 lines of dmapi overhead. If we'll ever get HSM support in mainline at least the namespace events can be done much saner in the VFS instead of the individual filesystem, so it's not like this is much help for future work.
fs/xfs/linux-2.6/xfs_file.c +0 -85
@@ -24,7 +24,6 @@#include "xfs_ag.h" #include "xfs_dir2.h" #include "xfs_trans.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h" #include "xfs_alloc_btree.h"
@@ -275,20 +274,6 @@ xfs_file_aio_read(mutex_lock (&inode->i_mutex);xfs_ilock (ip,XFS_IOLOCK_SHARED ); -if (DM_EVENT_ENABLED (ip,DM_EVENT_READ ) && !(ioflags &IO_INVIS )) { -int dmflags =FILP_DELAY_FLAG (file) |DM_SEM_FLAG_RD (ioflags); -int iolock =XFS_IOLOCK_SHARED ; - - ret = -XFS_SEND_DATA (mp,DM_EVENT_READ , ip, iocb->ki_pos, size, - dmflags, &iolock); -if (ret) { -xfs_iunlock (ip,XFS_IOLOCK_SHARED ); -if (unlikely (ioflags &IO_ISDIRECT )) -mutex_unlock (&inode->i_mutex); -return ret; - } - } -if (unlikely (ioflags &IO_ISDIRECT )) {if (inode->i_mapping->nrpages) { ret = -xfs_flushinval_pages(ip,
@@ -321,7 +306,6 @@ xfs_file_splice_read( unsigned int flags) {struct xfs_inode *ip =XFS_I (infilp->f_mapping->host); -struct xfs_mount *mp = ip->i_mount;int ioflags =0 ;ssize_t ret;
@@ -335,18 +319,6 @@ xfs_file_splice_read(xfs_ilock (ip,XFS_IOLOCK_SHARED ); -if (DM_EVENT_ENABLED (ip,DM_EVENT_READ ) && !(ioflags &IO_INVIS )) { -int iolock =XFS_IOLOCK_SHARED ; -int error; - - error =XFS_SEND_DATA (mp,DM_EVENT_READ , ip, *ppos, count, -FILP_DELAY_FLAG (infilp), &iolock); -if (error) { -xfs_iunlock (ip,XFS_IOLOCK_SHARED ); -return -error; - } - } -trace_xfs_file_splice_read (ip, count, *ppos, ioflags); ret =generic_file_splice_read (infilp, ppos, pipe, count, flags);
@@ -367,7 +339,6 @@ xfs_file_splice_write( {struct inode *inode = outfilp->f_mapping->host;struct xfs_inode *ip =XFS_I (inode); -struct xfs_mount *mp = ip->i_mount;xfs_fsize_t isize, new_size;int ioflags =0 ;ssize_t ret;
@@ -382,18 +353,6 @@ xfs_file_splice_write(xfs_ilock (ip,XFS_IOLOCK_EXCL ); -if (DM_EVENT_ENABLED (ip,DM_EVENT_WRITE ) && !(ioflags &IO_INVIS )) { -int iolock =XFS_IOLOCK_EXCL ; -int error; - - error =XFS_SEND_DATA (mp,DM_EVENT_WRITE , ip, *ppos, count, -FILP_DELAY_FLAG (outfilp), &iolock); -if (error) { -xfs_iunlock (ip,XFS_IOLOCK_EXCL ); -return -error; - } - } - new_size = *ppos + count;xfs_ilock (ip,XFS_ILOCK_EXCL );
@@ -627,7 +586,6 @@ xfs_file_aio_write(int ioflags =0 ;xfs_fsize_t isize, new_size;int iolock; -int eventsent =0 ;size_t ocount =0 , count;int need_i_mutex;
@@ -673,33 +631,6 @@ start: goto out_unlock_mutex; } -if ((DM_EVENT_ENABLED (ip,DM_EVENT_WRITE ) && - !(ioflags &IO_INVIS ) && !eventsent)) { -int dmflags =FILP_DELAY_FLAG (file); - -if (need_i_mutex) - dmflags |=DM_FLAGS_IMUX ; - -xfs_iunlock (ip,XFS_ILOCK_EXCL ); - error =XFS_SEND_DATA (ip->i_mount,DM_EVENT_WRITE , ip, - pos, count, dmflags, &iolock); -if (error) { - goto out_unlock_internal; - } -xfs_ilock (ip,XFS_ILOCK_EXCL ); - eventsent =1 ; - -/* -* The iolock was dropped and reacquired in XFS_SEND_DATA -* so we have to recheck the size when appending. -* We will only "goto start;" once, since having sent the -* event prevents another call to XFS_SEND_DATA, which is -* what allows the size to change in the first place. -*/ -if ((file->f_flags &O_APPEND ) && pos != ip->i_size) - goto start; - } -if (ioflags &IO_ISDIRECT ) {xfs_buftarg_t *target = XFS_IS_REALTIME_INODE(ip) ?
@@ -830,22 +761,6 @@ write_retry:xfs_iunlock (ip,XFS_ILOCK_EXCL ); } -if (ret == -ENOSPC && -DM_EVENT_ENABLED (ip,DM_EVENT_NOSPACE ) && !(ioflags &IO_INVIS )) { -xfs_iunlock (ip, iolock); -if (need_i_mutex) -mutex_unlock (&inode->i_mutex); - error =XFS_SEND_NAMESP (ip->i_mount,DM_EVENT_NOSPACE , ip, -DM_RIGHT_NULL , ip,DM_RIGHT_NULL ,NULL ,NULL , -0 ,0 ,0 );/* Delay flag intentionally unused */ -if (need_i_mutex) -mutex_lock (&inode->i_mutex); -xfs_ilock (ip, iolock); -if (error) - goto out_unlock_internal; - goto start; - } - error = -ret;if (ret <=0 ) goto out_unlock_internal;
fs/xfs/linux-2.6/xfs_ioctl.c +1 -11
@@ -25,7 +25,6 @@#include "xfs_ag.h" #include "xfs_dir2.h" #include "xfs_alloc.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h" #include "xfs_alloc_btree.h"
@@ -1116,16 +1115,7 @@ xfs_ioctl_setattr(xfs_qm_dqrele (udqp);xfs_qm_dqrele (gdqp); -if (code) -return code; - -if (DM_EVENT_ENABLED (ip,DM_EVENT_ATTRIBUTE )) { -XFS_SEND_NAMESP (mp,DM_EVENT_ATTRIBUTE , ip,DM_RIGHT_NULL , -NULL ,DM_RIGHT_NULL ,NULL ,NULL ,0 ,0 , - (mask &FSX_NONBLOCK ) ?DM_FLAGS_NDELAY :0 ); - } - -return 0 ; +return code; error_return:xfs_qm_dqrele (udqp);
fs/xfs/linux-2.6/xfs_super.c +7 -36
127 lines not on this page · raw message
fs/xfs/xfs_bmap.c +0 -23
@@ -34,7 +34,6 @@#include "xfs_dinode.h" #include "xfs_inode.h" #include "xfs_btree.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_ialloc.h" #include "xfs_itable.h"
@@ -5605,28 +5604,6 @@ xfs_getbmap( prealloced =0 ; fixlen =1LL <<32 ; }else { -/* -* If the BMV_IF_NO_DMAPI_READ interface bit specified, do -* not generate a DMAPI read event. Otherwise, if the -* DM_EVENT_READ bit is set for the file, generate a read -* event in order that the DMAPI application may do its thing -* before we return the extents. Usually this means restoring -* user file data to regions of the file that look like holes. -* -* The "old behavior" (from XFS_IOC_GETBMAP) is to not specify -* BMV_IF_NO_DMAPI_READ so that read events are generated. -* If this were not true, callers of ioctl(XFS_IOC_GETBMAP) -* could misinterpret holes in a DMAPI file as true holes, -* when in fact they may represent offline user data. -*/ -if (DM_EVENT_ENABLED (ip,DM_EVENT_READ ) && - !(iflags &BMV_IF_NO_DMAPI_READ )) { - error =XFS_SEND_DATA (mp,DM_EVENT_READ , ip, -0 ,0 ,0 ,NULL ); -if (error) -return XFS_ERROR (error); - } -if (ip->i_d.di_format !=XFS_DINODE_FMT_EXTENTS && ip->i_d.di_format !=XFS_DINODE_FMT_BTREE && ip->i_d.di_format !=XFS_DINODE_FMT_LOCAL )
fs/xfs/xfs_rename.c +3 -29
@@ -24,7 +24,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_da_btree.h" #include "xfs_bmap_btree.h"
@@ -119,18 +118,6 @@ xfs_rename(xfs_itrace_entry (src_dp);xfs_itrace_entry (target_dp); -if (DM_EVENT_ENABLED (src_dp,DM_EVENT_RENAME ) || -DM_EVENT_ENABLED (target_dp,DM_EVENT_RENAME )) { - error =XFS_SEND_NAMESP (mp,DM_EVENT_RENAME , - src_dp,DM_RIGHT_NULL , - target_dp,DM_RIGHT_NULL , - src_name->name, target_name->name, -0 ,0 ,0 ); -if (error) -return error; - } -/* Return through std_return after this point. */ - new_parent = (src_dp != target_dp); src_is_directory = ((src_ip->i_d.di_mode &S_IFMT ) ==S_IFDIR );
@@ -369,26 +356,13 @@ xfs_rename(* trans_commit will unlock src_ip, target_ip & decrement * the vnode references. */ - error =xfs_trans_commit (tp,XFS_TRANS_RELEASE_LOG_RES ); - -/* Fall through to std_return with error = 0 or errno from -* xfs_trans_commit */ -std_return: -if (DM_EVENT_ENABLED (src_dp,DM_EVENT_POSTRENAME ) || -DM_EVENT_ENABLED (target_dp,DM_EVENT_POSTRENAME )) { - (void )XFS_SEND_NAMESP (mp,DM_EVENT_POSTRENAME , - src_dp,DM_RIGHT_NULL , - target_dp,DM_RIGHT_NULL , - src_name->name, target_name->name, -0 , error,0 ); - } -return error; +return xfs_trans_commit (tp,XFS_TRANS_RELEASE_LOG_RES ); abort_return: cancel_flags |=XFS_TRANS_ABORT ; -/* FALLTHROUGH */ error_return:xfs_bmap_cancel (&free_list);xfs_trans_cancel (tp, cancel_flags); - goto std_return; + std_return: +return error; }
fs/xfs/xfs_vnodeops.c +15 -157
304 lines not on this page · raw message
fs/xfs/Makefile +1 -2
@@ -89,8 +89,7 @@ xfs-y += xfs_alloc.o \ xfs_trans_item.o \ xfs_utils.o \ xfs_vnodeops.o \ - xfs_rw.o \ - xfs_dmops.o + xfs_rw.o xfs-$(CONFIG_XFS_TRACE) += xfs_btree_trace.o
fs/xfs/linux-2.6/xfs_aops.c +0 -1
@@ -23,7 +23,6 @@#include "xfs_ag.h" #include "xfs_dir2.h" #include "xfs_trans.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h" #include "xfs_alloc_btree.h"
fs/xfs/linux-2.6/xfs_buf.c +0 -1
@@ -38,7 +38,6 @@#include "xfs_sb.h" #include "xfs_inum.h" #include "xfs_ag.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_trace.h"
fs/xfs/linux-2.6/xfs_export.c +0 -1
@@ -23,7 +23,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_export.h" #include "xfs_vnodeops.h"
fs/xfs/linux-2.6/xfs_fs_subr.c +0 -4
@@ -21,10 +21,6 @@#include "xfs_inode.h" #include "xfs_trace.h" -int fs_noerr (void ) {return 0 ; } -int fs_nosys (void ) {return ENOSYS ; } -void fs_noval (void ) {return ; } -/* * note: all filemap functions return negative error codes. These * need to be inverted before returning to the xfs core functions.
fs/xfs/linux-2.6/xfs_fs_subr.h deleted +0 -25
@@ -1,25 +0,0 @@ -/* -* Copyright (c) 2000,2002,2005 Silicon Graphics, Inc. -* All Rights Reserved. -* -* This program is free software; you can redistribute it and/or -* modify it under the terms of the GNU General Public License as -* published by the Free Software Foundation. -* -* This program is distributed in the hope that it would be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program; if not, write the Free Software Foundation, -* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -*/ -#ifndef __XFS_FS_SUBR_H__ -#define __XFS_FS_SUBR_H__ - -extern int fs_noerr (void ); -extern int fs_nosys (void ); -extern void fs_noval (void ); - -#endif /* __XFS_FS_SUBR_H__ */
fs/xfs/linux-2.6/xfs_ioctl32.c +0 -1
@@ -28,7 +28,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h" #include "xfs_attr_sf.h"
fs/xfs/linux-2.6/xfs_iops.c +0 -1
@@ -26,7 +26,6 @@#include "xfs_ag.h" #include "xfs_dir2.h" #include "xfs_alloc.h" -#include "xfs_dmapi.h" #include "xfs_quota.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h"
fs/xfs/linux-2.6/xfs_linux.h +0 -1
@@ -87,7 +87,6 @@#include <xfs_aops.h> #include <xfs_super.h> #include <xfs_globals.h> -#include <xfs_fs_subr.h> #include <xfs_buf.h> /*
fs/xfs/linux-2.6/xfs_quotaops.c +0 -1
@@ -16,7 +16,6 @@* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "xfs.h" -#include "xfs_dmapi.h" #include "xfs_sb.h" #include "xfs_inum.h" #include "xfs_ag.h"
fs/xfs/linux-2.6/xfs_sync.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h" #include "xfs_alloc_btree.h"
fs/xfs/linux-2.6/xfs_trace.c +0 -1
@@ -34,7 +34,6 @@#include "xfs_dinode.h" #include "xfs_inode.h" #include "xfs_btree.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_ialloc.h" #include "xfs_itable.h"
fs/xfs/quota/xfs_dquot.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_ag.h" #include "xfs_dir2.h" #include "xfs_alloc.h" -#include "xfs_dmapi.h" #include "xfs_quota.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h"
fs/xfs/quota/xfs_dquot_item.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_ag.h" #include "xfs_dir2.h" #include "xfs_alloc.h" -#include "xfs_dmapi.h" #include "xfs_quota.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h"
fs/xfs/quota/xfs_qm.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_ag.h" #include "xfs_dir2.h" #include "xfs_alloc.h" -#include "xfs_dmapi.h" #include "xfs_quota.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h"
fs/xfs/quota/xfs_qm_bhv.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_ag.h" #include "xfs_dir2.h" #include "xfs_alloc.h" -#include "xfs_dmapi.h" #include "xfs_quota.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h"
fs/xfs/quota/xfs_qm_stats.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_ag.h" #include "xfs_dir2.h" #include "xfs_alloc.h" -#include "xfs_dmapi.h" #include "xfs_quota.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h"
fs/xfs/quota/xfs_qm_syscalls.c +0 -1
@@ -28,7 +28,6 @@#include "xfs_ag.h" #include "xfs_dir2.h" #include "xfs_alloc.h" -#include "xfs_dmapi.h" #include "xfs_quota.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h"
fs/xfs/quota/xfs_trans_dquot.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_ag.h" #include "xfs_dir2.h" #include "xfs_alloc.h" -#include "xfs_dmapi.h" #include "xfs_quota.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h"
fs/xfs/support/debug.c +0 -1
@@ -22,7 +22,6 @@#include "xfs_sb.h" #include "xfs_inum.h" #include "xfs_ag.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_error.h"
fs/xfs/xfs_alloc.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h" #include "xfs_alloc_btree.h"
fs/xfs/xfs_alloc_btree.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h" #include "xfs_alloc_btree.h"
fs/xfs/xfs_attr.c +0 -1
@@ -26,7 +26,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_da_btree.h" #include "xfs_bmap_btree.h"
fs/xfs/xfs_attr_leaf.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_da_btree.h" #include "xfs_bmap_btree.h"
fs/xfs/xfs_bmap_btree.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h" #include "xfs_alloc_btree.h"
fs/xfs/xfs_btree.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h" #include "xfs_alloc_btree.h"
fs/xfs/xfs_buf_item.c +0 -1
@@ -24,7 +24,6 @@#include "xfs_trans.h" #include "xfs_sb.h" #include "xfs_ag.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_buf_item.h" #include "xfs_trans_priv.h"
fs/xfs/xfs_da_btree.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_da_btree.h" #include "xfs_bmap_btree.h"
fs/xfs/xfs_dfrag.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h" #include "xfs_alloc_btree.h"
fs/xfs/xfs_dir2.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_da_btree.h" #include "xfs_bmap_btree.h"
fs/xfs/xfs_dir2_block.c +0 -1
@@ -24,7 +24,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_da_btree.h" #include "xfs_bmap_btree.h"
fs/xfs/xfs_dir2_data.c +0 -1
@@ -24,7 +24,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_da_btree.h" #include "xfs_bmap_btree.h"
fs/xfs/xfs_dir2_leaf.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_da_btree.h" #include "xfs_bmap_btree.h"
fs/xfs/xfs_dir2_node.c +0 -1
@@ -24,7 +24,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_da_btree.h" #include "xfs_bmap_btree.h"
fs/xfs/xfs_dir2_sf.c +0 -1
@@ -24,7 +24,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_da_btree.h" #include "xfs_bmap_btree.h"
fs/xfs/xfs_dmapi.h deleted +0 -170
170 lines not on this page · raw message
fs/xfs/xfs_dmops.c deleted +0 -55
55 lines not on this page · raw message
fs/xfs/xfs_error.c +0 -1
@@ -24,7 +24,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h" #include "xfs_dir2_sf.h"
fs/xfs/xfs_extfree_item.c +0 -1
@@ -24,7 +24,6 @@#include "xfs_buf_item.h" #include "xfs_sb.h" #include "xfs_ag.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_trans_priv.h" #include "xfs_extfree_item.h"
fs/xfs/xfs_filestream.c +0 -1
@@ -24,7 +24,6 @@#include "xfs_dinode.h" #include "xfs_inode.h" #include "xfs_ag.h" -#include "xfs_dmapi.h" #include "xfs_log.h" #include "xfs_trans.h" #include "xfs_sb.h"
fs/xfs/xfs_fsops.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h" #include "xfs_alloc_btree.h"
fs/xfs/xfs_ialloc.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h" #include "xfs_alloc_btree.h"
fs/xfs/xfs_ialloc_btree.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h" #include "xfs_alloc_btree.h"
fs/xfs/xfs_iget.c +0 -1
@@ -26,7 +26,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h" #include "xfs_alloc_btree.h"
fs/xfs/xfs_inode.c +0 -1
@@ -28,7 +28,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h" #include "xfs_alloc_btree.h"
fs/xfs/xfs_inode_item.c +0 -1
@@ -26,7 +26,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_trans_priv.h" #include "xfs_bmap_btree.h"
fs/xfs/xfs_iomap.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_ag.h" #include "xfs_dir2.h" #include "xfs_alloc.h" -#include "xfs_dmapi.h" #include "xfs_quota.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h"
fs/xfs/xfs_itable.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h" #include "xfs_alloc_btree.h"
fs/xfs/xfs_log.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_error.h" #include "xfs_log_priv.h"
fs/xfs/xfs_log_recover.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_error.h" #include "xfs_bmap_btree.h"
fs/xfs/xfs_mount.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h" #include "xfs_alloc_btree.h"
fs/xfs/xfs_mount.h +0 -66
84 lines not on this page · raw message
fs/xfs/xfs_rtalloc.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h" #include "xfs_alloc_btree.h"
fs/xfs/xfs_rw.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h" #include "xfs_alloc_btree.h"
fs/xfs/xfs_trans.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_error.h" #include "xfs_da_btree.h"
fs/xfs/xfs_trans_ail.c +0 -1
@@ -24,7 +24,6 @@#include "xfs_trans.h" #include "xfs_sb.h" #include "xfs_ag.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_trans_priv.h" #include "xfs_error.h"
fs/xfs/xfs_trans_buf.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h" #include "xfs_alloc_btree.h"
fs/xfs/xfs_trans_extfree.c +0 -1
@@ -23,7 +23,6 @@#include "xfs_trans.h" #include "xfs_sb.h" #include "xfs_ag.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_trans_priv.h" #include "xfs_extfree_item.h"
fs/xfs/xfs_trans_inode.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h" #include "xfs_alloc_btree.h"
fs/xfs/xfs_utils.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h" #include "xfs_dir2_sf.h"
fs/xfs/xfs_trans_item.c +0 -1
@@ -28,7 +28,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" STATIC int xfs_trans_unlock_chunk(xfs_log_item_chunk_t *,
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
Quoted 9 lines · Christoph Hellwig
Dmapi support was never merged upstream, but we still have a lot of hooks bloating XFS for it, all over the fast pathes of the filesystem.
This patch drops over 700 lines of dmapi overhead. If we'll ever get HSM support in mainline at least the namespace events can be done much saner in the VFS instead of the individual filesystem, so it's not like this is much help for future work.
Signed-off-by Christoph Hellwig <[email protected]>
yeah, probably about time.
There is a fair bit of dmapi crumbs left though:
[sandeen@sandeen xfs]$ grep -ri dmapi * | wc -l
63
so I think this patch can go further toward its goal...
-Eric
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
PATCH v2 1/2 xfs: drop dmapi hooks
In reply to Christoph HellwigDmapi support was never merged upstream, but we still have a lot of hooks bloating XFS for it, all over the fast pathes of the filesystem.
This patch drops over 700 lines of dmapi overhead. If we'll ever get HSM support in mainline at least the namespace events can be done much saner in the VFS instead of the individual filesystem, so it's not like this is much help for future work.
---
V1 -> V2
- updated to account for the delayed logging branch merge
- remove a few more left overs pointed out by Eric
fs/xfs/linux-2.6/xfs_file.c +0 -85
@@ -24,7 +24,6 @@#include "xfs_ag.h" #include "xfs_dir2.h" #include "xfs_trans.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h" #include "xfs_alloc_btree.h"
@@ -275,20 +274,6 @@ xfs_file_aio_read(mutex_lock (&inode->i_mutex);xfs_ilock (ip,XFS_IOLOCK_SHARED ); -if (DM_EVENT_ENABLED (ip,DM_EVENT_READ ) && !(ioflags &IO_INVIS )) { -int dmflags =FILP_DELAY_FLAG (file) |DM_SEM_FLAG_RD (ioflags); -int iolock =XFS_IOLOCK_SHARED ; - - ret = -XFS_SEND_DATA (mp,DM_EVENT_READ , ip, iocb->ki_pos, size, - dmflags, &iolock); -if (ret) { -xfs_iunlock (ip,XFS_IOLOCK_SHARED ); -if (unlikely (ioflags &IO_ISDIRECT )) -mutex_unlock (&inode->i_mutex); -return ret; - } - } -if (unlikely (ioflags &IO_ISDIRECT )) {if (inode->i_mapping->nrpages) { ret = -xfs_flushinval_pages(ip,
@@ -321,7 +306,6 @@ xfs_file_splice_read( unsigned int flags) {struct xfs_inode *ip =XFS_I (infilp->f_mapping->host); -struct xfs_mount *mp = ip->i_mount;int ioflags =0 ;ssize_t ret;
@@ -335,18 +319,6 @@ xfs_file_splice_read(xfs_ilock (ip,XFS_IOLOCK_SHARED ); -if (DM_EVENT_ENABLED (ip,DM_EVENT_READ ) && !(ioflags &IO_INVIS )) { -int iolock =XFS_IOLOCK_SHARED ; -int error; - - error =XFS_SEND_DATA (mp,DM_EVENT_READ , ip, *ppos, count, -FILP_DELAY_FLAG (infilp), &iolock); -if (error) { -xfs_iunlock (ip,XFS_IOLOCK_SHARED ); -return -error; - } - } -trace_xfs_file_splice_read (ip, count, *ppos, ioflags); ret =generic_file_splice_read (infilp, ppos, pipe, count, flags);
@@ -367,7 +339,6 @@ xfs_file_splice_write( {struct inode *inode = outfilp->f_mapping->host;struct xfs_inode *ip =XFS_I (inode); -struct xfs_mount *mp = ip->i_mount;xfs_fsize_t isize, new_size;int ioflags =0 ;ssize_t ret;
@@ -382,18 +353,6 @@ xfs_file_splice_write(xfs_ilock (ip,XFS_IOLOCK_EXCL ); -if (DM_EVENT_ENABLED (ip,DM_EVENT_WRITE ) && !(ioflags &IO_INVIS )) { -int iolock =XFS_IOLOCK_EXCL ; -int error; - - error =XFS_SEND_DATA (mp,DM_EVENT_WRITE , ip, *ppos, count, -FILP_DELAY_FLAG (outfilp), &iolock); -if (error) { -xfs_iunlock (ip,XFS_IOLOCK_EXCL ); -return -error; - } - } - new_size = *ppos + count;xfs_ilock (ip,XFS_ILOCK_EXCL );
@@ -627,7 +586,6 @@ xfs_file_aio_write(int ioflags =0 ;xfs_fsize_t isize, new_size;int iolock; -int eventsent =0 ;size_t ocount =0 , count;int need_i_mutex;
@@ -673,33 +631,6 @@ start: goto out_unlock_mutex; } -if ((DM_EVENT_ENABLED (ip,DM_EVENT_WRITE ) && - !(ioflags &IO_INVIS ) && !eventsent)) { -int dmflags =FILP_DELAY_FLAG (file); - -if (need_i_mutex) - dmflags |=DM_FLAGS_IMUX ; - -xfs_iunlock (ip,XFS_ILOCK_EXCL ); - error =XFS_SEND_DATA (ip->i_mount,DM_EVENT_WRITE , ip, - pos, count, dmflags, &iolock); -if (error) { - goto out_unlock_internal; - } -xfs_ilock (ip,XFS_ILOCK_EXCL ); - eventsent =1 ; - -/* -* The iolock was dropped and reacquired in XFS_SEND_DATA -* so we have to recheck the size when appending. -* We will only "goto start;" once, since having sent the -* event prevents another call to XFS_SEND_DATA, which is -* what allows the size to change in the first place. -*/ -if ((file->f_flags &O_APPEND ) && pos != ip->i_size) - goto start; - } -if (ioflags &IO_ISDIRECT ) {xfs_buftarg_t *target = XFS_IS_REALTIME_INODE(ip) ?
@@ -830,22 +761,6 @@ write_retry:xfs_iunlock (ip,XFS_ILOCK_EXCL ); } -if (ret == -ENOSPC && -DM_EVENT_ENABLED (ip,DM_EVENT_NOSPACE ) && !(ioflags &IO_INVIS )) { -xfs_iunlock (ip, iolock); -if (need_i_mutex) -mutex_unlock (&inode->i_mutex); - error =XFS_SEND_NAMESP (ip->i_mount,DM_EVENT_NOSPACE , ip, -DM_RIGHT_NULL , ip,DM_RIGHT_NULL ,NULL ,NULL , -0 ,0 ,0 );/* Delay flag intentionally unused */ -if (need_i_mutex) -mutex_lock (&inode->i_mutex); -xfs_ilock (ip, iolock); -if (error) - goto out_unlock_internal; - goto start; - } - error = -ret;if (ret <=0 ) goto out_unlock_internal;
fs/xfs/linux-2.6/xfs_ioctl.c +1 -11
@@ -25,7 +25,6 @@#include "xfs_ag.h" #include "xfs_dir2.h" #include "xfs_alloc.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h" #include "xfs_alloc_btree.h"
@@ -1117,16 +1116,7 @@ xfs_ioctl_setattr(xfs_qm_dqrele (udqp);xfs_qm_dqrele (gdqp); -if (code) -return code; - -if (DM_EVENT_ENABLED (ip,DM_EVENT_ATTRIBUTE )) { -XFS_SEND_NAMESP (mp,DM_EVENT_ATTRIBUTE , ip,DM_RIGHT_NULL , -NULL ,DM_RIGHT_NULL ,NULL ,NULL ,0 ,0 , - (mask &FSX_NONBLOCK ) ?DM_FLAGS_NDELAY :0 ); - } - -return 0 ; +return code; error_return:xfs_qm_dqrele (udqp);
fs/xfs/linux-2.6/xfs_super.c +7 -60
187 lines not on this page · raw message
fs/xfs/xfs_bmap.c +0 -23
@@ -34,7 +34,6 @@#include "xfs_dinode.h" #include "xfs_inode.h" #include "xfs_btree.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_ialloc.h" #include "xfs_itable.h"
@@ -5605,28 +5604,6 @@ xfs_getbmap( prealloced =0 ; fixlen =1LL <<32 ; }else { -/* -* If the BMV_IF_NO_DMAPI_READ interface bit specified, do -* not generate a DMAPI read event. Otherwise, if the -* DM_EVENT_READ bit is set for the file, generate a read -* event in order that the DMAPI application may do its thing -* before we return the extents. Usually this means restoring -* user file data to regions of the file that look like holes. -* -* The "old behavior" (from XFS_IOC_GETBMAP) is to not specify -* BMV_IF_NO_DMAPI_READ so that read events are generated. -* If this were not true, callers of ioctl(XFS_IOC_GETBMAP) -* could misinterpret holes in a DMAPI file as true holes, -* when in fact they may represent offline user data. -*/ -if (DM_EVENT_ENABLED (ip,DM_EVENT_READ ) && - !(iflags &BMV_IF_NO_DMAPI_READ )) { - error =XFS_SEND_DATA (mp,DM_EVENT_READ , ip, -0 ,0 ,0 ,NULL ); -if (error) -return XFS_ERROR (error); - } -if (ip->i_d.di_format !=XFS_DINODE_FMT_EXTENTS && ip->i_d.di_format !=XFS_DINODE_FMT_BTREE && ip->i_d.di_format !=XFS_DINODE_FMT_LOCAL )
fs/xfs/xfs_rename.c +3 -29
@@ -24,7 +24,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_da_btree.h" #include "xfs_bmap_btree.h"
@@ -119,18 +118,6 @@ xfs_rename(xfs_itrace_entry (src_dp);xfs_itrace_entry (target_dp); -if (DM_EVENT_ENABLED (src_dp,DM_EVENT_RENAME ) || -DM_EVENT_ENABLED (target_dp,DM_EVENT_RENAME )) { - error =XFS_SEND_NAMESP (mp,DM_EVENT_RENAME , - src_dp,DM_RIGHT_NULL , - target_dp,DM_RIGHT_NULL , - src_name->name, target_name->name, -0 ,0 ,0 ); -if (error) -return error; - } -/* Return through std_return after this point. */ - new_parent = (src_dp != target_dp); src_is_directory = ((src_ip->i_d.di_mode &S_IFMT ) ==S_IFDIR );
@@ -369,26 +356,13 @@ xfs_rename(* trans_commit will unlock src_ip, target_ip & decrement * the vnode references. */ - error =xfs_trans_commit (tp,XFS_TRANS_RELEASE_LOG_RES ); - -/* Fall through to std_return with error = 0 or errno from -* xfs_trans_commit */ -std_return: -if (DM_EVENT_ENABLED (src_dp,DM_EVENT_POSTRENAME ) || -DM_EVENT_ENABLED (target_dp,DM_EVENT_POSTRENAME )) { - (void )XFS_SEND_NAMESP (mp,DM_EVENT_POSTRENAME , - src_dp,DM_RIGHT_NULL , - target_dp,DM_RIGHT_NULL , - src_name->name, target_name->name, -0 , error,0 ); - } -return error; +return xfs_trans_commit (tp,XFS_TRANS_RELEASE_LOG_RES ); abort_return: cancel_flags |=XFS_TRANS_ABORT ; -/* FALLTHROUGH */ error_return:xfs_bmap_cancel (&free_list);xfs_trans_cancel (tp, cancel_flags); - goto std_return; + std_return: +return error; }
fs/xfs/xfs_vnodeops.c +15 -157
304 lines not on this page · raw message
fs/xfs/Makefile +1 -2
@@ -90,8 +90,7 @@ xfs-y += xfs_alloc.o \ xfs_trans_item.o \ xfs_utils.o \ xfs_vnodeops.o \ - xfs_rw.o \ - xfs_dmops.o + xfs_rw.o xfs-$(CONFIG_XFS_TRACE) += xfs_btree_trace.o
fs/xfs/linux-2.6/xfs_aops.c +0 -1
@@ -23,7 +23,6 @@#include "xfs_ag.h" #include "xfs_dir2.h" #include "xfs_trans.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h" #include "xfs_alloc_btree.h"
fs/xfs/linux-2.6/xfs_buf.c +0 -1
@@ -39,7 +39,6 @@#include "xfs_inum.h" #include "xfs_log.h" #include "xfs_ag.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_trace.h"
fs/xfs/linux-2.6/xfs_export.c +0 -1
@@ -23,7 +23,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_export.h" #include "xfs_vnodeops.h"
fs/xfs/linux-2.6/xfs_fs_subr.c +0 -4
@@ -21,10 +21,6 @@#include "xfs_inode.h" #include "xfs_trace.h" -int fs_noerr (void ) {return 0 ; } -int fs_nosys (void ) {return ENOSYS ; } -void fs_noval (void ) {return ; } -/* * note: all filemap functions return negative error codes. These * need to be inverted before returning to the xfs core functions.
fs/xfs/linux-2.6/xfs_fs_subr.h deleted +0 -25
@@ -1,25 +0,0 @@ -/* -* Copyright (c) 2000,2002,2005 Silicon Graphics, Inc. -* All Rights Reserved. -* -* This program is free software; you can redistribute it and/or -* modify it under the terms of the GNU General Public License as -* published by the Free Software Foundation. -* -* This program is distributed in the hope that it would be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program; if not, write the Free Software Foundation, -* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -*/ -#ifndef __XFS_FS_SUBR_H__ -#define __XFS_FS_SUBR_H__ - -extern int fs_noerr (void ); -extern int fs_nosys (void ); -extern void fs_noval (void ); - -#endif /* __XFS_FS_SUBR_H__ */
fs/xfs/linux-2.6/xfs_ioctl32.c +0 -1
@@ -29,7 +29,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h" #include "xfs_attr_sf.h"
fs/xfs/linux-2.6/xfs_iops.c +0 -1
@@ -26,7 +26,6 @@#include "xfs_ag.h" #include "xfs_dir2.h" #include "xfs_alloc.h" -#include "xfs_dmapi.h" #include "xfs_quota.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h"
fs/xfs/linux-2.6/xfs_linux.h +0 -1
@@ -87,7 +87,6 @@#include <xfs_aops.h> #include <xfs_super.h> #include <xfs_globals.h> -#include <xfs_fs_subr.h> #include <xfs_buf.h> /*
fs/xfs/linux-2.6/xfs_quotaops.c +0 -1
@@ -16,7 +16,6 @@* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "xfs.h" -#include "xfs_dmapi.h" #include "xfs_sb.h" #include "xfs_inum.h" #include "xfs_log.h"
fs/xfs/linux-2.6/xfs_sync.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h" #include "xfs_alloc_btree.h"
fs/xfs/linux-2.6/xfs_trace.c +0 -1
@@ -34,7 +34,6 @@#include "xfs_dinode.h" #include "xfs_inode.h" #include "xfs_btree.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_ialloc.h" #include "xfs_itable.h"
fs/xfs/quota/xfs_dquot.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_ag.h" #include "xfs_dir2.h" #include "xfs_alloc.h" -#include "xfs_dmapi.h" #include "xfs_quota.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h"
fs/xfs/quota/xfs_dquot_item.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_ag.h" #include "xfs_dir2.h" #include "xfs_alloc.h" -#include "xfs_dmapi.h" #include "xfs_quota.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h"
fs/xfs/quota/xfs_qm.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_ag.h" #include "xfs_dir2.h" #include "xfs_alloc.h" -#include "xfs_dmapi.h" #include "xfs_quota.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h"
fs/xfs/quota/xfs_qm_bhv.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_ag.h" #include "xfs_dir2.h" #include "xfs_alloc.h" -#include "xfs_dmapi.h" #include "xfs_quota.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h"
fs/xfs/quota/xfs_qm_stats.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_ag.h" #include "xfs_dir2.h" #include "xfs_alloc.h" -#include "xfs_dmapi.h" #include "xfs_quota.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h"
fs/xfs/quota/xfs_qm_syscalls.c +0 -1
@@ -28,7 +28,6 @@#include "xfs_ag.h" #include "xfs_dir2.h" #include "xfs_alloc.h" -#include "xfs_dmapi.h" #include "xfs_quota.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h"
fs/xfs/quota/xfs_trans_dquot.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_ag.h" #include "xfs_dir2.h" #include "xfs_alloc.h" -#include "xfs_dmapi.h" #include "xfs_quota.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h"
fs/xfs/support/debug.c +0 -1
@@ -22,7 +22,6 @@#include "xfs_sb.h" #include "xfs_inum.h" #include "xfs_ag.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_error.h"
fs/xfs/xfs_alloc.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h" #include "xfs_alloc_btree.h"
fs/xfs/xfs_alloc_btree.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h" #include "xfs_alloc_btree.h"
fs/xfs/xfs_attr.c +0 -1
@@ -26,7 +26,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_da_btree.h" #include "xfs_bmap_btree.h"
fs/xfs/xfs_attr_leaf.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_da_btree.h" #include "xfs_bmap_btree.h"
fs/xfs/xfs_bmap_btree.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h" #include "xfs_alloc_btree.h"
fs/xfs/xfs_btree.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h" #include "xfs_alloc_btree.h"
fs/xfs/xfs_buf_item.c +0 -1
@@ -24,7 +24,6 @@#include "xfs_trans.h" #include "xfs_sb.h" #include "xfs_ag.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_buf_item.h" #include "xfs_trans_priv.h"
fs/xfs/xfs_da_btree.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_da_btree.h" #include "xfs_bmap_btree.h"
fs/xfs/xfs_dfrag.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h" #include "xfs_alloc_btree.h"
fs/xfs/xfs_dir2.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_da_btree.h" #include "xfs_bmap_btree.h"
fs/xfs/xfs_dir2_block.c +0 -1
@@ -24,7 +24,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_da_btree.h" #include "xfs_bmap_btree.h"
fs/xfs/xfs_dir2_data.c +0 -1
@@ -24,7 +24,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_da_btree.h" #include "xfs_bmap_btree.h"
fs/xfs/xfs_dir2_leaf.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_da_btree.h" #include "xfs_bmap_btree.h"
fs/xfs/xfs_dir2_node.c +0 -1
@@ -24,7 +24,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_da_btree.h" #include "xfs_bmap_btree.h"
fs/xfs/xfs_dir2_sf.c +0 -1
@@ -24,7 +24,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_da_btree.h" #include "xfs_bmap_btree.h"
fs/xfs/xfs_dmapi.h deleted +0 -170
170 lines not on this page · raw message
fs/xfs/xfs_dmops.c deleted +0 -55
55 lines not on this page · raw message
fs/xfs/xfs_error.c +0 -1
@@ -24,7 +24,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h" #include "xfs_dir2_sf.h"
fs/xfs/xfs_extfree_item.c +0 -1
@@ -24,7 +24,6 @@#include "xfs_buf_item.h" #include "xfs_sb.h" #include "xfs_ag.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_trans_priv.h" #include "xfs_extfree_item.h"
fs/xfs/xfs_filestream.c +0 -1
@@ -24,7 +24,6 @@#include "xfs_dinode.h" #include "xfs_inode.h" #include "xfs_ag.h" -#include "xfs_dmapi.h" #include "xfs_log.h" #include "xfs_trans.h" #include "xfs_sb.h"
fs/xfs/xfs_fsops.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h" #include "xfs_alloc_btree.h"
fs/xfs/xfs_ialloc.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h" #include "xfs_alloc_btree.h"
fs/xfs/xfs_ialloc_btree.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h" #include "xfs_alloc_btree.h"
fs/xfs/xfs_iget.c +0 -1
@@ -26,7 +26,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h" #include "xfs_alloc_btree.h"
fs/xfs/xfs_inode.c +0 -1
@@ -28,7 +28,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h" #include "xfs_alloc_btree.h"
fs/xfs/xfs_inode_item.c +0 -1
@@ -26,7 +26,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_trans_priv.h" #include "xfs_bmap_btree.h"
fs/xfs/xfs_iomap.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_ag.h" #include "xfs_dir2.h" #include "xfs_alloc.h" -#include "xfs_dmapi.h" #include "xfs_quota.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h"
fs/xfs/xfs_itable.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h" #include "xfs_alloc_btree.h"
fs/xfs/xfs_log.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_error.h" #include "xfs_log_priv.h"
fs/xfs/xfs_log_recover.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_error.h" #include "xfs_bmap_btree.h"
fs/xfs/xfs_mount.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h" #include "xfs_alloc_btree.h"
fs/xfs/xfs_mount.h +0 -67
91 lines not on this page · raw message
fs/xfs/xfs_rtalloc.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h" #include "xfs_alloc_btree.h"
fs/xfs/xfs_rw.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h" #include "xfs_alloc_btree.h"
fs/xfs/xfs_trans.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_error.h" #include "xfs_da_btree.h"
fs/xfs/xfs_trans_ail.c +0 -1
@@ -24,7 +24,6 @@#include "xfs_trans.h" #include "xfs_sb.h" #include "xfs_ag.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_trans_priv.h" #include "xfs_error.h"
fs/xfs/xfs_trans_buf.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h" #include "xfs_alloc_btree.h"
fs/xfs/xfs_trans_extfree.c +0 -1
@@ -23,7 +23,6 @@#include "xfs_trans.h" #include "xfs_sb.h" #include "xfs_ag.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_trans_priv.h" #include "xfs_extfree_item.h"
fs/xfs/xfs_trans_inode.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h" #include "xfs_alloc_btree.h"
fs/xfs/xfs_utils.c +0 -1
@@ -25,7 +25,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_bmap_btree.h" #include "xfs_dir2_sf.h"
fs/xfs/xfs_trans_item.c +0 -1
@@ -28,7 +28,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" STATIC int xfs_trans_unlock_chunk(xfs_log_item_chunk_t *,
fs/xfs/linux-2.6/xfs_dmapi_priv.h deleted +0 -28
@@ -1,28 +0,0 @@ -/* -* Copyright (c) 2000-2006 Silicon Graphics, Inc. -* All Rights Reserved. -* -* This program is free software; you can redistribute it and/or -* modify it under the terms of the GNU General Public License as -* published by the Free Software Foundation. -* -* This program is distributed in the hope that it would be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program; if not, write the Free Software Foundation, -* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -*/ -#ifndef __XFS_DMAPI_PRIV_H__ -#define __XFS_DMAPI_PRIV_H__ - -/* -* Based on IO_ISDIRECT, decide which i_ flag is set. -*/ -#define DM_SEM_FLAG_RD (ioflags) (((ioflags) & IO_ISDIRECT) ? \ - DM_FLAGS_IMUX : 0) -#define DM_SEM_FLAG_WR (DM_FLAGS_IALLOCSEM_WR | DM_FLAGS_IMUX) - -#endif /*__XFS_DMAPI_PRIV_H__*/
fs/xfs/linux-2.6/xfs_super.h +0 -7
@@ -56,12 +56,6 @@ extern void xfs_qm_exit(void);# define XFS_BIGFS_STRING #endif -#ifdef CONFIG_XFS_DMAPI -# define XFS_DMAPI_STRING "dmapi support, " -#else -# define XFS_DMAPI_STRING -#endif -#ifdef DEBUG # define XFS_DBG_STRING "debug"#else
@@ -72,7 +66,6 @@ extern void xfs_qm_exit(void);XFS_SECURITY_STRING \ XFS_REALTIME_STRING \XFS_BIGFS_STRING \ - XFS_DMAPI_STRING \ XFS_DBG_STRING /* DBG must be last */struct xfs_inode ;
fs/xfs/xfs_log_cil.c +0 -1
@@ -27,7 +27,6 @@#include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_dir2.h" -#include "xfs_dmapi.h" #include "xfs_mount.h" #include "xfs_error.h" #include "xfs_alloc.h"
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
Quoted 9 lines · Christoph Hellwig
Dmapi support was never merged upstream, but we still have a lot of hooks bloating XFS for it, all over the fast pathes of the filesystem.
This patch drops over 700 lines of dmapi overhead. If we'll ever get HSM support in mainline at least the namespace events can be done much saner in the VFS instead of the individual filesystem, so it's not like this is much help for future work.
Signed-off-by Christoph Hellwig <[email protected]>
Looks good to me.
Signature · 7 lines
Dave Chinner [email protected] _______________________________________________ xfs mailing list [email protected] http://oss.sgi.com/mailman/listinfo/xfs