[XFS] endianess annotations for xfs_attr_shortform_t
authorNathan Scott <nathans@sgi.com>
Fri, 17 Mar 2006 06:29:25 +0000 (17:29 +1100)
committerNathan Scott <nathans@sgi.com>
Fri, 17 Mar 2006 06:29:25 +0000 (17:29 +1100)
SGI-PV: 943272
SGI-Modid: xfs-linux-melb:xfs-kern:25501a

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Nathan Scott <nathans@sgi.com>
fs/xfs/xfs_attr_leaf.c
fs/xfs/xfs_attr_sf.h
fs/xfs/xfs_inode.c

index 531417b2c74c7b178e9d1910678aac7d543e18ad..37d2e10f874c1e8f17a90c585d3ed11e20edde36 100644 (file)
@@ -194,7 +194,7 @@ xfs_attr_shortform_create(xfs_da_args_t *args)
        xfs_idata_realloc(dp, sizeof(*hdr), XFS_ATTR_FORK);
        hdr = (xfs_attr_sf_hdr_t *)ifp->if_u1.if_data;
        hdr->count = 0;
-       INT_SET(hdr->totsize, ARCH_CONVERT, sizeof(*hdr));
+       hdr->totsize = cpu_to_be16(sizeof(*hdr));
        xfs_trans_log_inode(args->trans, dp, XFS_ILOG_CORE | XFS_ILOG_ADATA);
 }
 
@@ -224,8 +224,7 @@ xfs_attr_shortform_add(xfs_da_args_t *args, int forkoff)
        ASSERT(ifp->if_flags & XFS_IFINLINE);
        sf = (xfs_attr_shortform_t *)ifp->if_u1.if_data;
        sfe = &sf->list[0];
-       for (i = 0; i < INT_GET(sf->hdr.count, ARCH_CONVERT);
-                               sfe = XFS_ATTR_SF_NEXTENTRY(sfe), i++) {
+       for (i = 0; i < sf->hdr.count; sfe = XFS_ATTR_SF_NEXTENTRY(sfe), i++) {
 #ifdef DEBUG
                if (sfe->namelen != args->namelen)
                        continue;
@@ -248,13 +247,13 @@ xfs_attr_shortform_add(xfs_da_args_t *args, int forkoff)
        sfe = (xfs_attr_sf_entry_t *)((char *)sf + offset);
 
        sfe->namelen = args->namelen;
-       INT_SET(sfe->valuelen, ARCH_CONVERT, args->valuelen);
+       sfe->valuelen = args->valuelen;
        sfe->flags = (args->flags & ATTR_SECURE) ? XFS_ATTR_SECURE :
                        ((args->flags & ATTR_ROOT) ? XFS_ATTR_ROOT : 0);
        memcpy(sfe->nameval, args->name, args->namelen);
        memcpy(&sfe->nameval[args->namelen], args->value, args->valuelen);
-       INT_MOD(sf->hdr.count, ARCH_CONVERT, 1);
-       INT_MOD(sf->hdr.totsize, ARCH_CONVERT, size);
+       sf->hdr.count++;
+       be16_add(&sf->hdr.totsize, size);
        xfs_trans_log_inode(args->trans, dp, XFS_ILOG_CORE | XFS_ILOG_ADATA);
 
        xfs_sbversion_add_attr2(mp, args->trans);
@@ -277,7 +276,7 @@ xfs_attr_shortform_remove(xfs_da_args_t *args)
        base = sizeof(xfs_attr_sf_hdr_t);
        sf = (xfs_attr_shortform_t *)dp->i_afp->if_u1.if_data;
        sfe = &sf->list[0];
-       end = INT_GET(sf->hdr.count, ARCH_CONVERT);
+       end = sf->hdr.count;
        for (i = 0; i < end; sfe = XFS_ATTR_SF_NEXTENTRY(sfe),
                                        base += size, i++) {
                size = XFS_ATTR_SF_ENTSIZE(sfe);
@@ -300,11 +299,11 @@ xfs_attr_shortform_remove(xfs_da_args_t *args)
         * Fix up the attribute fork data, covering the hole
         */
        end = base + size;
-       totsize = INT_GET(sf->hdr.totsize, ARCH_CONVERT);
+       totsize = be16_to_cpu(sf->hdr.totsize);
        if (end != totsize)
                memmove(&((char *)sf)[base], &((char *)sf)[end], totsize - end);
-       INT_MOD(sf->hdr.count, ARCH_CONVERT, -1);
-       INT_MOD(sf->hdr.totsize, ARCH_CONVERT, -size);
+       sf->hdr.count--;
+       be16_add(&sf->hdr.totsize, -size);
 
        /*
         * Fix up the start offset of the attribute fork
@@ -360,7 +359,7 @@ xfs_attr_shortform_lookup(xfs_da_args_t *args)
        ASSERT(ifp->if_flags & XFS_IFINLINE);
        sf = (xfs_attr_shortform_t *)ifp->if_u1.if_data;
        sfe = &sf->list[0];
-       for (i = 0; i < INT_GET(sf->hdr.count, ARCH_CONVERT);
+       for (i = 0; i < sf->hdr.count;
                                sfe = XFS_ATTR_SF_NEXTENTRY(sfe), i++) {
                if (sfe->namelen != args->namelen)
                        continue;
@@ -391,7 +390,7 @@ xfs_attr_shortform_getvalue(xfs_da_args_t *args)
        ASSERT(args->dp->i_d.di_aformat == XFS_IFINLINE);
        sf = (xfs_attr_shortform_t *)args->dp->i_afp->if_u1.if_data;
        sfe = &sf->list[0];
-       for (i = 0; i < INT_GET(sf->hdr.count, ARCH_CONVERT);
+       for (i = 0; i < sf->hdr.count;
                                sfe = XFS_ATTR_SF_NEXTENTRY(sfe), i++) {
                if (sfe->namelen != args->namelen)
                        continue;
@@ -404,14 +403,14 @@ xfs_attr_shortform_getvalue(xfs_da_args_t *args)
                    ((sfe->flags & XFS_ATTR_ROOT) != 0))
                        continue;
                if (args->flags & ATTR_KERNOVAL) {
-                       args->valuelen = INT_GET(sfe->valuelen, ARCH_CONVERT);
+                       args->valuelen = sfe->valuelen;
                        return(XFS_ERROR(EEXIST));
                }
-               if (args->valuelen < INT_GET(sfe->valuelen, ARCH_CONVERT)) {
-                       args->valuelen = INT_GET(sfe->valuelen, ARCH_CONVERT);
+               if (args->valuelen < sfe->valuelen) {
+                       args->valuelen = sfe->valuelen;
                        return(XFS_ERROR(ERANGE));
                }
-               args->valuelen = INT_GET(sfe->valuelen, ARCH_CONVERT);
+               args->valuelen = sfe->valuelen;
                memcpy(args->value, &sfe->nameval[args->namelen],
                                                    args->valuelen);
                return(XFS_ERROR(EEXIST));
@@ -438,7 +437,7 @@ xfs_attr_shortform_to_leaf(xfs_da_args_t *args)
        dp = args->dp;
        ifp = dp->i_afp;
        sf = (xfs_attr_shortform_t *)ifp->if_u1.if_data;
-       size = INT_GET(sf->hdr.totsize, ARCH_CONVERT);
+       size = be16_to_cpu(sf->hdr.totsize);
        tmpbuffer = kmem_alloc(size, KM_SLEEP);
        ASSERT(tmpbuffer != NULL);
        memcpy(tmpbuffer, ifp->if_u1.if_data, size);
@@ -481,11 +480,11 @@ xfs_attr_shortform_to_leaf(xfs_da_args_t *args)
        nargs.oknoent = 1;
 
        sfe = &sf->list[0];
-       for (i = 0; i < INT_GET(sf->hdr.count, ARCH_CONVERT); i++) {
+       for (i = 0; i < sf->hdr.count; i++) {
                nargs.name = (char *)sfe->nameval;
                nargs.namelen = sfe->namelen;
                nargs.value = (char *)&sfe->nameval[nargs.namelen];
-               nargs.valuelen = INT_GET(sfe->valuelen, ARCH_CONVERT);
+               nargs.valuelen = sfe->valuelen;
                nargs.hashval = xfs_da_hashname((char *)sfe->nameval,
                                                sfe->namelen);
                nargs.flags = (sfe->flags & XFS_ATTR_SECURE) ? ATTR_SECURE :
@@ -560,10 +559,8 @@ xfs_attr_shortform_list(xfs_attr_list_context_t *context)
         * If the buffer is large enough, do not bother with sorting.
         * Note the generous fudge factor of 16 overhead bytes per entry.
         */
-       if ((dp->i_afp->if_bytes + INT_GET(sf->hdr.count, ARCH_CONVERT) * 16)
-                                                       < context->bufsize) {
-               for (i = 0, sfe = &sf->list[0];
-                               i < INT_GET(sf->hdr.count, ARCH_CONVERT); i++) {
+       if ((dp->i_afp->if_bytes + sf->hdr.count * 16) < context->bufsize) {
+               for (i = 0, sfe = &sf->list[0]; i < sf->hdr.count; i++) {
                        attrnames_t     *namesp;
 
                        if (((context->flags & ATTR_SECURE) != 0) !=
@@ -584,14 +581,13 @@ xfs_attr_shortform_list(xfs_attr_list_context_t *context)
                        if (context->flags & ATTR_KERNOVAL) {
                                ASSERT(context->flags & ATTR_KERNAMELS);
                                context->count += namesp->attr_namelen +
-                                       INT_GET(sfe->namelen, ARCH_CONVERT) + 1;
+                                       sfe->namelen + 1;
                        }
                        else {
                                if (xfs_attr_put_listent(context, namesp,
                                                   (char *)sfe->nameval,
                                                   (int)sfe->namelen,
-                                                  (int)INT_GET(sfe->valuelen,
-                                                               ARCH_CONVERT)))
+                                                  (int)sfe->valuelen))
                                        break;
                        }
                        sfe = XFS_ATTR_SF_NEXTENTRY(sfe);
@@ -603,7 +599,7 @@ xfs_attr_shortform_list(xfs_attr_list_context_t *context)
        /*
         * It didn't all fit, so we have to sort everything on hashval.
         */
-       sbsize = INT_GET(sf->hdr.count, ARCH_CONVERT) * sizeof(*sbuf);
+       sbsize = sf->hdr.count * sizeof(*sbuf);
        sbp = sbuf = kmem_alloc(sbsize, KM_SLEEP);
 
        /*
@@ -611,8 +607,7 @@ xfs_attr_shortform_list(xfs_attr_list_context_t *context)
         * the relevant info from only those that match into a buffer.
         */
        nsbuf = 0;
-       for (i = 0, sfe = &sf->list[0];
-                       i < INT_GET(sf->hdr.count, ARCH_CONVERT); i++) {
+       for (i = 0, sfe = &sf->list[0]; i < sf->hdr.count; i++) {
                if (unlikely(
                    ((char *)sfe < (char *)sf) ||
                    ((char *)sfe >= ((char *)sf + dp->i_afp->if_bytes)))) {
@@ -696,7 +691,7 @@ xfs_attr_shortform_list(xfs_attr_list_context_t *context)
                } else {
                        if (xfs_attr_put_listent(context, namesp,
                                        sbp->name, sbp->namelen,
-                                       INT_GET(sbp->valuelen, ARCH_CONVERT)))
+                                       sbp->valuelen))
                                break;
                }
                cursor->offset++;
index ffed6ca81a52a9b2152ee147952f17e6a47c1a43..f67f917803b1d2d5efdb764647f9e9be6026ec04 100644 (file)
@@ -32,8 +32,8 @@ struct xfs_inode;
  */
 typedef struct xfs_attr_shortform {
        struct xfs_attr_sf_hdr {        /* constant-structure header block */
-               __uint16_t totsize;     /* total bytes in shortform list */
-               __uint8_t count;        /* count of active entries */
+               __be16  totsize;        /* total bytes in shortform list */
+               __u8    count;  /* count of active entries */
        } hdr;
        struct xfs_attr_sf_entry {
                __uint8_t namelen;      /* actual length of name (no NULL) */
@@ -66,8 +66,8 @@ typedef struct xfs_attr_sf_sort {
 #define XFS_ATTR_SF_NEXTENTRY(sfep)            /* next entry in struct */ \
        ((xfs_attr_sf_entry_t *)((char *)(sfep) + XFS_ATTR_SF_ENTSIZE(sfep)))
 #define XFS_ATTR_SF_TOTSIZE(dp)                        /* total space in use */ \
-       (INT_GET(((xfs_attr_shortform_t *)      \
-               ((dp)->i_afp->if_u1.if_data))->hdr.totsize, ARCH_CONVERT))
+       (be16_to_cpu(((xfs_attr_shortform_t *)  \
+               ((dp)->i_afp->if_u1.if_data))->hdr.totsize))
 
 #if defined(XFS_ATTR_TRACE)
 /*
index b1e95707e7cf2e9a04ae5023624cd9a9f9ff3524..7d0ded05a467ab4b4bd93bfa1b2da9bfa1b9b987 100644 (file)
@@ -506,7 +506,7 @@ xfs_iformat(
        switch (INT_GET(dip->di_core.di_aformat, ARCH_CONVERT)) {
        case XFS_DINODE_FMT_LOCAL:
                atp = (xfs_attr_shortform_t *)XFS_DFORK_APTR(dip);
-               size = (int)INT_GET(atp->hdr.totsize, ARCH_CONVERT);
+               size = be16_to_cpu(atp->hdr.totsize);
                error = xfs_iformat_local(ip, dip, XFS_ATTR_FORK, size);
                break;
        case XFS_DINODE_FMT_EXTENTS: