Hi On Tue, Sep 15, 2015 at 3:37 AM, cee1 <fykc...@gmail.com> wrote: > Hi all, > > mount_one will return 1 if a mount action is performed; 0 for no mount > performed; and <0 for an error occurred. Right? > > In mount_setup, we have the following logic: > """ > for (i = 0; i < ELEMENTSOF(mount_table); i ++) { > int j; > > j = mount_one(mount_table + i, loaded_policy); > > if (r == 0) > r = j; > > } > > if (r < 0) > return r; > """ > > That means the first non-zero return value determines the return value > of mount_setup - If a mount is performed successfully in > mount_one(which set r to 1), an error in next call of mount_one will > *NOT* be detected(since r == 1). Is this the expected behavior?
Looks wrong, indeed. But note that if one of those mounts fails, something is seriously wrong (and already logged earlier). It sounds unlikely this ever happens. Anyway, I wrote a short patch for this: https://github.com/systemd/systemd/pull/1323 (Please continue discussion on github) Thanks David _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel