* [PATCH] reiserfs patch for linux-2.4.2
@ 2001-02-28 19:21 Alexander Zarochentcev
2001-02-28 19:27 ` Christoph Hellwig
2001-03-01 0:39 ` Erik Mouw
0 siblings, 2 replies; 9+ messages in thread
From: Alexander Zarochentcev @ 2001-02-28 19:21 UTC (permalink / raw)
To: linux-kernel, linux-fsdevel; +Cc: Hans Reiser, reiserfs-dev
[-- Attachment #1: Type: text/plain, Size: 2282 bytes --]
Hello !
This reiserfs patch for linux-2.4.2 was prepared by all members of the reiserfs dev team.
It contains the following fixes/cleanups/improvements:
1. Fix for possible preallocated blocks leakage after a system crash
Reiserfs does block preallocation for big files like ext2 does. Preallocation
code changes both the bitmap and the free blocks count in the superblock. It
is possible to have unattached disk blocks which do not belong to any file
(i.e. free space leak) after a crash. Unlike ext2, reiserfs does not check for
consistency of a filesystem that was not cleanly unmounted. There is no simple
way to recover free space.
For a given transaction, the fix is to, at the transaction end, discard the
preallocations for those inodes which have one.
2. Object id sharing problem.
Fix for reiserfs/inode.c:reiserfs_iget () It now makes sure that it
really got inode of an object it is looking for.
3. Improvement of error handling in reiserfs_add_entry()
There is a place in reiserfs_add_entry() code where fs corruption
(existence of hidden entries--objects temporarily used in renaming), I/O
errors, or several other occurences, can produce an error message which has no
useful information.
We have had several bug reports about this vs-7032 message in the
older 3.5 version. Each time we were unable to reproduce it. We do not
understand the reason. This error handling fix will make such bug
reports much more informative for us if they should occur in the newer
version.
4. In reiserfs_add_entry(), we don't need to scan a whole bit_string for
non-zero bits to be able to use a smallest generation counter to avoid
researching for the dir entry insertion point.
5. bad block support
New ioctls added, enabling direct manipulation of block allocation bitmap by
the user space programs: ioctl to mark block as used, ioctl to mark block as
free and ioctl to update counter (stored in the super block) of blocks marked
through first two ioctls. This can be used as crude form of bad block support
(e.g., such ioctls can be used just after creation of file system on the device
with known bad blocks). User level interface to ioctls available.
6. Using integer constants from limits.h instead of self made ones
7. other minor fixes.
Regards,
Alex.
[-- Attachment #2: linux-2.4.2-reiserfs-20010227.patch.gz --]
[-- Type: application/x-gunzip, Size: 10013 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] reiserfs patch for linux-2.4.2
2001-02-28 19:21 [PATCH] reiserfs patch for linux-2.4.2 Alexander Zarochentcev
@ 2001-02-28 19:27 ` Christoph Hellwig
2001-03-01 0:01 ` Keith Owens
2001-03-01 3:16 ` Albert D. Cahalan
2001-03-01 0:39 ` Erik Mouw
1 sibling, 2 replies; 9+ messages in thread
From: Christoph Hellwig @ 2001-02-28 19:27 UTC (permalink / raw)
To: Alexander Zarochentcev
Cc: linux-kernel, linux-fsdevel, Hans Reiser, reiserfs-dev
On Wed, Feb 28, 2001 at 10:21:30PM +0300, Alexander Zarochentcev wrote:
> 6. Using integer constants from limits.h instead of self made ones
Urgg. limits.h is a userlevel header...
The attached patch will make similar atempts fail (but not this one as
there is also a limits.h in gcc's include dir).
Christoph
--
Of course it doesn't work. We've performed a software upgrade.
--- linux-2.4.0/Makefile Mon Dec 25 19:21:14 2000
+++ linux/Makefile Mon Dec 25 23:30:03 2000
@@ -85,7 +85,8 @@
# standard CFLAGS
#
-CPPFLAGS := -D__KERNEL__ -I$(HPATH)
+GCCINCDIR = $(shell gcc -print-search-dirs | sed -ne 's/install: \(.*\)/\1include/gp')
+CPPFLAGS := -D__KERNEL__ -nostdinc -I$(HPATH) -I$(GCCINCDIR)
CFLAGS := $(CPPFLAGS) -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strict-aliasing
AFLAGS := -D__ASSEMBLY__ $(CPPFLAGS)
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] reiserfs patch for linux-2.4.2
2001-02-28 19:27 ` Christoph Hellwig
@ 2001-03-01 0:01 ` Keith Owens
2001-03-01 0:05 ` Christoph Hellwig
2001-03-01 3:16 ` Albert D. Cahalan
1 sibling, 1 reply; 9+ messages in thread
From: Keith Owens @ 2001-03-01 0:01 UTC (permalink / raw)
To: Christoph Hellwig; +Cc: linux-kernel
On Wed, 28 Feb 2001 20:27:33 +0100,
Christoph Hellwig <hch@ns.caldera.de> wrote:
>Urgg. limits.h is a userlevel header...
>
>The attached patch will make similar atempts fail (but not this one as
>there is also a limits.h in gcc's include dir).
>
>--- linux-2.4.0/Makefile Mon Dec 25 19:21:14 2000
>-CPPFLAGS := -D__KERNEL__ -I$(HPATH)
>+GCCINCDIR = $(shell gcc -print-search-dirs | sed -ne 's/install: \(.*\)/\1include/gp')
>+CPPFLAGS := -D__KERNEL__ -nostdinc -I$(HPATH) -I$(GCCINCDIR)
cc: trimmed to l-k.
CPPFLAGS apply to the kernel compiler which can be a cross compiler but
you are extracting data from the host gcc. What exactly are you trying
to do here? Are you trying to prevent the use of user space includes
or are you trying to pick up the cross compiler includes?
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] reiserfs patch for linux-2.4.2
2001-03-01 0:01 ` Keith Owens
@ 2001-03-01 0:05 ` Christoph Hellwig
0 siblings, 0 replies; 9+ messages in thread
From: Christoph Hellwig @ 2001-03-01 0:05 UTC (permalink / raw)
To: Keith Owens; +Cc: Christoph Hellwig, linux-kernel
On Thu, Mar 01, 2001 at 11:01:59AM +1100, Keith Owens wrote:
> On Wed, 28 Feb 2001 20:27:33 +0100,
> Christoph Hellwig <hch@ns.caldera.de> wrote:
> >Urgg. limits.h is a userlevel header...
> >
> >The attached patch will make similar atempts fail (but not this one as
> >there is also a limits.h in gcc's include dir).
> >
> >--- linux-2.4.0/Makefile Mon Dec 25 19:21:14 2000
> >-CPPFLAGS := -D__KERNEL__ -I$(HPATH)
> >+GCCINCDIR = $(shell gcc -print-search-dirs | sed -ne 's/install: \(.*\)/\1include/gp')
> >+CPPFLAGS := -D__KERNEL__ -nostdinc -I$(HPATH) -I$(GCCINCDIR)
>
> cc: trimmed to l-k.
>
> CPPFLAGS apply to the kernel compiler which can be a cross compiler but
> you are extracting data from the host gcc. What exactly are you trying
> to do here?
Prevent inclusion of the usual (/usr/include) headers.
> Are you trying to prevent the use of user space includes
> or are you trying to pick up the cross compiler includes?
Ok, gcc should be replaced by $(CC).
Christoph
--
Of course it doesn't work. We've performed a software upgrade.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] reiserfs patch for linux-2.4.2
2001-02-28 19:21 [PATCH] reiserfs patch for linux-2.4.2 Alexander Zarochentcev
2001-02-28 19:27 ` Christoph Hellwig
@ 2001-03-01 0:39 ` Erik Mouw
2001-03-01 10:36 ` [reiserfs-dev] " Alexander Zarochentcev
1 sibling, 1 reply; 9+ messages in thread
From: Erik Mouw @ 2001-03-01 0:39 UTC (permalink / raw)
To: Alexander Zarochentcev
Cc: linux-kernel, linux-fsdevel, Hans Reiser, reiserfs-dev
On Wed, Feb 28, 2001 at 10:21:30PM +0300, Alexander Zarochentcev wrote:
> 6. Using integer constants from limits.h instead of self made ones
That's a userland header file. Don't use it in the kernel.
> 7. other minor fixes.
Does this patch contain Chris Mason's "tail conversion" fix that he
made after my bug report?
Erik
--
J.A.K. (Erik) Mouw, Information and Communication Theory Group, Department
of Electrical Engineering, Faculty of Information Technology and Systems,
Delft University of Technology, PO BOX 5031, 2600 GA Delft, The Netherlands
Phone: +31-15-2783635 Fax: +31-15-2781843 Email: J.A.K.Mouw@its.tudelft.nl
WWW: http://www-ict.its.tudelft.nl/~erik/
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] reiserfs patch for linux-2.4.2
2001-02-28 19:27 ` Christoph Hellwig
2001-03-01 0:01 ` Keith Owens
@ 2001-03-01 3:16 ` Albert D. Cahalan
2001-03-01 8:18 ` Christoph Hellwig
1 sibling, 1 reply; 9+ messages in thread
From: Albert D. Cahalan @ 2001-03-01 3:16 UTC (permalink / raw)
To: Christoph Hellwig
Cc: Alexander Zarochentcev, linux-kernel, linux-fsdevel, Hans Reiser,
reiserfs-dev
Christoph Hellwig writes:
> Urgg. limits.h is a userlevel header...
>
> The attached patch will make similar atempts fail (but not this one as
> there is also a limits.h in gcc's include dir).
There are very few files needed from gcc's include dir. Linux ought to
be able to survive without them. Linux is already gcc-specific anyway.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] reiserfs patch for linux-2.4.2
2001-03-01 3:16 ` Albert D. Cahalan
@ 2001-03-01 8:18 ` Christoph Hellwig
2001-03-02 0:35 ` Albert D. Cahalan
0 siblings, 1 reply; 9+ messages in thread
From: Christoph Hellwig @ 2001-03-01 8:18 UTC (permalink / raw)
To: Albert D. Cahalan
Cc: Christoph Hellwig, Alexander Zarochentcev, linux-kernel,
linux-fsdevel, Hans Reiser, reiserfs-dev
On Wed, Feb 28, 2001 at 10:16:02PM -0500, Albert D. Cahalan wrote:
> Christoph Hellwig writes:
>
> > Urgg. limits.h is a userlevel header...
> >
> > The attached patch will make similar atempts fail (but not this one as
> > there is also a limits.h in gcc's include dir).
>
> There are very few files needed from gcc's include dir. Linux ought to
> be able to survive without them. Linux is already gcc-specific anyway.
I think we want stdarg.h from gcc...
Christoph
--
Of course it doesn't work. We've performed a software upgrade.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [reiserfs-dev] Re: [PATCH] reiserfs patch for linux-2.4.2
2001-03-01 0:39 ` Erik Mouw
@ 2001-03-01 10:36 ` Alexander Zarochentcev
0 siblings, 0 replies; 9+ messages in thread
From: Alexander Zarochentcev @ 2001-03-01 10:36 UTC (permalink / raw)
To: Erik Mouw
Cc: linux-kernel, linux-fsdevel, Hans Reiser, reiserfs, reiserfs-dev
On Thu, Mar 01, 2001 at 01:39:46AM +0100, Erik Mouw wrote:
> On Wed, Feb 28, 2001 at 10:21:30PM +0300, Alexander Zarochentcev wrote:
> > 6. Using integer constants from limits.h instead of self made ones
>
> That's a userland header file. Don't use it in the kernel.
>
> > 7. other minor fixes.
>
> Does this patch contain Chris Mason's "tail conversion" fix that he
> made after my bug report?
No.
The "tail conversion" fix was sent to Alan.
It is already included into 2.4.2-ac6.
All fixes are in one combined patch:
ftp://ftp.namesys.com/pub/reiserfs-for-2.4/linux-2.4.2-reiserfs-20010301-full.patch.gz
Tail conversion fix is available as separate patch at namesys.com ftp site:
ftp://ftp.namesys.com/pub/reiserfs-for-2.4/another-null.diff .
> Erik
>
> --
> J.A.K. (Erik) Mouw, Information and Communication Theory Group, Department
> of Electrical Engineering, Faculty of Information Technology and Systems,
> Delft University of Technology, PO BOX 5031, 2600 GA Delft, The Netherlands
> Phone: +31-15-2783635 Fax: +31-15-2781843 Email: J.A.K.Mouw@its.tudelft.nl
> WWW: http://www-ict.its.tudelft.nl/~erik/
Thanks,
Alex.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] reiserfs patch for linux-2.4.2
2001-03-01 8:18 ` Christoph Hellwig
@ 2001-03-02 0:35 ` Albert D. Cahalan
0 siblings, 0 replies; 9+ messages in thread
From: Albert D. Cahalan @ 2001-03-02 0:35 UTC (permalink / raw)
To: Christoph Hellwig
Cc: Albert D. Cahalan, Christoph Hellwig, Alexander Zarochentcev,
linux-kernel, linux-fsdevel, Hans Reiser, reiserfs-dev
Christoph Hellwig writes:
> On Wed, Feb 28, 2001 at 10:16:02PM -0500, Albert D. Cahalan wrote:
>> Christoph Hellwig writes:
>>
>>> Urgg. limits.h is a userlevel header...
>>>
>>> The attached patch will make similar atempts fail (but not this one as
>>> there is also a limits.h in gcc's include dir).
>>
>> There are very few files needed from gcc's include dir. Linux ought to
>> be able to survive without them. Linux is already gcc-specific anyway.
>
> I think we want stdarg.h from gcc...
Yes, just as apps want <linux/*.h> files.
The kernel can have a copy. If the stack frame layout changes enough
to cause trouble with stdarg.h, then most likely there will be huge
trouble in 42 other places.
If you insist on using whatever random stdarg.h might be on the
system, then just copy it into the build area. The compile might
even run a bit faster without the extra directory to search.
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2001-03-02 0:36 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-02-28 19:21 [PATCH] reiserfs patch for linux-2.4.2 Alexander Zarochentcev
2001-02-28 19:27 ` Christoph Hellwig
2001-03-01 0:01 ` Keith Owens
2001-03-01 0:05 ` Christoph Hellwig
2001-03-01 3:16 ` Albert D. Cahalan
2001-03-01 8:18 ` Christoph Hellwig
2001-03-02 0:35 ` Albert D. Cahalan
2001-03-01 0:39 ` Erik Mouw
2001-03-01 10:36 ` [reiserfs-dev] " Alexander Zarochentcev
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox