Fixes bug #504.
Fixes bug #501.
* FIX: Conversion from adouble v2 to ea for directories.
Fixes bug #500.
+* FIX: Error messages when mounting read-only filesystems.
+ Fixes bug #504.
Changes in 3.0.2
================
#define ADFLAGS_TRUNC (1<<12) /* truncate, open called with O_TRUNC */
#define ADVOL_NODEV (1 << 0)
+#define ADVOL_RO (1 << 1)
#define ADVOL_UNIXPRIV (1 << 2) /* adouble unix priv */
#define ADVOL_INVDOTS (1 << 3) /* dot files (.DS_Store) are invisible) */
#define ADVOL_FOLLO_SYML (1 << 4)
if (newpath)
*newpath = NULL;
+ if (vol->v_flags & AFPVOL_RO)
+ EC_EXIT_STATUS(0);
+
if ((vol->v_adouble == AD_VERSION_EA) && !(vol->v_flags & AFPVOL_NOV2TOEACONV))
EC_ZERO( ad_conv_v22ea(path, sp, vol) );
errno = ENOENT;
EC_FAIL;
}
+ if ((adflags & ADFLAGS_CREATE) && (ad->ad_options & ADVOL_RO)) {
+ errno = EROFS;
+ EC_FAIL;
+ }
LOG(log_debug, logtype_ad, "ad_open_hf_ea(\"%s\"): creating metadata EA", path);
volume->v_ad_options |= ADVOL_INVDOTS;
if ((volume->v_flags & AFPVOL_FOLLOWSYM))
volume->v_ad_options |= ADVOL_FOLLO_SYML;
+ if ((volume->v_flags & AFPVOL_RO))
+ volume->v_ad_options |= ADVOL_RO;
/* Mac to Unix conversion flags*/
if ((volume->v_flags & AFPVOL_EILSEQ))