]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
use glibc d_type macros, helpers
authorSage Weil <sage@newdream.net>
Mon, 25 Jul 2011 17:08:45 +0000 (10:08 -0700)
committerSage Weil <sage@newdream.net>
Mon, 25 Jul 2011 17:08:45 +0000 (10:08 -0700)
Fixes: #1135
Signed-off-by: Sage Weil <sage@newdream.net>
src/client/Client.cc
src/client/fuse_ll.cc
src/include/types.h
src/mds/CDentry.cc
src/mds/CDir.cc
src/mds/CInode.h

index c627c4a611041d3b7aa1e3a0e8ada7e74c12414c..398169f312338cd02f3ba09d24570549ac4aeb54 100644 (file)
@@ -4077,7 +4077,7 @@ void Client::fill_dirent(struct dirent *de, const char *name, int type, uint64_t
   de->d_off = next_off;
 #endif
   de->d_reclen = 1;
-  de->d_type = MODE_TO_DT(type);
+  de->d_type = IFTODT(type);
   ldout(cct, 10) << "fill_dirent '" << de->d_name << "' -> " << inodeno_t(de->d_ino)
           << " type " << (int)de->d_type << " w/ next_off " << hex << next_off << dec << dendl;
 #endif
index 16d5ceef07c637b6bcec5d4a91bb0029de2cc96c..0ff3f6b0a4b8fd1bcf7241cc6ef84231a688bb90 100644 (file)
@@ -387,7 +387,7 @@ static int ceph_ll_add_dirent(void *p, struct dirent *de, struct stat *st, int s
   struct readdir_context *c = (struct readdir_context *)p;
 
   st->st_ino = make_fake_ino(de->d_ino, c->snap);
-  st->st_mode = DT_TO_MODE(de->d_type);
+  st->st_mode = DTTOIF(de->d_type);
   st->st_rdev = new_encode_dev(st->st_rdev);
 
   size_t room = c->size - c->pos;
index b9f721aaf0f9d46ca24464c1489094b2815cc71e..6351e882ad666ce57fb76d21d7ce951cc8d09f0a 100644 (file)
@@ -324,15 +324,6 @@ static inline bool file_mode_is_readonly(int mode) {
   return (mode & CEPH_FILE_MODE_WR) == 0;
 }
 
-inline int DT_TO_MODE(int dt) {
-  return dt << 12;
-}
-
-inline unsigned char MODE_TO_DT(int mode) {
-  return mode >> 12;
-}
-
-
 
 struct SnapRealmInfo {
   mutable ceph_mds_snap_realm h;
index 8f9abd1d592d152aac49233a4bb3aedce0b47cd4..aa55c11c7d95a2cdf46679075576ed10e8312245 100644 (file)
@@ -72,7 +72,7 @@ ostream& operator<<(ostream& out, CDentry& dn)
   if (dn.get_linkage()->is_null()) out << " NULL";
   if (dn.get_linkage()->is_remote()) {
     out << " REMOTE(";
-    switch (dn.get_linkage()->get_remote_d_type() << 12) {
+    switch (DTTOIF(dn.get_linkage()->get_remote_d_type())) {
     case S_IFSOCK: out << "sock"; break;
     case S_IFLNK: out << "lnk"; break;
     case S_IFREG: out << "reg"; break;
index 4d9c2988f0a3f83633330289094e431b54c4b714..42208c98330ef474c9b2a977b247b3611d687e51 100644 (file)
@@ -468,7 +468,7 @@ void CDir::remove_dentry(CDentry *dn)
 
 void CDir::link_remote_inode(CDentry *dn, CInode *in)
 {
-  link_remote_inode(dn, in->ino(), MODE_TO_DT(in->get_projected_inode()->mode));
+  link_remote_inode(dn, in->ino(), IFTODT(in->get_projected_inode()->mode));
 }
 
 void CDir::link_remote_inode(CDentry *dn, inodeno_t ino, unsigned char d_type)
@@ -728,7 +728,7 @@ void CDir::steal_dentry(CDentry *dn)
       if (in->is_dirty_rstat())
        dirty_rstat_inodes.push_back(&in->dirty_rstat_item);
     } else if (dn->get_linkage()->is_remote()) {
-      if (dn->get_linkage()->get_remote_d_type() == (S_IFDIR >> 12))
+      if (dn->get_linkage()->get_remote_d_type() == DT_DIR)
        fnode.fragstat.nsubdirs++;
       else
        fnode.fragstat.nfiles++;
@@ -2390,7 +2390,7 @@ void CDir::verify_fragstat()
        c.nfiles++;
     }
     if (dn->is_remote()) {
-      if (dn->get_remote_d_type() == (S_IFDIR >> 12))
+      if (dn->get_remote_d_type() == DT_DIR)
        c.nsubdirs++;
       else
        c.nfiles++;
index 7eeb25f83a221181aa05953465e9b67fdc720f67..86746e5dca51ba68d4d6e255e2da215cfcac3248 100644 (file)
@@ -528,7 +528,7 @@ private:
 
   inodeno_t ino() const { return inode.ino; }
   vinodeno_t vino() const { return vinodeno_t(inode.ino, last); }
-  int d_type() const { return MODE_TO_DT(inode.mode); }
+  int d_type() const { return IFTODT(inode.mode); }
 
   inode_t& get_inode() { return inode; }
   CDentry* get_parent_dn() { return parent; }