Messages in this thread | | | Date | Mon, 28 Apr 2008 05:03:46 -0400 | From | ext Christoph Hellwig <> | Subject | Re: [RFC PATCH 26/26] UBIFS: include FS to compilation |
| |
On Mon, Apr 28, 2008 at 10:10:07AM +0300, Adrian Hunter wrote: >>> So instead of arguing about this you really ought to look at what >>> SLUB, for example, does. It's perfectly okay to have _debugging >>> checks_ compiled out (stuff like verify_inode and such) but at the >>> assertion level it makes no sense whatsoever! >> >> Yes, having this in filesystems is not very nice. > > A technical reason would be more compelling than "not very nice".
These checks are if properly maintained not harmful for the code, but they make the code less readable and there's of course the chance that they get out of sync. That's why the term "not very nice" is entirely apropinquate here.
>> If someone feels >> very strong about interface assertation we should add them at the >> method level boundary so that the interface is verified for all >> filesystems. >> > > The checks are not valid for all file systems. > > The point of the checks as preconditions is lost if they moved elsewhere. > > VFS code paths are not simple, so the suggestion is impractical anyway.
Most of these checks are indeed generic. Those that arise from special filesystem invariants like not having unmapped buffers due to implementing ->page_mkwrite should for now be checked in the filesystem, although I'd like to make sure this is true for all filesystems long-term.
| |