+ } else {
+ memset(&ad, 0, sizeof(ad));
+ adp = &ad;
+ }
+
+ if ( ad_open( upath, ADFLAGS_HF, O_RDONLY, 0, adp) < 0 ) {
+ adp = NULL;
+ }
+ else {
+#if 0
+ /* FIXME
+ we need to check if the file is open by another process.
+ it's slow so we only do it if we have to:
+ - bitmap is requested.
+ - we don't already have the answer!
+ */
+ if ((bitmap & (1 << FILPBIT_ATTR))) {
+ if (!(attrbits & ATTRBIT_ROPEN)) {
+ }
+ if (!(attrbits & ATTRBIT_DOPEN)) {
+ }
+ }
+#endif
+ }
+ rc = getmetadata(vol, bitmap, path, dir, st, buf, buflen, adp, attrbits);
+ if ( adp ) {
+ ad_close( adp, ADFLAGS_HF );
+ }