nfs-ganesha 1.4

posixdb_consistency.c

Go to the documentation of this file.
00001 #ifdef HAVE_CONFIG_H
00002 #include "config.h"
00003 #endif
00004 
00005 #include "posixdb_internal.h"
00006 #include "posixdb_consistency.h"
00007 #include <string.h>
00008 
00018 int fsal_posixdb_consistency_check(fsal_posixdb_fileinfo_t * p_info1,   /* IN */
00019                                    fsal_posixdb_fileinfo_t * p_info2 /* IN */ )
00020 {
00021   int out = 0;
00022 
00023   if(!p_info1 || !p_info2)
00024     return -1;
00025 
00026   if(isFullDebug(COMPONENT_FSAL))
00027     {
00028       if(p_info1->inode != p_info2->inode)
00029         LogFullDebug(COMPONENT_FSAL, "inode 1 <> inode 2 : %"PRIu64" != %"PRIu64"\n", p_info1->inode, p_info2->inode);
00030 
00031       if(p_info1->devid != p_info2->devid)
00032         LogFullDebug(COMPONENT_FSAL, "devid 1 <> devid 2 : %"PRIu64" != %"PRIu64"\n", p_info1->devid, p_info2->devid);
00033 
00034       if(p_info1->ftype != p_info2->ftype)
00035         LogFullDebug(COMPONENT_FSAL, "ftype 1 <> ftype 2 : %u != %u\n", p_info1->ftype, p_info2->ftype);
00036     }
00037 
00038   out |= (p_info1->inode && p_info2->inode) && (p_info1->inode != p_info2->inode);
00039   out |= (p_info1->devid && p_info2->devid) && (p_info1->devid != p_info2->devid);
00040   out |= (p_info1->ftype && p_info2->ftype) && (p_info1->ftype != p_info2->ftype);
00041 
00042   return out;
00043 }