Re: [bug report] fs/dax: create a common implementation to break DAX layouts

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

 



On Fri, Jan 10, 2025 at 10:03:18AM +0300, Dan Carpenter wrote:
> Hello Alistair Popple,
> 
> Commit 738ec092051b ("fs/dax: create a common implementation to break
> DAX layouts") from Jan 7, 2025 (linux-next), leads to the following
> Smatch static checker warning:
> 
> 	fs/xfs/xfs_inode.c:3034 xfs_break_layouts()
> 	error: uninitialized symbol 'error'.
> 
> fs/xfs/xfs_inode.c
>     3009 int
>     3010 xfs_break_layouts(
>     3011         struct inode                *inode,
>     3012         uint                        *iolock,
>     3013         enum layout_break_reason reason)
>     3014 {
>     3015         bool                        retry;
>     3016         int                        error;
>     3017 
>     3018         xfs_assert_ilocked(XFS_I(inode), XFS_IOLOCK_SHARED | XFS_IOLOCK_EXCL);
>     3019 
>     3020         do {
>     3021                 retry = false;
>     3022                 switch (reason) {
>     3023                 case BREAK_UNMAP:
>     3024                         if (xfs_break_dax_layouts(inode))
>     3025                                 break;
> 
> What about if we hit this break on the first iteration?

I think that's a bug, thanks for the wakeup, Dan. :)

--D

>     3026                         fallthrough;
>     3027                 case BREAK_WRITE:
>     3028                         error = xfs_break_leased_layouts(inode, iolock, &retry);
>     3029                         break;
>     3030                 default:
>     3031                         WARN_ON_ONCE(1);
>     3032                         error = -EINVAL;
>     3033                 }
> --> 3034         } while (error == 0 && retry);
>     3035 
>     3036         return error;
>     3037 }
> 
> regards,
> dan carpenter
> 




[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux