diff options
Diffstat (limited to 'fs/nfs/callback_proc.c')
-rw-r--r-- | fs/nfs/callback_proc.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/fs/nfs/callback_proc.c b/fs/nfs/callback_proc.c index 2435af56b87e..a50d7813e3ea 100644 --- a/fs/nfs/callback_proc.c +++ b/fs/nfs/callback_proc.c | |||
@@ -572,7 +572,7 @@ out: | |||
572 | } | 572 | } |
573 | 573 | ||
574 | static bool | 574 | static bool |
575 | validate_bitmap_values(unsigned long mask) | 575 | validate_bitmap_values(unsigned int mask) |
576 | { | 576 | { |
577 | return (mask & ~RCA4_TYPE_MASK_ALL) == 0; | 577 | return (mask & ~RCA4_TYPE_MASK_ALL) == 0; |
578 | } | 578 | } |
@@ -596,17 +596,15 @@ __be32 nfs4_callback_recallany(void *argp, void *resp, | |||
596 | goto out; | 596 | goto out; |
597 | 597 | ||
598 | status = cpu_to_be32(NFS4_OK); | 598 | status = cpu_to_be32(NFS4_OK); |
599 | if (test_bit(RCA4_TYPE_MASK_RDATA_DLG, (const unsigned long *) | 599 | if (args->craa_type_mask & BIT(RCA4_TYPE_MASK_RDATA_DLG)) |
600 | &args->craa_type_mask)) | ||
601 | flags = FMODE_READ; | 600 | flags = FMODE_READ; |
602 | if (test_bit(RCA4_TYPE_MASK_WDATA_DLG, (const unsigned long *) | 601 | if (args->craa_type_mask & BIT(RCA4_TYPE_MASK_WDATA_DLG)) |
603 | &args->craa_type_mask)) | ||
604 | flags |= FMODE_WRITE; | 602 | flags |= FMODE_WRITE; |
605 | if (test_bit(RCA4_TYPE_MASK_FILE_LAYOUT, (const unsigned long *) | ||
606 | &args->craa_type_mask)) | ||
607 | pnfs_recall_all_layouts(cps->clp); | ||
608 | if (flags) | 603 | if (flags) |
609 | nfs_expire_unused_delegation_types(cps->clp, flags); | 604 | nfs_expire_unused_delegation_types(cps->clp, flags); |
605 | |||
606 | if (args->craa_type_mask & BIT(RCA4_TYPE_MASK_FILE_LAYOUT)) | ||
607 | pnfs_recall_all_layouts(cps->clp); | ||
610 | out: | 608 | out: |
611 | dprintk("%s: exit with status = %d\n", __func__, ntohl(status)); | 609 | dprintk("%s: exit with status = %d\n", __func__, ntohl(status)); |
612 | return status; | 610 | return status; |