nfs-ganesha 1.4
|
00001 /* -*- mode: c; c-basic-offset: 4; indent-tabs-mode: nil; -*- 00002 * vim:expandtab:shiftwidth=4:tabstop=4: 00003 */ 00004 #ifdef HAVE_CONFIG_H 00005 #include "config.h" 00006 #endif 00007 00008 #include "posixdb_internal.h" 00009 #include "posixdb_consistency.h" 00010 #include <string.h> 00011 00021 int fsal_posixdb_consistency_check(fsal_posixdb_fileinfo_t * p_info1, /* IN */ 00022 fsal_posixdb_fileinfo_t * p_info2 /* IN */ ) 00023 { 00024 int out = 0; 00025 00026 if(!p_info1 || !p_info2) 00027 return -1; 00028 00029 if(isFullDebug(COMPONENT_FSAL)) 00030 { 00031 if(p_info1->inode != p_info2->inode) 00032 LogFullDebug(COMPONENT_FSAL, "inode 1 <> inode 2 : %"PRIu64" != %"PRIu64"\n", p_info1->inode, p_info2->inode); 00033 00034 if(p_info1->devid != p_info2->devid) 00035 LogFullDebug(COMPONENT_FSAL, "devid 1 <> devid 2 : %"PRIu64" != %"PRIu64"\n", p_info1->devid, p_info2->devid); 00036 00037 if(p_info1->ftype != p_info2->ftype) 00038 LogFullDebug(COMPONENT_FSAL, "ftype 1 <> ftype 2 : %u != %u\n", p_info1->ftype, p_info2->ftype); 00039 } 00040 00041 out |= (p_info1->inode && p_info2->inode) && (p_info1->inode != p_info2->inode); 00042 out |= (p_info1->devid && p_info2->devid) && (p_info1->devid != p_info2->devid); 00043 out |= (p_info1->ftype && p_info2->ftype) && (p_info1->ftype != p_info2->ftype); 00044 00045 return out; 00046 }