diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-01-26 13:42:05 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-01-26 13:42:05 -0500 |
| commit | a90e8a75fbf9e7fe2d88da6a5cf38be07fd81c35 (patch) | |
| tree | 0c5388fdefd00f2f7e381e4f8bd7707e6baeb374 | |
| parent | cc597bc3d31468596af6b8ad2b1d1b593e308957 (diff) | |
| parent | 20d5a39929232a715f29e6cb7e3f0d0c790f41eb (diff) | |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm:
dlm: initialize file_lock struct in GETLK before copying conflicting lock
dlm: fix plock notify callback to lockd
| -rw-r--r-- | fs/dlm/plock.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/dlm/plock.c b/fs/dlm/plock.c index eba87ff3177b..894a32d438d5 100644 --- a/fs/dlm/plock.c +++ b/fs/dlm/plock.c | |||
| @@ -168,7 +168,7 @@ static int dlm_plock_callback(struct plock_op *op) | |||
| 168 | notify = xop->callback; | 168 | notify = xop->callback; |
| 169 | 169 | ||
| 170 | if (op->info.rv) { | 170 | if (op->info.rv) { |
| 171 | notify(flc, NULL, op->info.rv); | 171 | notify(fl, NULL, op->info.rv); |
| 172 | goto out; | 172 | goto out; |
| 173 | } | 173 | } |
| 174 | 174 | ||
| @@ -187,7 +187,7 @@ static int dlm_plock_callback(struct plock_op *op) | |||
| 187 | (unsigned long long)op->info.number, file, fl); | 187 | (unsigned long long)op->info.number, file, fl); |
| 188 | } | 188 | } |
| 189 | 189 | ||
| 190 | rv = notify(flc, NULL, 0); | 190 | rv = notify(fl, NULL, 0); |
| 191 | if (rv) { | 191 | if (rv) { |
| 192 | /* XXX: We need to cancel the fs lock here: */ | 192 | /* XXX: We need to cancel the fs lock here: */ |
| 193 | log_print("dlm_plock_callback: lock granted after lock request " | 193 | log_print("dlm_plock_callback: lock granted after lock request " |
| @@ -304,7 +304,9 @@ int dlm_posix_get(dlm_lockspace_t *lockspace, u64 number, struct file *file, | |||
| 304 | if (rv == -ENOENT) | 304 | if (rv == -ENOENT) |
| 305 | rv = 0; | 305 | rv = 0; |
| 306 | else if (rv > 0) { | 306 | else if (rv > 0) { |
| 307 | locks_init_lock(fl); | ||
| 307 | fl->fl_type = (op->info.ex) ? F_WRLCK : F_RDLCK; | 308 | fl->fl_type = (op->info.ex) ? F_WRLCK : F_RDLCK; |
| 309 | fl->fl_flags = FL_POSIX; | ||
| 308 | fl->fl_pid = op->info.pid; | 310 | fl->fl_pid = op->info.pid; |
| 309 | fl->fl_start = op->info.start; | 311 | fl->fl_start = op->info.start; |
| 310 | fl->fl_end = op->info.end; | 312 | fl->fl_end = op->info.end; |
