diff options
Diffstat (limited to 'fs/aio.c')
-rw-r--r-- | fs/aio.c | 8 |
1 files changed, 3 insertions, 5 deletions
@@ -512,8 +512,8 @@ static void aio_fput_routine(struct work_struct *data) | |||
512 | */ | 512 | */ |
513 | static int __aio_put_req(struct kioctx *ctx, struct kiocb *req) | 513 | static int __aio_put_req(struct kioctx *ctx, struct kiocb *req) |
514 | { | 514 | { |
515 | dprintk(KERN_DEBUG "aio_put(%p): f_count=%d\n", | 515 | dprintk(KERN_DEBUG "aio_put(%p): f_count=%ld\n", |
516 | req, atomic_read(&req->ki_filp->f_count)); | 516 | req, atomic_long_read(&req->ki_filp->f_count)); |
517 | 517 | ||
518 | assert_spin_locked(&ctx->ctx_lock); | 518 | assert_spin_locked(&ctx->ctx_lock); |
519 | 519 | ||
@@ -528,7 +528,7 @@ static int __aio_put_req(struct kioctx *ctx, struct kiocb *req) | |||
528 | /* Must be done under the lock to serialise against cancellation. | 528 | /* Must be done under the lock to serialise against cancellation. |
529 | * Call this aio_fput as it duplicates fput via the fput_work. | 529 | * Call this aio_fput as it duplicates fput via the fput_work. |
530 | */ | 530 | */ |
531 | if (unlikely(atomic_dec_and_test(&req->ki_filp->f_count))) { | 531 | if (unlikely(atomic_long_dec_and_test(&req->ki_filp->f_count))) { |
532 | get_ioctx(ctx); | 532 | get_ioctx(ctx); |
533 | spin_lock(&fput_lock); | 533 | spin_lock(&fput_lock); |
534 | list_add(&req->ki_list, &fput_head); | 534 | list_add(&req->ki_list, &fput_head); |
@@ -586,7 +586,6 @@ static void use_mm(struct mm_struct *mm) | |||
586 | struct task_struct *tsk = current; | 586 | struct task_struct *tsk = current; |
587 | 587 | ||
588 | task_lock(tsk); | 588 | task_lock(tsk); |
589 | tsk->flags |= PF_BORROWED_MM; | ||
590 | active_mm = tsk->active_mm; | 589 | active_mm = tsk->active_mm; |
591 | atomic_inc(&mm->mm_count); | 590 | atomic_inc(&mm->mm_count); |
592 | tsk->mm = mm; | 591 | tsk->mm = mm; |
@@ -610,7 +609,6 @@ static void unuse_mm(struct mm_struct *mm) | |||
610 | struct task_struct *tsk = current; | 609 | struct task_struct *tsk = current; |
611 | 610 | ||
612 | task_lock(tsk); | 611 | task_lock(tsk); |
613 | tsk->flags &= ~PF_BORROWED_MM; | ||
614 | tsk->mm = NULL; | 612 | tsk->mm = NULL; |
615 | /* active_mm is still 'mm' */ | 613 | /* active_mm is still 'mm' */ |
616 | enter_lazy_tlb(mm, tsk); | 614 | enter_lazy_tlb(mm, tsk); |