Revision 5ef50c3bec20060bc114f62d6503c5d86d70bdd7 authored by Sage Weil on 31 July 2012, 18:27:36 UTC, committed by Sage Weil on 02 August 2012, 16:11:19 UTC
The initial ->atomic_open op was carried over from the old intent code, which was incomplete and didn't really work. Replace it with a fresh method. In particular: * always attempt to do an atomic open+lookup, both for the create case and for lookups of existing files. * fix symlink handling by returning 1 to the VFS so that we can follow the link to its destination. This fixes a longstanding ceph bug (#2392). Signed-off-by: Sage Weil <sage@inktank.com>
1 parent 1a9b499
notifier-error-inject.h
#include <linux/atomic.h>
#include <linux/debugfs.h>
#include <linux/notifier.h>
struct notifier_err_inject_action {
unsigned long val;
int error;
const char *name;
};
#define NOTIFIER_ERR_INJECT_ACTION(action) \
.name = #action, .val = (action),
struct notifier_err_inject {
struct notifier_block nb;
struct notifier_err_inject_action actions[];
/* The last slot must be terminated with zero sentinel */
};
extern struct dentry *notifier_err_inject_dir;
extern struct dentry *notifier_err_inject_init(const char *name,
struct dentry *parent, struct notifier_err_inject *err_inject,
int priority);
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...