Re: [PATCH 00/14] xfsprogs: make buffer functions return error codes

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

 



On Wed, Feb 19, 2020 at 05:44:29PM -0800, Darrick J. Wong wrote:
> Hi all,
> 
> Let's fix all the xfs read/get buffer functions to return the usual
> integer error codes and pass the buffer pointer as a out-argument.  This
> makes it so that we can return useful error output instead of making
> callers infer ENOMEM or EAGAIN or whatever other reality they crave from
> the NULL pointer that they get when things don't go perfectly.
> 
> FWIW, all XBF_TRYLOCK callers must now trigger retries if they receive
> EAGAIN.  This may lead to a slight behavioral change in that TRYLOCK
> callers will no longer retry for things like ENOMEM, though I didn't see
> any obvious changes in user-visible behavior when running fstests.
> 
> After finishing the error code conversion, we straighten out the TRYLOCK
> callers to remove all this null pointer checks in favor of explicit
> EAGAIN checks; and then we change the buffer IO/corruption error
> reporting so that we report whoever called the buffer code even when
> reading a buffer in transaction context.
> 
> The userspace port of the kernel patchset was very difficult, so I am
> submitting this series to avoid dumping the work on Eric.

I should've noted that the "xfsprogs: refactor buffer function names"
series applies against 5.5; this series is a backport of the second half
of the kernel 5.6 merge.  I didn't send that part because I didn't feel
that it was significant enough to increase the patchbomb spew.

SO... the order is:

1. "refactor buffer function names", which is the thread before this one
2. "sync with 5.6", available at [1]
3. "make buffer functions return error codes", which is this one

--D

[1] https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfsprogs-dev.git/tag/?h=libxfs-5.6-sync_2020-02-19

> If you're going to start using this mess, you probably ought to just
> pull from my git trees, which are linked below.
> 
> This is an extraordinary way to destroy everything.  Enjoy!
> Comments and questions are, as always, welcome.
> 
> --D
> 
> xfsprogs git tree:
> https://git.kernel.org/cgit/linux/kernel/git/djwong/xfsprogs-dev.git/log/?h=buf-return-errorcodes



[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