Version 2.02.86 -
=================================
+ Add and use dev_open_readonly and variations.
Do not log a superfluous stack message when the lv is properly processed.
Do not issue an error message when unable to remove .cache on read-only fs.
Avoid memlock size mismatch by preallocating stdio line buffers.
if (!(c->dev = dev_create_file(c->filename, NULL, NULL, 1)))
return_0;
- if (!dev_open_flags(c->dev, O_RDONLY, 0, 0)) {
+ if (!dev_open_readonly_buffered(c->dev)) {
c->dev = 0;
return_0;
}
return dev_open_flags(dev, flags, 1, 0);
}
+int dev_open_readonly(struct device *dev)
+{
+ return dev_open_flags(dev, O_RDONLY, 1, 0);
+}
+
+int dev_open_readonly_buffered(struct device *dev)
+{
+ return dev_open_flags(dev, O_RDONLY, 0, 0);
+}
+
+int dev_open_readonly_quiet(struct device *dev)
+{
+ return dev_open_flags(dev, O_RDONLY, 1, 1);
+}
+
int dev_test_excl(struct device *dev)
{
int flags;
int dev_open(struct device *dev);
int dev_open_quiet(struct device *dev);
int dev_open_flags(struct device *dev, int flags, int direct, int quiet);
+int dev_open_readonly(struct device *dev);
+int dev_open_readonly_buffered(struct device *dev);
+int dev_open_readonly_quiet(struct device *dev);
int dev_close(struct device *dev);
int dev_close_immediate(struct device *dev);
void dev_close_all(void);
}
/* Check it's accessible */
- if (!dev_open_flags(dev, O_RDONLY, 1, 1)) {
+ if (!dev_open_readonly_quiet(dev)) {
log_debug("%s: Skipping: open failed", name);
return 0;
}