]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/blobdiff - libxfs/xfs_inode.c
Fix libxfs device flush ioctl, sync with kernel source.
[thirdparty/xfsprogs-dev.git] / libxfs / xfs_inode.c
index e18e41e3bd5805c73822e130d613e44c870c767f..fcf7ca8ac0c2ceab1561ec5f52a0fbca6659224f 100644 (file)
@@ -369,7 +369,7 @@ xfs_iformat_local(
        /*
         * If the size is unreasonable, then something
         * is wrong and we just bail out rather than crash in
-        * kmem_alloc() or bcopy() below.
+        * kmem_alloc() or memcpy() below.
         */
        if (size > XFS_DFORK_SIZE_ARCH(dip, ip->i_mount, whichfork, ARCH_CONVERT)) {
                xfs_fs_cmn_err(CE_WARN, ip->i_mount,
@@ -393,7 +393,8 @@ xfs_iformat_local(
        ifp->if_bytes = size;
        ifp->if_real_bytes = real_size;
        if (size)
-               bcopy(XFS_DFORK_PTR_ARCH(dip, whichfork, ARCH_CONVERT), ifp->if_u1.if_data, size);
+               memcpy(ifp->if_u1.if_data,
+                       XFS_DFORK_PTR_ARCH(dip, whichfork, ARCH_CONVERT), size);
        ifp->if_flags &= ~XFS_IFEXTENTS;
        ifp->if_flags |= XFS_IFINLINE;
        return 0;
@@ -426,7 +427,7 @@ xfs_iformat_extents(
        /*
         * If the number of extents is unreasonable, then something
         * is wrong and we just bail out rather than crash in
-        * kmem_alloc() or bcopy() below.
+        * kmem_alloc() or memcpy() below.
         */
        if (size < 0 || size > XFS_DFORK_SIZE_ARCH(dip, ip->i_mount, whichfork, ARCH_CONVERT)) {
                xfs_fs_cmn_err(CE_WARN, ip->i_mount,
@@ -452,8 +453,8 @@ xfs_iformat_extents(
                xfs_validate_extents(
                        (xfs_bmbt_rec_32_t *)XFS_DFORK_PTR_ARCH(dip, whichfork, ARCH_CONVERT),
                        nex, XFS_EXTFMT_INODE(ip));
-               bcopy(XFS_DFORK_PTR_ARCH(dip, whichfork, ARCH_CONVERT), ifp->if_u1.if_extents,
-                     size);
+               memcpy(ifp->if_u1.if_extents,
+                       XFS_DFORK_PTR_ARCH(dip, whichfork, ARCH_CONVERT), size);
                xfs_bmap_trace_exlist("xfs_iformat_extents", ip, nex,
                        whichfork);
                if (whichfork != XFS_DATA_FORK ||
@@ -549,9 +550,9 @@ xfs_xlate_dinode_core(xfs_caddr_t buf, xfs_dinode_core_t *dip,
 
     if (arch == ARCH_NOCONVERT) {
        if (dir>0) {
-           bcopy((xfs_caddr_t)buf_core, (xfs_caddr_t)mem_core, sizeof(xfs_dinode_core_t));
+           memcpy((xfs_caddr_t)mem_core, (xfs_caddr_t)buf_core, sizeof(xfs_dinode_core_t));
        } else {
-           bcopy((xfs_caddr_t)mem_core, (xfs_caddr_t)buf_core, sizeof(xfs_dinode_core_t));
+           memcpy((xfs_caddr_t)buf_core, (xfs_caddr_t)mem_core, sizeof(xfs_dinode_core_t));
        }
        return;
     }
@@ -567,9 +568,9 @@ xfs_xlate_dinode_core(xfs_caddr_t buf, xfs_dinode_core_t *dip,
     INT_XLATE(buf_core->di_projid,     mem_core->di_projid,       dir, arch);
 
     if (dir>0) {
-       bcopy(buf_core->di_pad, mem_core->di_pad, sizeof(buf_core->di_pad));
+       memcpy(mem_core->di_pad, buf_core->di_pad, sizeof(buf_core->di_pad));
     } else {
-       bcopy(mem_core->di_pad, buf_core->di_pad, sizeof(buf_core->di_pad));
+       memcpy(buf_core->di_pad, mem_core->di_pad, sizeof(buf_core->di_pad));
     }
 
     INT_XLATE(buf_core->di_atime.t_sec, mem_core->di_atime.t_sec,  dir, arch);
@@ -875,7 +876,7 @@ xfs_iroot_realloc(
                ifp->if_broot_bytes = (int)new_size;
                ASSERT(ifp->if_broot_bytes <=
                        XFS_IFORK_SIZE(ip, whichfork) + XFS_BROOT_SIZE_ADJ);
-               ovbcopy(op, np, cur_max * (uint)sizeof(xfs_dfsbno_t));
+               memmove(np, op, cur_max * (uint)sizeof(xfs_dfsbno_t));
                return;
        }
 
@@ -897,7 +898,7 @@ xfs_iroot_realloc(
                /*
                 * First copy over the btree block header.
                 */
-               bcopy(ifp->if_broot, new_broot, sizeof(xfs_bmbt_block_t));
+               memcpy(new_broot, ifp->if_broot, sizeof(xfs_bmbt_block_t));
        } else {
                new_broot = NULL;
                ifp->if_flags &= ~XFS_IFBROOT;
@@ -914,7 +915,7 @@ xfs_iroot_realloc(
                                                     ifp->if_broot_bytes);
                np = (char *)XFS_BMAP_BROOT_REC_ADDR(new_broot, 1,
                                                     (int)new_size);
-               bcopy(op, np, new_max * (uint)sizeof(xfs_bmbt_rec_t));
+               memcpy(np, op, new_max * (uint)sizeof(xfs_bmbt_rec_t));
 
                /*
                 * Then copy the pointers.
@@ -923,7 +924,7 @@ xfs_iroot_realloc(
                                                     ifp->if_broot_bytes);
                np = (char *)XFS_BMAP_BROOT_PTR_ADDR(new_broot, 1,
                                                     (int)new_size);
-               bcopy(op, np, new_max * (uint)sizeof(xfs_dfsbno_t));
+               memcpy(np, op, new_max * (uint)sizeof(xfs_dfsbno_t));
        }
        kmem_free(ifp->if_broot, ifp->if_broot_bytes);
        ifp->if_broot = new_broot;
@@ -986,8 +987,8 @@ xfs_iext_realloc(
                         * so the if_extents pointer is null.
                         */
                        if (ifp->if_u1.if_extents) {
-                               bcopy(ifp->if_u1.if_extents,
-                                     ifp->if_u2.if_inline_ext, new_size);
+                               memcpy(ifp->if_u2.if_inline_ext,
+                                       ifp->if_u1.if_extents, new_size);
                                kmem_free(ifp->if_u1.if_extents,
                                          ifp->if_real_bytes);
                        }
@@ -1004,7 +1005,7 @@ xfs_iext_realloc(
                if (ifp->if_u1.if_extents == ifp->if_u2.if_inline_ext) {
                        ifp->if_u1.if_extents = (xfs_bmbt_rec_t *)
                                kmem_alloc(rnew_size, KM_SLEEP);
-                       bcopy(ifp->if_u2.if_inline_ext, ifp->if_u1.if_extents,
+                       memcpy(ifp->if_u1.if_extents, ifp->if_u2.if_inline_ext,
                              sizeof(ifp->if_u2.if_inline_ext));
                } else if (rnew_size != ifp->if_real_bytes) {
                        ifp->if_u1.if_extents = (xfs_bmbt_rec_t *)
@@ -1067,7 +1068,7 @@ xfs_idata_realloc(
                        ifp->if_u1.if_data = ifp->if_u2.if_inline_data;
                } else if (ifp->if_u1.if_data != ifp->if_u2.if_inline_data) {
                        ASSERT(ifp->if_real_bytes != 0);
-                       bcopy(ifp->if_u1.if_data, ifp->if_u2.if_inline_data,
+                       memcpy(ifp->if_u2.if_inline_data, ifp->if_u1.if_data,
                              new_size);
                        kmem_free(ifp->if_u1.if_data, ifp->if_real_bytes);
                        ifp->if_u1.if_data = ifp->if_u2.if_inline_data;
@@ -1100,8 +1101,8 @@ xfs_idata_realloc(
                } else {
                        ASSERT(ifp->if_real_bytes == 0);
                        ifp->if_u1.if_data = kmem_alloc(real_size, KM_SLEEP);
-                       bcopy(ifp->if_u2.if_inline_data, ifp->if_u1.if_data,
-                             ifp->if_bytes);
+                       memcpy(ifp->if_u1.if_data, ifp->if_u2.if_inline_data,
+                               ifp->if_bytes);
                }
        }
        ifp->if_real_bytes = real_size;
@@ -1226,7 +1227,7 @@ xfs_iroundup(
  * returns the number of bytes copied into the buffer.
  *
  * If there are no delayed allocation extents, then we can just
- * bcopy() the extents into the buffer.         Otherwise, we need to
+ * memcpy() the extents into the buffer.  Otherwise, we need to
  * examine each extent in turn and skip those which are delayed.
  */
 int
@@ -1262,7 +1263,7 @@ xfs_iextents_copy(
                ASSERT(ifp->if_bytes ==
                       (XFS_IFORK_NEXTENTS(ip, whichfork) *
                        (uint)sizeof(xfs_bmbt_rec_t)));
-               bcopy(ifp->if_u1.if_extents, buffer, ifp->if_bytes);
+               memcpy(buffer, ifp->if_u1.if_extents, ifp->if_bytes);
                xfs_validate_extents(buffer, nrecs, XFS_EXTFMT_INODE(ip));
                return ifp->if_bytes;
        }
@@ -1351,7 +1352,7 @@ xfs_iflush_fork(
                    (ifp->if_bytes > 0)) {
                        ASSERT(ifp->if_u1.if_data != NULL);
                        ASSERT(ifp->if_bytes <= XFS_IFORK_SIZE(ip, whichfork));
-                       bcopy(ifp->if_u1.if_data, cp, ifp->if_bytes);
+                       memcpy(cp, ifp->if_u1.if_data, ifp->if_bytes);
                }
                if (whichfork == XFS_DATA_FORK) {
                        if (XFS_DIR_SHORTFORM_VALIDATE_ONDISK(mp, dip)) {
@@ -1396,7 +1397,7 @@ xfs_iflush_fork(
        case XFS_DINODE_FMT_UUID:
                if (iip->ili_format.ilf_fields & XFS_ILOG_UUID) {
                        ASSERT(whichfork == XFS_DATA_FORK);
-                       bcopy(&ip->i_df.if_u2.if_uuid, &dip->di_u.di_muuid,
+                       memcpy(&dip->di_u.di_muuid, &ip->i_df.if_u2.if_uuid,
                                sizeof(uuid_t));
                }
                break;