}
}
+ /* XXX notice that this lock has no callback data: of course the
+ export would be exactly what we may want to use here... */
lock = ldlm_lock_create(obddev->obd_namespace,
&dlm_req->lock_handle2,
dlm_req->lock_desc.l_resource.lr_name,
LBUG();
}
- lock = ldlm_lock_create(ns, parent_lockh, res_id, type, mode, NULL, 0);
+ lock = ldlm_lock_create(ns, parent_lockh, res_id, type, mode, data, data_len);
if (!lock)
GOTO(out_nolock, err = -ENOMEM);
LDLM_DEBUG(lock, "client-side local enqueue handler, new lock created");
lic.lic_lmm = NULL;
} else {
+ invalidate_inode_pages(dir);
request = it->it_data;
body = lustre_msg_buf(request->rq_repmsg, 1);
lic.lic_lmm = NULL;
if (dentry->d_it && dentry->d_it->it_disposition) {
err = dentry->d_it->it_status;
+ invalidate_inode_pages(dir);
GOTO(out, err);
}
if (!dentry->d_it || dentry->d_it->it_disposition == 0) {
if (!ext2_empty_dir(inode))
LBUG();
-
err = ll_common_unlink(dir, dentry, S_IFDIR);
} else
err = dentry->d_it->it_status;
new_inode->i_ctime = CURRENT_TIME;
new_inode->i_nlink--;
}
+ invalidate_inode_pages(old_dir);
+ invalidate_inode_pages(new_dir);
GOTO(out, err = new_dentry->d_it->it_status);
}