static void vfsub_notify_change_dlgt(struct notify_change_args *args, unsigned int flags) { if (!vfsub_ftest(flags, DLGT)) call_notify_change(args); else { int wkq_err; wkq_err = au_wkq_wait(call_notify_change, args, /*dlgt*/1); if (unlikely(wkq_err)) *args->errp = wkq_err; } }
int vfsub_notify_change(struct path *path, struct iattr *ia) { int err; struct notify_change_args args = { .errp = &err, .path = path, .ia = ia }; call_notify_change(&args); return err; }
int vfsub_notify_change(struct path *path, struct iattr *ia, struct inode **delegated_inode) { int err; struct notify_change_args args = { .errp = &err, .path = path, .ia = ia, .delegated_inode = delegated_inode }; call_notify_change(&args); return err; }
static void vfsub_notify_change_dlgt(struct notify_change_args *args, unsigned int flags) { call_notify_change(args); }