a couple of random cleanups
cover a couple of random cleanups
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
PATCH 1/7 xfs: remove unused t_callback field in struct xfs_trans
fs/xfs/xfs_trans.c +0 -4
@@ -1416,10 +1416,6 @@ xfs_trans_committed( {struct xfs_log_item_desc *lidp, *next; -/* Call the transaction's completion callback if there is one. */ -if (tp->t_callback !=NULL ) - tp->t_callback (tp, tp->t_callarg); -list_for_each_entry_safe (lidp, next, &tp->t_items, lid_trans) {xfs_trans_item_committed (lidp->lid_item, tp->t_lsn, abortflag);xfs_trans_free_item_desc (lidp);
fs/xfs/xfs_trans.h +0 -2
@@ -399,8 +399,6 @@ typedef struct xfs_trans {* transaction. */ struct xfs_mount *t_mountp;/* ptr to fs mount struct */ struct xfs_dquot_acct *t_dqinfo;/* acctg info for dquots */ -xfs_trans_callback_t t_callback;/* transaction callback */ -void *t_callarg;/* callback arg */ unsigned int t_flags;/* misc flags */ int64_t t_icount_delta;/* superblock icount change */ int64_t t_ifree_delta;/* superblock ifree change */
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
Re: [PATCH 1/7] xfs: remove unused t_callback field in struct xfs_trans
Quoted 3 lines · Christoph Hellwig
plain text document attachment (xfs-remove-t_callback)
Signed-off-by Christoph Hellwig <[email protected]>
Looks good.
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
PATCH 2/7 xfs: fix the xfs_trans_committed
In reply to Christoph HellwigUse the correct prototype for xfs_trans_committed instead of casting it.
fs/xfs/xfs_trans.c +3 -2
@@ -1411,9 +1411,10 @@ xfs_trans_item_committed(*/ STATIC voidxfs_trans_committed ( -struct xfs_trans *tp, +void *arg,int abortflag) { +struct xfs_trans *tp = arg;struct xfs_log_item_desc *lidp, *next;list_for_each_entry_safe (lidp, next, &tp->t_items, lid_trans) {
@@ -1543,7 +1544,7 @@ xfs_trans_commit_iclog(* running in simulation mode (the log is explicitly turned * off). */ - tp->t_logcb.cb_func = (void (*)(void *,int ))xfs_trans_committed; + tp->t_logcb.cb_func = xfs_trans_committed; tp->t_logcb.cb_arg = tp;/*
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
Re: [PATCH 2/7] xfs: fix the xfs_trans_committed
Quoted 4 lines · Christoph Hellwig
plain text document attachment (xfs-fix-cb_func_prototype) Use the correct prototype for
xfs_trans_committedinstead of casting it.Signed-off-by Christoph Hellwig <[email protected]>
Looks good.
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
PATCH 3/7 xfs: remove xfs_refcache.h
In reply to Christoph HellwigThis header has been completely unused for a couple of years.
fs/xfs/xfs_refcache.h deleted +0 -52
@@ -1,52 +0,0 @@ -/* -* Copyright (c) 2000-2003,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_REFCACHE_H__ -#define __XFS_REFCACHE_H__ - -#ifdef HAVE_REFCACHE -/* -* Maximum size (in inodes) for the NFS reference cache -*/ -#define XFS_REFCACHE_SIZE_MAX 512 - -struct xfs_inode ; -struct xfs_mount ; - -extern void xfs_refcache_insert (struct xfs_inode *); -extern void xfs_refcache_purge_ip (struct xfs_inode *); -extern void xfs_refcache_purge_mp (struct xfs_mount *); -extern void xfs_refcache_purge_some (struct xfs_mount *); -extern void xfs_refcache_resize (int ); -extern void xfs_refcache_destroy (void ); - -extern void xfs_refcache_iunlock (struct xfs_inode *,uint ); - -#else - -#define xfs_refcache_insert (ip) do { } while (0) -#define xfs_refcache_purge_ip (ip) do { } while (0) -#define xfs_refcache_purge_mp (mp) do { } while (0) -#define xfs_refcache_purge_some (mp) do { } while (0) -#define xfs_refcache_resize (size) do { } while (0) -#define xfs_refcache_destroy () do { } while (0) - -#define xfs_refcache_iunlock (ip, flags) xfs_iunlock(ip, flags) - -#endif - -#endif /* __XFS_REFCACHE_H__ */
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
Re: [PATCH 3/7] xfs: remove xfs_refcache.h
Quoted 4 lines · Christoph Hellwig
plain text document attachment (
xfs-kill-xfs_refcache.h) This header has been completely unused for a couple of years.Signed-off-by Christoph Hellwig <[email protected]>
Looks good.
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
PATCH 4/7 xfs: remove xfs_version.h
In reply to Christoph HellwigIt used to have a place when it contained an automatically generated CVS version, but these days it's entirely superflous.
fs/xfs/linux-2.6/xfs_super.c +0 -1
@@ -44,7 +44,6 @@#include "xfs_buf_item.h" #include "xfs_utils.h" #include "xfs_vnodeops.h" -#include "xfs_version.h" #include "xfs_log_priv.h" #include "xfs_trans_priv.h" #include "xfs_filestream.h"
fs/xfs/linux-2.6/xfs_super.h +1 -0
@@ -62,6 +62,7 @@ extern void xfs_qm_exit(void);# define XFS_DBG_STRING "no debug"#endif +#define XFS_VERSION_STRING "SGI XFS"#define XFS_BUILD_OPTIONS XFS_ACL_STRING \ XFS_SECURITY_STRING \ XFS_REALTIME_STRING \
fs/xfs/linux-2.6/xfs_version.h deleted +0 -29
@@ -1,29 +0,0 @@ -/* -* Copyright (c) 2001-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_VERSION_H__ -#define __XFS_VERSION_H__ - -/* -* Dummy file that can contain a timestamp to put into the -* XFS init string, to help users keep track of what they're -* running -*/ - -#define XFS_VERSION_STRING "SGI XFS" - -#endif /* __XFS_VERSION_H__ */
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
Re: [PATCH 4/7] xfs: remove xfs_version.h
Quoted 5 lines · Christoph Hellwig
plain text document attachment (
xfs-kill-version.h)
It used to have a place when it contained an automatically generated CVS version, but these days it's entirely superflous.Signed-off-by Christoph Hellwig <[email protected]>
Looks good.
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
PATCH 5/7 xfs: remove xfs_globals.h
In reply to Christoph HellwigThis header only provides one extern that isn't actually declared anywhere, and shadowed by a macro.
fs/xfs/linux-2.6/xfs_globals.h deleted +0 -23
@@ -1,23 +0,0 @@ -/* -* Copyright (c) 2000-2003,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_GLOBALS_H__ -#define __XFS_GLOBALS_H__ - -extern uint64_t xfs_panic_mask;/* set to cause more panics */ - -#endif /* __XFS_GLOBALS_H__ */
fs/xfs/linux-2.6/xfs_linux.h +0 -1
@@ -86,7 +86,6 @@#include <xfs_iops.h> #include <xfs_aops.h> #include <xfs_super.h> -#include <xfs_globals.h> #include <xfs_buf.h> /*
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
Re: [PATCH 5/7] xfs: remove xfs_globals.h
Quoted 5 lines · Christoph Hellwig
plain text document attachment (
xfs-kill-globals.h)
This header only provides one extern that isn't actually declared anywhere, and shadowed by a macro.Signed-off-by Christoph Hellwig <[email protected]>
Looks good.
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
PATCH 6/7 xfs: remove xfs_cred.h
In reply to Christoph HellwigWe're not actually passing around credentials inside XFS for a while now, so remove all xfs_cred.h with it's cred_t typedef and all instances of it.
fs/xfs/linux-2.6/xfs_iops.c +2 -2
@@ -189,7 +189,7 @@ xfs_vn_mknod( }xfs_dentry_to_name (&name, dentry); - error =xfs_create (XFS_I (dir), &name, mode, rdev, &ip,NULL ); + error =xfs_create (XFS_I (dir), &name, mode, rdev, &ip);if (unlikely (error)) goto out_free_acl;
@@ -362,7 +362,7 @@ xfs_vn_symlink( (irix_symlink_mode ?0777 & ~current_umask () :S_IRWXUGO );xfs_dentry_to_name (&name, dentry); - error =xfs_symlink (XFS_I (dir), &name, symname, mode, &cip,NULL ); + error =xfs_symlink (XFS_I (dir), &name, symname, mode, &cip);if (unlikely (error)) goto out;
fs/xfs/xfs_vnodeops.c +5 -7
@@ -1256,8 +1256,7 @@ xfs_create(struct xfs_name *name, mode_t mode, xfs_dev_t rdev, - xfs_inode_t **ipp, - cred_t *credp) + xfs_inode_t **ipp) { int is_dir = S_ISDIR(mode);struct xfs_mount *mp = dp->i_mount;
@@ -1363,7 +1362,7 @@ xfs_create(* entry pointing to them, but a directory also the "." entry * pointing to itself. */ - error =xfs_dir_ialloc (&tp, dp, mode, is_dir ?2 :1 , rdev, credp, + error =xfs_dir_ialloc (&tp, dp, mode, is_dir ?2 :1 , rdev, prid, resblks >0 , &ip, &committed);if (error) {if (error ==ENOSPC )
@@ -1936,8 +1935,7 @@ xfs_symlink(struct xfs_name *link_name, const char *target_path, mode_t mode, - xfs_inode_t **ipp, - cred_t *credp) + xfs_inode_t **ipp) { xfs_mount_t *mp = dp->i_mount;xfs_trans_t *tp;
@@ -2049,8 +2047,8 @@ xfs_symlink(/* * Allocate an inode for the symlink. */ - error =xfs_dir_ialloc (&tp, dp,S_IFLNK | (mode & ~S_IFMT ), -1 ,0 , credp, prid, resblks >0 , &ip,NULL ); + error =xfs_dir_ialloc (&tp, dp,S_IFLNK | (mode & ~S_IFMT ),1 ,0 , + prid, resblks >0 , &ip,NULL );if (error) {if (error ==ENOSPC ) goto error_return;
fs/xfs/xfs_vnodeops.h +2 -4
@@ -2,7 +2,6 @@#define _XFS_VNODEOPS_H 1struct attrlist_cursor_kern ; -struct cred ;struct file ;struct iattr ;struct inode ;
@@ -26,7 +25,7 @@ int xfs_inactive(struct xfs_inode *ip);int xfs_lookup (struct xfs_inode *dp,struct xfs_name *name,struct xfs_inode **ipp,struct xfs_name *ci_name);int xfs_create (struct xfs_inode *dp,struct xfs_name *name,mode_t mode, -xfs_dev_t rdev,struct xfs_inode **ipp,cred_t *credp); +xfs_dev_t rdev,struct xfs_inode **ipp);int xfs_remove (struct xfs_inode *dp,struct xfs_name *name,struct xfs_inode *ip); int xfs_link(struct xfs_inode *tdp, struct xfs_inode *sip,
@@ -34,8 +33,7 @@ int xfs_link(struct xfs_inode *tdp, struint xfs_readdir (struct xfs_inode *dp,void *dirent,size_t bufsize,xfs_off_t *offset,filldir_t filldir);int xfs_symlink (struct xfs_inode *dp,struct xfs_name *link_name, -const char *target_path,mode_t mode,struct xfs_inode **ipp, -cred_t *credp); +const char *target_path,mode_t mode,struct xfs_inode **ipp);int xfs_set_dmattrs (struct xfs_inode *ip,u_int evmask,u_int16_t state);int xfs_change_file_space (struct xfs_inode *ip,int cmd,xfs_flock64_t *bf,xfs_off_t offset,int attr_flags);
fs/xfs/quota/xfs_qm.c +3 -5
@@ -55,8 +55,6 @@ uint ndquot;kmem_zone_t *qm_dqzone;kmem_zone_t *qm_dqtrxzone; -static cred_t xfs_zerocr; - STATIC void xfs_qm_list_init(xfs_dqlist_t *, char *, int); STATIC void xfs_qm_list_destroy(xfs_dqlist_t *);
@@ -1224,8 +1222,8 @@ xfs_qm_qino_alloc(return error; } -if ((error =xfs_dir_ialloc (&tp,NULL ,S_IFREG ,1 ,0 , - &xfs_zerocr,0 ,1 , ip, &committed))) { + error =xfs_dir_ialloc (&tp,NULL ,S_IFREG ,1 ,0 ,0 ,1 , ip, &committed); +if (error) {xfs_trans_cancel (tp,XFS_TRANS_RELEASE_LOG_RES |XFS_TRANS_ABORT );return error;
@@ -2143,7 +2141,7 @@ xfs_qm_write_sb_changes(/* -* Given an inode, a uid and gid (from cred_t) make sure that we have +* Given an inode, a uid, gid and prid make sure that we have * allocated relevant dquot(s) on disk, and that we won't exceed inode * quotas by creating this file. * This also attaches dquot(s) to the given inode after locking it,
fs/xfs/xfs_inode.c +0 -1
@@ -982,7 +982,6 @@ xfs_ialloc(mode_t mode, xfs_nlink_t nlink, xfs_dev_t rdev, - cred_t *cr, xfs_prid_t prid, int okalloc, xfs_buf_t **ialloc_context,
fs/xfs/xfs_inode.h +2 -3
@@ -212,7 +212,6 @@ typedef struct xfs_icdinode {#ifdef __KERNEL__struct bhv_desc ; -struct cred ;struct xfs_buf ;struct xfs_bmap_free ;struct xfs_bmbt_irec ;
@@ -456,8 +455,8 @@ void xfs_inode_free(struct xfs_inode *i* xfs_inode.c prototypes. */ int xfs_ialloc (struct xfs_trans *,xfs_inode_t *,mode_t , -xfs_nlink_t ,xfs_dev_t ,cred_t *,xfs_prid_t , -int ,struct xfs_buf **,boolean_t *,xfs_inode_t **); +xfs_nlink_t ,xfs_dev_t ,xfs_prid_t ,int , +struct xfs_buf **,boolean_t *,xfs_inode_t **);uint xfs_ip2xflags (struct xfs_inode *);uint xfs_dic2xflags (struct xfs_dinode *);
fs/xfs/xfs_utils.c +2 -3
@@ -56,7 +56,6 @@ xfs_dir_ialloc(mode_t mode, xfs_nlink_t nlink, xfs_dev_t rdev, - cred_t *credp, prid_t prid, /* project id */ int okalloc, /* ok to allocate new space */ xfs_inode_t **ipp, /* pointer to inode; it will be
@@ -93,7 +92,7 @@ xfs_dir_ialloc(* transaction commit so that no other process can steal * the inode(s) that we've just allocated. */ - code =xfs_ialloc (tp, dp, mode, nlink, rdev, credp, prid, okalloc, + code =xfs_ialloc (tp, dp, mode, nlink, rdev, prid, okalloc, &ialloc_context, &call_again, &ip);/*
@@ -197,7 +196,7 @@ xfs_dir_ialloc(* other allocations in this allocation group, * this call should always succeed. */ - code =xfs_ialloc (tp, dp, mode, nlink, rdev, credp, prid, + code =xfs_ialloc (tp, dp, mode, nlink, rdev, prid, okalloc, &ialloc_context, &call_again, &ip);/*
fs/xfs/xfs_utils.h +1 -2
@@ -19,8 +19,7 @@#define __XFS_UTILS_H__extern int xfs_dir_ialloc (xfs_trans_t **,xfs_inode_t *,mode_t ,xfs_nlink_t , -xfs_dev_t ,cred_t *,prid_t ,int , -xfs_inode_t **,int *); +xfs_dev_t ,prid_t ,int ,xfs_inode_t **,int *);extern int xfs_droplink (xfs_trans_t *,xfs_inode_t *);extern int xfs_bumplink (xfs_trans_t *,xfs_inode_t *);extern void xfs_bump_ino_vers2 (xfs_trans_t *,xfs_inode_t *);
fs/xfs/linux-2.6/xfs_cred.h deleted +0 -28
@@ -1,28 +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_CRED_H__ -#define __XFS_CRED_H__ - -#include <linux/capability.h> - -/* -* Credentials -*/ -typedef const struct cred cred_t ; - -#endif /* __XFS_CRED_H__ */
fs/xfs/linux-2.6/xfs_globals.c +0 -1
@@ -16,7 +16,6 @@* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "xfs.h" -#include "xfs_cred.h" #include "xfs_sysctl.h" /*
fs/xfs/linux-2.6/xfs_linux.h +1 -1
@@ -71,6 +71,7 @@#include <linux/random.h> #include <linux/ctype.h> #include <linux/writeback.h> +#include <linux/capability.h> #include <asm/page.h> #include <asm/div64.h>
@@ -79,7 +80,6 @@#include <asm/byteorder.h> #include <asm/unaligned.h> -#include <xfs_cred.h> #include <xfs_vnode.h> #include <xfs_stats.h> #include <xfs_sysctl.h>
fs/xfs/xfs_mount.h +0 -1
@@ -53,7 +53,6 @@ typedef struct xfs_trans_reservations {#include "xfs_sync.h" -struct cred ;struct log ;struct xfs_mount_args ;struct xfs_inode ;
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
Re: [PATCH 6/7] xfs: remove xfs_cred.h
Quoted 6 lines · Christoph Hellwig
plain text document attachment (
xfs-remove-cred.h)
We're not actually passing around credentials inside XFS for a while now, so remove allxfs_cred.hwith it'scred_ttypedef and all instances of it.Signed-off-by Christoph Hellwig <[email protected]>
Looks good. I think I found one or two spots left where "cred" was used in comments (maybe above xfs_ialloc()?). But that's OK.
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
PATCH 7/7 xfs: remove xfs_buf wrappers
In reply to Christoph HellwigStop having two different names for many buffer functions and use the more descriptive xfs_buf_* names directly.
fs/xfs/linux-2.6/xfs_buf.c +9 -10
@@ -652,8 +652,7 @@ voidxfs_buf_readahead ( xfs_buftarg_t *target, xfs_off_t ioff, - size_t isize, - xfs_buf_flags_t flags) + size_t isize) {struct backing_dev_info *bdi;
@@ -661,8 +660,8 @@ xfs_buf_readahead(if (bdi_read_congested (bdi))return ; - flags |= (XBF_TRYLOCK |XBF_ASYNC |XBF_READ_AHEAD ); -xfs_buf_read (target, ioff, isize, flags); +xfs_buf_read (target, ioff, isize, +XBF_TRYLOCK |XBF_ASYNC |XBF_READ_AHEAD |XBF_DONT_BLOCK ); }/*
@@ -691,7 +690,7 @@ xfs_buf_read_uncached(XFS_BUF_BUSY (bp);xfsbdstrat (mp, bp); - error =xfs_iowait (bp); + error =xfs_buf_iowait (bp);if (error || bp->b_error) {xfs_buf_relse (bp);return NULL ;
@@ -1073,7 +1072,7 @@ xfs_bdwrite(/* * Called when we want to stop a buffer from getting written or read. -* We attach the EIO error, muck with its flags, and call biodone +* We attach the EIO error, muck with its flags, and call xfs_buf_ioend * so that the proper iodone callbacks get called. */ STATIC int
@@ -1090,21 +1089,21 @@ xfs_bioerror(XFS_BUF_ERROR (bp,EIO );/* -* We're calling biodone, so delete XBF_DONE flag. +* We're calling xfs_buf_ioend, so delete XBF_DONE flag. */ XFS_BUF_UNREAD (bp);XFS_BUF_UNDELAYWRITE (bp);XFS_BUF_UNDONE (bp);XFS_BUF_STALE (bp); -xfs_biodone (bp); +xfs_buf_ioend (bp,0 );return EIO ; }/* * Same as xfs_bioerror, except that we are releasing the buffer -* here ourselves, and avoiding the biodone call. +* here ourselves, and avoiding the xfs_buf_ioend call. * This is meant for userdata errors; metadata bufs come with * iodone functions attached, so that we can track down errors. */
@@ -1938,7 +1937,7 @@ xfs_flush_buftarg( bp = list_first_entry(&wait_list, struct xfs_buf, b_list);list_del_init (&bp->b_list); -xfs_iowait (bp); +xfs_buf_iowait (bp);xfs_buf_relse (bp); } }
fs/xfs/linux-2.6/xfs_buf.h +3 -17
@@ -218,8 +218,7 @@ extern xfs_buf_t *xfs_buf_get_empty(sizeextern xfs_buf_t *xfs_buf_get_uncached (struct xfs_buftarg *,size_t ,int );extern int xfs_buf_associate_memory (xfs_buf_t *,void *,size_t );extern void xfs_buf_hold (xfs_buf_t *); -extern void xfs_buf_readahead (xfs_buftarg_t *,xfs_off_t ,size_t , -xfs_buf_flags_t ); +extern void xfs_buf_readahead (xfs_buftarg_t *,xfs_off_t ,size_t );struct xfs_buf *xfs_buf_read_uncached (struct xfs_mount *mp,struct xfs_buftarg *target,xfs_daddr_t daddr,size_t length,int flags);
@@ -247,6 +246,8 @@ extern int xfs_buf_iorequest(xfs_buf_t *extern int xfs_buf_iowait (xfs_buf_t *);extern void xfs_buf_iomove (xfs_buf_t *,size_t ,size_t ,void *,xfs_buf_rw_t ); +#define xfs_buf_zero (bp, off, len) \ + xfs_buf_iomove((bp), (off), (len), NULL, XBRW_ZERO)static inline int xfs_buf_geterror (xfs_buf_t *bp) {
@@ -359,21 +360,6 @@ static inline void xfs_buf_relse(xfs_bufxfs_buf_rele (bp); } -#define xfs_biodone (bp) xfs_buf_ioend(bp, 0) - -#define xfs_biomove (bp, off, len, data, rw) \ - xfs_buf_iomove((bp), (off), (len), (data), \ - ((rw) == XBF_WRITE) ? XBRW_WRITE : XBRW_READ) - -#define xfs_biozero (bp, off, len) \ - xfs_buf_iomove((bp), (off), (len), NULL, XBRW_ZERO) - -#define xfs_iowait (bp) xfs_buf_iowait(bp) - -#define xfs_baread (target, rablkno, ralen) \ - xfs_buf_readahead((target), (rablkno), (ralen), XBF_DONT_BLOCK) - -/* * Handling of buftargs. */
fs/xfs/linux-2.6/xfs_super.c +1 -1
@@ -644,7 +644,7 @@ xfs_barrier_test(XFS_BUF_ORDERED (sbp);xfsbdstrat (mp, sbp); - error =xfs_iowait (sbp); + error =xfs_buf_iowait (sbp);/* * Clear all the flags we set and possible error state in the
fs/xfs/quota/xfs_qm.c +1 -1
@@ -1433,7 +1433,7 @@ xfs_qm_dqiterate( rablkcnt = map[i+1 ].br_blockcount; rablkno = map[i+1 ].br_startblock;while (rablkcnt--) { -xfs_baread (mp->m_ddev_targp, +xfs_buf_readahead (mp->m_ddev_targp,XFS_FSB_TO_DADDR (mp, rablkno), mp->m_quotainfo->qi_dqchunklen); rablkno++;
fs/xfs/xfs_attr.c +3 -3
@@ -1986,7 +1986,7 @@ xfs_attr_rmtval_get(xfs_da_args_t *args) tmp = (valuelen <XFS_BUF_SIZE (bp)) ? valuelen :XFS_BUF_SIZE (bp); -xfs_biomove (bp,0 , tmp, dst,XBF_READ ); +xfs_buf_iomove (bp,0 , tmp, dst,XBRW_READ );xfs_buf_relse (bp); dst += tmp; valuelen -= tmp;
@@ -2116,9 +2116,9 @@ xfs_attr_rmtval_set(xfs_da_args_t *args) tmp = (valuelen <XFS_BUF_SIZE (bp)) ? valuelen :XFS_BUF_SIZE (bp); -xfs_biomove (bp,0 , tmp, src,XBF_WRITE ); +xfs_buf_iomove (bp,0 , tmp, src,XBRW_WRITE );if (tmp <XFS_BUF_SIZE (bp)) -xfs_biozero (bp, tmp,XFS_BUF_SIZE (bp) - tmp); +xfs_buf_zero (bp, tmp,XFS_BUF_SIZE (bp) - tmp);if ((error =xfs_bwrite (mp, bp))) {/* GROT: NOTE: synchronous write */ return (error); }
fs/xfs/xfs_btree.c +2 -2
@@ -656,7 +656,7 @@ xfs_btree_reada_bufl(ASSERT (fsbno !=NULLFSBLOCK ); d =XFS_FSB_TO_DADDR (mp, fsbno); -xfs_baread (mp->m_ddev_targp, d, mp->m_bsize * count); +xfs_buf_readahead (mp->m_ddev_targp, d, mp->m_bsize * count); }/*
@@ -676,7 +676,7 @@ xfs_btree_reada_bufs(ASSERT (agno !=NULLAGNUMBER );ASSERT (agbno !=NULLAGBLOCK ); d =XFS_AGB_TO_DADDR (mp, agno, agbno); -xfs_baread (mp->m_ddev_targp, d, mp->m_bsize * count); +xfs_buf_readahead (mp->m_ddev_targp, d, mp->m_bsize * count); }STATIC int
fs/xfs/xfs_da_btree.c +1 -1
@@ -2042,7 +2042,7 @@ xfs_da_do_buf( mappedbno, nmapped, 0, &bp);break ;case 3 : -xfs_baread (mp->m_ddev_targp, mappedbno, nmapped); +xfs_buf_readahead (mp->m_ddev_targp, mappedbno, nmapped); error =0 ; bp =NULL ;break ;
fs/xfs/xfs_dir2_leaf.c +1 -1
@@ -961,7 +961,7 @@ xfs_dir2_leaf_getdents(if (i > ra_current && map[ra_index].br_blockcount >= mp->m_dirblkfsbs) { - xfs_baread(mp->m_ddev_targp, + xfs_buf_readahead(mp->m_ddev_targp, XFS_FSB_TO_DADDR(mp, map[ra_index].br_startblock + ra_offset),
fs/xfs/xfs_ialloc.c +1 -1
@@ -212,7 +212,7 @@ xfs_ialloc_inode_init(* to log a whole cluster of inodes instead of all the * individual transactions causing a lot of log traffic. */ -xfs_biozero (fbuf,0 , ninodes << mp->m_sb.sb_inodelog); +xfs_buf_zero (fbuf,0 , ninodes << mp->m_sb.sb_inodelog);for (i =0 ; i < ninodes; i++) {int ioffset = i << mp->m_sb.sb_inodelog;uint isize =sizeof (struct xfs_dinode );
fs/xfs/xfs_log_recover.c +3 -3
@@ -168,7 +168,7 @@ xlog_bread_noalign(XFS_BUF_SET_TARGET (bp, log->l_mp->m_logdev_targp);xfsbdstrat (log->l_mp, bp); - error =xfs_iowait (bp); + error =xfs_buf_iowait (bp);if (error)xfs_ioerror_alert ("xlog_bread" , log->l_mp, bp,XFS_BUF_ADDR (bp));
@@ -328,7 +328,7 @@ xlog_recover_iodone( SHUTDOWN_META_IO_ERROR); }XFS_BUF_CLR_IODONE_FUNC (bp); -xfs_biodone (bp); +xfs_buf_ioend (bp,0 ); }/*
@@ -3816,7 +3816,7 @@ xlog_do_recover(XFS_BUF_READ (bp);XFS_BUF_UNASYNC (bp);xfsbdstrat (log->l_mp, bp); - error =xfs_iowait (bp); + error =xfs_buf_iowait (bp);if (error) {xfs_ioerror_alert ("xlog_do_recover" , log->l_mp, bp,XFS_BUF_ADDR (bp));
fs/xfs/xfs_mount.c +1 -1
@@ -1607,7 +1607,7 @@ xfs_unmountfs_writesb(xfs_mount_t *mp)XFS_BUF_UNASYNC (sbp);ASSERT (XFS_BUF_TARGET (sbp) == mp->m_ddev_targp);xfsbdstrat (mp, sbp); - error =xfs_iowait (sbp); + error =xfs_buf_iowait (sbp);if (error)xfs_ioerror_alert ("xfs_unmountfs_writesb" , mp, sbp,XFS_BUF_ADDR (sbp));
fs/xfs/xfs_trans_buf.c +1 -1
@@ -336,7 +336,7 @@ xfs_trans_read_buf(ASSERT (!XFS_BUF_ISASYNC (bp));XFS_BUF_READ (bp);xfsbdstrat (tp->t_mountp, bp); - error =xfs_iowait (bp); + error =xfs_buf_iowait (bp);if (error) {xfs_ioerror_alert ("xfs_trans_read_buf" , mp, bp, blkno);
fs/xfs/xfs_vnodeops.c +2 -2
@@ -2460,7 +2460,7 @@ xfs_zero_remaining_bytes(XFS_BUF_READ (bp);XFS_BUF_SET_ADDR (bp,xfs_fsb_to_db (ip, imap.br_startblock));xfsbdstrat (mp, bp); - error =xfs_iowait (bp); + error =xfs_buf_iowait (bp);if (error) {xfs_ioerror_alert ("xfs_zero_remaining_bytes(read)" , mp, bp,XFS_BUF_ADDR (bp));
@@ -2473,7 +2473,7 @@ xfs_zero_remaining_bytes(XFS_BUF_UNREAD (bp);XFS_BUF_WRITE (bp);xfsbdstrat (mp, bp); - error =xfs_iowait (bp); + error =xfs_buf_iowait (bp);if (error) {xfs_ioerror_alert ("xfs_zero_remaining_bytes(write)" , mp, bp,XFS_BUF_ADDR (bp));
fs/xfs/xfs_buf_item.c +2 -2
@@ -973,7 +973,7 @@ xfs_buf_iodone_callbacks(xfs_buf_do_callbacks (bp, lip);XFS_BUF_SET_FSPRIVATE (bp,NULL );XFS_BUF_CLR_IODONE_FUNC (bp); -xfs_biodone (bp); +xfs_buf_ioend (bp,0 );return ; }
@@ -1032,7 +1032,7 @@ xfs_buf_iodone_callbacks(xfs_buf_do_callbacks (bp, lip);XFS_BUF_SET_FSPRIVATE (bp,NULL );XFS_BUF_CLR_IODONE_FUNC (bp); -xfs_biodone (bp); +xfs_buf_ioend (bp,0 ); }/*
fs/xfs/xfs_inode.c +1 -1
@@ -2724,7 +2724,7 @@ cluster_corrupt_out:XFS_BUF_UNDONE (bp);XFS_BUF_STALE (bp);XFS_BUF_ERROR (bp,EIO ); -xfs_biodone (bp); +xfs_buf_ioend (bp,0 ); }else {XFS_BUF_STALE (bp);xfs_buf_relse (bp);
fs/xfs/xfs_log.c +1 -1
@@ -1310,7 +1310,7 @@ xlog_bdstrat(if (iclog->ic_state &XLOG_STATE_IOERROR ) {XFS_BUF_ERROR (bp,EIO );XFS_BUF_STALE (bp); -xfs_biodone (bp); +xfs_buf_ioend (bp,0 );/* * It would seem logical to return EIO here, but we rely on * the log state machine to propagate I/O errors instead of
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
Re: [PATCH 7/7] xfs: remove xfs_buf wrappers
Quoted 5 lines · Christoph Hellwig
plain text document attachment (xfs-cleanup-buf-wrappers) Stop having two different names for many buffer functions and use the more descriptive xfs_buf_* names directly.
Signed-off-by Christoph Hellwig <[email protected]>
Looks good, I prefer this.
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
Quoted 4 lines · Christoph Hellwig
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
The whole series looks fine. I'm taking them in and will start testing with them.
-Alex
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs