xfs
[Top] [All Lists]

[PATCH 04/10] xfs: cleanup the xfs_iomap_write_* helpers

To: xfs@xxxxxxxxxxx
Subject: [PATCH 04/10] xfs: cleanup the xfs_iomap_write_* helpers
From: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date: Mon, 22 Nov 2010 08:05:10 -0500
References: <20101122130506.868076797@xxxxxxxxxxxxxxxxxxxxxx>
User-agent: quilt/0.48-1
Remove passing the BMAPI_* flags to these helpers, in xfs_iomap_write_direct
the check BMAPI_DIRECT was always true, and in the xfs_iomap_write_delay
path is was never checked at all.  Remove the nmap return value as
we never make use of it.

Signed-off-by: Christoph Hellwig <hch@xxxxxx>

Index: xfs/fs/xfs/xfs_iomap.c
===================================================================
--- xfs.orig/fs/xfs/xfs_iomap.c 2010-11-02 11:10:15.000103373 -0400
+++ xfs/fs/xfs/xfs_iomap.c      2010-11-02 11:14:14.640103375 -0400
@@ -51,11 +51,11 @@
 #define XFS_WRITE_IMAPS                XFS_BMAP_MAX_NMAP
 
 STATIC int xfs_iomap_write_direct(struct xfs_inode *, xfs_off_t, size_t,
-                                 int, struct xfs_bmbt_irec *, int *);
-STATIC int xfs_iomap_write_delay(struct xfs_inode *, xfs_off_t, size_t, int,
-                                struct xfs_bmbt_irec *, int *);
+                                 struct xfs_bmbt_irec *, int);
+STATIC int xfs_iomap_write_delay(struct xfs_inode *, xfs_off_t, size_t,
+                                struct xfs_bmbt_irec *);
 STATIC int xfs_iomap_write_allocate(struct xfs_inode *, xfs_off_t, size_t,
-                               struct xfs_bmbt_irec *, int *);
+                               struct xfs_bmbt_irec *);
 
 int
 xfs_iomap(
@@ -134,12 +134,12 @@ xfs_iomap(
                }
 
                if (flags & BMAPI_DIRECT) {
-                       error = xfs_iomap_write_direct(ip, offset, count, flags,
-                                                      imap, nimaps);
+                       error = xfs_iomap_write_direct(ip, offset, count, imap,
+                                                      *nimaps);
                } else {
-                       error = xfs_iomap_write_delay(ip, offset, count, flags,
-                                                     imap, nimaps);
+                       error = xfs_iomap_write_delay(ip, offset, count, imap);
                }
+
                if (!error) {
                        trace_xfs_iomap_alloc(ip, offset, count, flags, imap);
                }
@@ -155,13 +155,10 @@ xfs_iomap(
                        break;
                }
 
-               error = xfs_iomap_write_allocate(ip, offset, count,
-                                                imap, nimaps);
+               error = xfs_iomap_write_allocate(ip, offset, count, imap);
                break;
        }
 
-       ASSERT(*nimaps <= 1);
-
 out:
        if (lockmode)
                xfs_iunlock(ip, lockmode);
@@ -241,9 +238,8 @@ xfs_iomap_write_direct(
        xfs_inode_t     *ip,
        xfs_off_t       offset,
        size_t          count,
-       int             flags,
        xfs_bmbt_irec_t *imap,
-       int             *nmaps)
+       int             nmaps)
 {
        xfs_mount_t     *mp = ip->i_mount;
        xfs_fileoff_t   offset_fsb;
@@ -279,7 +275,7 @@ xfs_iomap_write_direct(
                if (error)
                        goto error_out;
        } else {
-               if (*nmaps && (imap->br_startblock == HOLESTARTBLOCK))
+               if (nmaps && (imap->br_startblock == HOLESTARTBLOCK))
                        last_fsb = MIN(last_fsb, (xfs_fileoff_t)
                                        imap->br_blockcount +
                                        imap->br_startoff);
@@ -331,7 +327,7 @@ xfs_iomap_write_direct(
        xfs_trans_ijoin(tp, ip);
 
        bmapi_flag = XFS_BMAPI_WRITE;
-       if ((flags & BMAPI_DIRECT) && (offset < ip->i_size || extsz))
+       if (offset < ip->i_size || extsz)
                bmapi_flag |= XFS_BMAPI_PREALLOC;
 
        /*
@@ -370,7 +366,6 @@ xfs_iomap_write_direct(
                goto error_out;
        }
 
-       *nmaps = 1;
        return 0;
 
 error0:        /* Cancel bmap, unlock inode, unreserve quota blocks, cancel 
trans */
@@ -379,7 +374,6 @@ error0:     /* Cancel bmap, unlock inode, un
 
 error1:        /* Just cancel transaction */
        xfs_trans_cancel(tp, XFS_TRANS_RELEASE_LOG_RES | XFS_TRANS_ABORT);
-       *nmaps = 0;     /* nothing set-up here */
 
 error_out:
        return XFS_ERROR(error);
@@ -396,7 +390,6 @@ xfs_iomap_eof_want_preallocate(
        xfs_inode_t     *ip,
        xfs_off_t       offset,
        size_t          count,
-       int             ioflag,
        xfs_bmbt_irec_t *imap,
        int             nimaps,
        int             *prealloc)
@@ -440,9 +433,7 @@ xfs_iomap_write_delay(
        xfs_inode_t     *ip,
        xfs_off_t       offset,
        size_t          count,
-       int             ioflag,
-       xfs_bmbt_irec_t *ret_imap,
-       int             *nmaps)
+       xfs_bmbt_irec_t *ret_imap)
 {
        xfs_mount_t     *mp = ip->i_mount;
        xfs_fileoff_t   offset_fsb;
@@ -470,7 +461,7 @@ xfs_iomap_write_delay(
        offset_fsb = XFS_B_TO_FSBT(mp, offset);
 
        error = xfs_iomap_eof_want_preallocate(mp, ip, offset, count,
-                               ioflag, imap, XFS_WRITE_IMAPS, &prealloc);
+                               imap, XFS_WRITE_IMAPS, &prealloc);
        if (error)
                return error;
 
@@ -523,8 +514,6 @@ retry:
                return xfs_cmn_err_fsblock_zero(ip, &imap[0]);
 
        *ret_imap = imap[0];
-       *nmaps = 1;
-
        return 0;
 }
 
@@ -543,8 +532,7 @@ xfs_iomap_write_allocate(
        xfs_inode_t     *ip,
        xfs_off_t       offset,
        size_t          count,
-       xfs_bmbt_irec_t *imap,
-       int             *retmap)
+       xfs_bmbt_irec_t *imap)
 {
        xfs_mount_t     *mp = ip->i_mount;
        xfs_fileoff_t   offset_fsb, last_block;
@@ -557,8 +545,6 @@ xfs_iomap_write_allocate(
        int             error = 0;
        int             nres;
 
-       *retmap = 0;
-
        /*
         * Make sure that the dquots are there.
         */
@@ -680,7 +666,6 @@ xfs_iomap_write_allocate(
                if ((offset_fsb >= imap->br_startoff) &&
                    (offset_fsb < (imap->br_startoff +
                                   imap->br_blockcount))) {
-                       *retmap = 1;
                        XFS_STATS_INC(xs_xstrat_quick);
                        return 0;
                }

<Prev in Thread] Current Thread [Next in Thread>