Re: [PATCH v2] ceph: remove the incorrect caps check in _file_size()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Looks good to me

Reviewed-by: Milind Changire <mchangir@xxxxxxxxxx>

On Thu, Sep 7, 2023 at 5:54 AM <xiubli@xxxxxxxxxx> wrote:
>
> From: Xiubo Li <xiubli@xxxxxxxxxx>
>
> When truncating the inode the MDS will acquire the xlock for the
> ifile Locker, which will revoke the 'Frwsxl' caps from the clients.
> But when the client just releases and flushes the 'Fw' caps to MDS,
> for exmaple, and once the MDS receives the caps flushing msg it
> just thought the revocation has finished. Then the MDS will continue
> truncating the inode and then issued the truncate notification to
> all the clients. While just before the clients receives the cap
> flushing ack they receive the truncation notification, the clients
> will detecte that the 'issued | dirty' is still holding the 'Fw'
> caps.
>
> Fixes: b0d7c2231015 ("ceph: introduce i_truncate_mutex")
> Cc: stable@xxxxxxxxxxxxxxx
> URL: https://tracker.ceph.com/issues/56693
> Signed-off-by: Xiubo Li <xiubli@xxxxxxxxxx>
> ---
>
> V2:
> - Added the info about which commit it's fixing
>
>
>  fs/ceph/inode.c | 4 +---
>  1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/fs/ceph/inode.c b/fs/ceph/inode.c
> index ea6f966dacd5..8017b9e5864f 100644
> --- a/fs/ceph/inode.c
> +++ b/fs/ceph/inode.c
> @@ -769,9 +769,7 @@ int ceph_fill_file_size(struct inode *inode, int issued,
>                         ci->i_truncate_seq = truncate_seq;
>
>                         /* the MDS should have revoked these caps */
> -                       WARN_ON_ONCE(issued & (CEPH_CAP_FILE_EXCL |
> -                                              CEPH_CAP_FILE_RD |
> -                                              CEPH_CAP_FILE_WR |
> +                       WARN_ON_ONCE(issued & (CEPH_CAP_FILE_RD |
>                                                CEPH_CAP_FILE_LAZYIO));
>                         /*
>                          * If we hold relevant caps, or in the case where we're
> --
> 2.41.0
>


-- 
Milind





[Index of Archives]     [CEPH Users]     [Ceph Large]     [Ceph Dev]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux