Whamcloud - gitweb
LU-10171 lmv: avoid gratuitous 64-bit modulus
[fs/lustre-release.git] / lustre / lmv / lmv_obd.c
index e785fd9..19bfed4 100644 (file)
@@ -1373,8 +1373,11 @@ static int lmv_select_statfs_mdt(struct lmv_obd *lmv, __u32 flags)
                        break;
 
                if (LNET_NETTYP(LNET_NIDNET(lnet_id.nid)) != LOLND) {
+                       /* We dont need a full 64-bit modulus, just enough
+                        * to distribute the requests across MDTs evenly.
+                        */
                        lmv->lmv_statfs_start =
-                               lnet_id.nid % lmv->desc.ld_tgt_count;
+                               (u32)lnet_id.nid % lmv->desc.ld_tgt_count;
                        break;
                }
        }
@@ -3347,12 +3350,12 @@ static int lmv_merge_attr(struct obd_export *exp,
        for (i = 0; i < lsm->lsm_md_stripe_count; i++) {
                struct inode *inode = lsm->lsm_md_oinfo[i].lmo_root;
 
-               CDEBUG(D_INFO, ""DFID" size %llu, blocks %llu nlink %u,"
-                      " atime %lu ctime %lu, mtime %lu.\n",
+               CDEBUG(D_INFO,
+                      "" DFID " size %llu, blocks %llu nlink %u, atime %lld ctime %lld, mtime %lld.\n",
                       PFID(&lsm->lsm_md_oinfo[i].lmo_fid),
                       i_size_read(inode), (unsigned long long)inode->i_blocks,
-                      inode->i_nlink, LTIME_S(inode->i_atime),
-                      LTIME_S(inode->i_ctime), LTIME_S(inode->i_mtime));
+                      inode->i_nlink, (s64)inode->i_atime.tv_sec,
+                      (s64)inode->i_ctime.tv_sec, (s64)inode->i_mtime.tv_sec);
 
                /* for slave stripe, it needs to subtract nlink for . and .. */
                if (i != 0)
@@ -3363,14 +3366,14 @@ static int lmv_merge_attr(struct obd_export *exp,
                attr->cat_size += i_size_read(inode);
                attr->cat_blocks += inode->i_blocks;
 
-               if (attr->cat_atime < LTIME_S(inode->i_atime))
-                       attr->cat_atime = LTIME_S(inode->i_atime);
+               if (attr->cat_atime < inode->i_atime.tv_sec)
+                       attr->cat_atime = inode->i_atime.tv_sec;
 
-               if (attr->cat_ctime < LTIME_S(inode->i_ctime))
-                       attr->cat_ctime = LTIME_S(inode->i_ctime);
+               if (attr->cat_ctime < inode->i_ctime.tv_sec)
+                       attr->cat_ctime = inode->i_ctime.tv_sec;
 
-               if (attr->cat_mtime < LTIME_S(inode->i_mtime))
-                       attr->cat_mtime = LTIME_S(inode->i_mtime);
+               if (attr->cat_mtime < inode->i_mtime.tv_sec)
+                       attr->cat_mtime = inode->i_mtime.tv_sec;
        }
        return 0;
 }