Re: [PATCH] coda: kill file_count abuse

2007-07-19 Thread David Chinner
On Fri, Jul 20, 2007 at 04:16:31AM +0100, Al Viro wrote:
> On Fri, Jul 20, 2007 at 12:36:01PM +1000, David Chinner wrote:
> > To the context that dropped the last reference. It can't be
> > reported to anything else
> 
> Oh, for fsck sake...
> 
> Send a datagram with SCM_RIGHTS in it.  Have all other references
> to these files closed.  Now have close(2) kill the socket that
> might eventually be used to receive the datagram.  Now, all these
> files are closed.  Tell me, which error value would you report
> to that caller of close() and how would it guess which files had
> those been?
>
> Consider munmap().  It can release the last reference to any number
> of files (mmap them in different places, then munmap the entire
> area).  Which error would you report?
>
> Consider exit(), for crying out loud.  You have a file opened.
> You fork a child.  You close the file in parent.  Child goes
> away.  Who do you report that stuff?

Yup, all good cases where we can't report an error.

OTOH, consider a single thread doing an open(), write(), close().
That's a case where we could report an error, and it's far, far more
common than any of the scenarios you list above.

Effectively, that is my point - it's the fput() calling context
that knows whether it can return a meaningful error or not.
And ->release being non-void implies that you can return
meaningful errors to the caller.

So either fput() needs to propagate errors or ->release() should
be void, right?

Cheers,

Dave.
-- 
Dave Chinner
Principal Engineer
SGI Australian Software Group
-
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] coda: file count cannot be used to discover last close

2007-07-19 Thread Al Viro
On Fri, Jul 20, 2007 at 12:10:00AM -0400, Jan Harkes wrote:
> I will try to find a clean way to block the close syscall until fput
> drops the last reference. However I realize that such an implementation
> would not be acceptable for other file systems, and there are some
> interesting unresolved details such as 'which close is going to be the
> last close'.

Simply impossible.

fd = open(...);
fd2 = dup(fd);

close(fd2);  <-- deadlock
close(fd);

Or
fd = open(...);
p = mmap(..., fd, ...);
close(fd);  <-- deadlock
...
munmap(p, ...);

The problem is that you are mixing two different operations:
* closing descriptor: descriptor doesn't refer to this opened file
anymore.  Can be done by close(), can be done by dup2(), can be done by
fcntl() analog of dup2(), can be done by execve(), can be done by exit().
And can be done by death-by-signal.
* closing opened file: no references (including descriptors) exist
anymore, no IO of any kind will be done on that IO channel.  Can happen
when descriptor gets closed, can happen when mapping gets destroyed (munmap,
etc.), can happen when SCM_RIGHTS datagram gets destroyed (including the
garbage collection), can happen when any syscall on that file finishes
after another thread has closed descriptor passed to that syscall, etc.

You _can't_ expect the errors from the latter to be reliably
passed to some process; for one thing, many files can get closed by
single system call (e.g. closing an AF_UNIX socket with pending SCM_RIGHTS
datagrams will flush those datagrams, dropping references to files we
tried to pass via them).

Why does CODA need special warranties in that area, anyway?
Related question: does fsync() force the writeback?
-
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] coda: file count cannot be used to discover last close

2007-07-19 Thread Jan Harkes
On Fri, Jul 20, 2007 at 04:16:31AM +0100, Al Viro wrote:
> On Fri, Jul 20, 2007 at 12:36:01PM +1000, David Chinner wrote:
> > To the context that dropped the last reference. It can't be
> > reported to anything else
> 
> Oh, for fsck sake...

Here is a patch which removes the file_count test from coda_flush. This
avoids the race condition described by Al Viro where we may never see
the file_count drop to 0 in ->flush, in which case userspace is never
notified that a writeback should occur.

Signed-off-by: Jan Harkes <[EMAIL PROTECTED]>

---

Going from here I can fix the problem in several ways in userspace. The
current implementation would end up making useless snapshots as a result
of every close, and still leave us with lost updates in the the
write-after-close case, but that isn't any worse than what it is now.

Seeing every fops->flush does allow us to perform preliminary checks so
we can return errors for common issues and we can flag the file so that
the final release upcall (where we can no longer return errors) will
start the writeback.

Really the problem for me is that Coda's semantics (write on last close)
are not compatible with UNIX semantics, where writes may occur even
after the application has closed all fd's. This is quite similar to
having an open fd to a removed file, UNIX obviously doesn't return an
error or block the unlink if there is an active reference it just
detaches the inode from the namespace.

I will try to find a clean way to block the close syscall until fput
drops the last reference. However I realize that such an implementation
would not be acceptable for other file systems, and there are some
interesting unresolved details such as 'which close is going to be the
last close'.

diff --git a/fs/coda/file.c b/fs/coda/file.c
index 7594962..0a300dd 100644
--- a/fs/coda/file.c
+++ b/fs/coda/file.c
@@ -169,15 +169,10 @@ int coda_flush(struct file *coda_file, fl_owner_t id)
unsigned short coda_flags = coda_flags_to_cflags(flags);
struct coda_file_info *cfi;
struct inode *coda_inode;
-   int err = 0, fcnt;
+   int err = 0;
 
lock_kernel();
 
-   /* last close semantics */
-   fcnt = file_count(coda_file);
-   if (fcnt > 1)
-   goto out;
-
/* No need to make an upcall when we have not made any modifications
 * to the file */
if ((coda_file->f_flags & O_ACCMODE) == O_RDONLY)
@@ -246,7 +241,7 @@ int coda_release(struct inode *coda_inode, struct file 
*coda_file)
coda_file->private_data = NULL;
 
unlock_kernel();
-   return err;
+   return 0; /* no point in returning err, VFS ignores returned value */
 }
 
 int coda_fsync(struct file *coda_file, struct dentry *coda_dentry, int 
datasync)
-
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] coda: kill file_count abuse

2007-07-19 Thread Al Viro
On Fri, Jul 20, 2007 at 12:36:01PM +1000, David Chinner wrote:
> To the context that dropped the last reference. It can't be
> reported to anything else

Oh, for fsck sake...

Send a datagram with SCM_RIGHTS in it.  Have all other references
to these files closed.  Now have close(2) kill the socket that
might eventually be used to receive the datagram.  Now, all these
files are closed.  Tell me, which error value would you report
to that caller of close() and how would it guess which files had
those been?

Consider munmap().  It can release the last reference to any number
of files (mmap them in different places, then munmap the entire
area).  Which error would you report?

Consider exit(), for crying out loud.  You have a file opened.
You fork a child.  You close the file in parent.  Child goes
away.  Who do you report that stuff?
-
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] coda: kill file_count abuse

2007-07-19 Thread Jan Harkes
On Fri, Jul 20, 2007 at 01:53:16AM +0100, Al Viro wrote:
> On Fri, Jul 20, 2007 at 10:45:34AM +1000, David Chinner wrote:
> > On Thu, Jul 19, 2007 at 06:16:00PM -0400, Jan Harkes wrote:
> > > On Thu, Jul 19, 2007 at 11:45:08PM +0200, Christoph Hellwig wrote:
> > > > ->release is the proper way to detect the last close of a file,
> > > > file_count should never be used in filesystems.
> > > 
> > > Has been tried, the problem with that once ->release is called it is too
> > > late to pass the the error back to close(2).
> > 
> > I think you'll find the problem is that fput() throws away the error
> > from ->release, not that it's too late
>
> Just where would that return value go?

Right, there are actually quite a few places where different drivers and
file systems are returning non-zero errors from ->release. I just built
a kernel with the prototype changed to void to see how many places are
affected,  118 files changed, 211 insertions(+), 391 deletions(-)

That's with my default config on i386, so there are probably quite a few
more. The change also break the ABI quite badly (several EXPORT_SYMBOL
functions are affected) There were a few places where the error handling
path seems to lead to a possible struct file or private_data memory leak.

> BTW, the reason why checks for struct file refcount blow is not far
> from that:
> 
> task A: write()
> task B (sharing descriptor table with A): close()
> task C (with another reference to struct file in question): close()
> task A: return from write()
> 
> Now, the final fput() here happens in write().  In particular, no
> call of close(2) sees refcount equal to 1.

I see.

So if I want last-writer semantics, to let the last close trigger
writeback (upcall to userspace) combined with the ability to return an
error from the writeback back to close(2). To return an error I have to
use fops->flush, but as you've shown, I cannot reliably test if this
close dropped the last reference. In fact in your example there was
write activity even after the last close.

I guess I should find a way to delay the close (or at least the
userspace notification/return from syscall) until there are no active
writes.

Jan


=
Some of the possibly suspect error handling cases I found while building
a kernel with void release() in fops, I haven't really looked at these
too deeply (i.e. only looked at the deallocation, not the allocations so
these may very well be harmless),

drivers/char/ipmi/ipmi_devintf.c: ipmi_release
returns error when ipmi_destroy_user fails, does not call ipmi_fasync
and seems to leak memory referenced by file->private_data

drivers/scsi/sg.c: sg_release
may return ENXIO. leaks file->private_data when sfp->parentdp is NULL.

fs/autofs4/root.c: autofs4_dir_close
returns EBUSY or ENOENT. In the case it returns busy it isn't
releasing a struct file.

fs/bad_inode.c: bad_file_release
returns EIO. Since the return code is ignored either way, there is
no need to even implement this function.

fs/dlm/user.c: device_close
may return ENOENT, doesn't free memory referenced by
file->private_data if it fails this way.

fs/ecryptfs/file.c: ecryptfs_release
returns error when it fails to close the lower file, it also seems
to leak memory in this case.


-
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] coda: kill file_count abuse

2007-07-19 Thread David Chinner
On Fri, Jul 20, 2007 at 01:53:16AM +0100, Al Viro wrote:
> On Fri, Jul 20, 2007 at 10:45:34AM +1000, David Chinner wrote:
> > On Thu, Jul 19, 2007 at 06:16:00PM -0400, Jan Harkes wrote:
> > > On Thu, Jul 19, 2007 at 11:45:08PM +0200, Christoph Hellwig wrote:
> > > > ->release is the proper way to detect the last close of a file,
> > > > file_count should never be used in filesystems.
> > > 
> > > Has been tried, the problem with that once ->release is called it is too
> > > late to pass the the error back to close(2).
> > 
> > I think you'll find the problem is that fput() throws away the error
> > from ->release, not that it's too late
> 
> Just where would that return value go?

To the context that dropped the last reference. It can't be
reported to anything else

I'd much prefer to get an error on a file to any process
that was using the file than have a potential indication of
data or filesystem corruption silently dropped in the
bit bucket.

> BTW, the reason why checks for struct file refcount blow is not far
> from that:
> 
> task A: write()
> task B (sharing descriptor table with A): close()
> task C (with another reference to struct file in question): close()
> task A: return from write()
> 
> Now, the final fput() here happens in write().  In particular, no
> call of close(2) sees refcount equal to 1.

Sure, but you've given no reason why the write() is unable to
or should not return the error.

Cheers,

Dave.
-- 
Dave Chinner
Principal Engineer
SGI Australian Software Group
-
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] coda: kill file_count abuse

2007-07-19 Thread Al Viro
On Fri, Jul 20, 2007 at 10:45:34AM +1000, David Chinner wrote:
> On Thu, Jul 19, 2007 at 06:16:00PM -0400, Jan Harkes wrote:
> > On Thu, Jul 19, 2007 at 11:45:08PM +0200, Christoph Hellwig wrote:
> > > ->release is the proper way to detect the last close of a file,
> > > file_count should never be used in filesystems.
> > 
> > Has been tried, the problem with that once ->release is called it is too
> > late to pass the the error back to close(2).
> 
> I think you'll find the problem is that fput() throws away the error
> from ->release, not that it's too late

Just where would that return value go?

BTW, the reason why checks for struct file refcount blow is not far
from that:

task A: write()
task B (sharing descriptor table with A): close()
task C (with another reference to struct file in question): close()
task A: return from write()

Now, the final fput() here happens in write().  In particular, no
call of close(2) sees refcount equal to 1.

-
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] coda: kill file_count abuse

2007-07-19 Thread David Chinner
On Thu, Jul 19, 2007 at 06:16:00PM -0400, Jan Harkes wrote:
> On Thu, Jul 19, 2007 at 11:45:08PM +0200, Christoph Hellwig wrote:
> > ->release is the proper way to detect the last close of a file,
> > file_count should never be used in filesystems.
> 
> Has been tried, the problem with that once ->release is called it is too
> late to pass the the error back to close(2).

I think you'll find the problem is that fput() throws away the error
from ->release, not that it's too late

Cheers,

Dave.
-- 
Dave Chinner
Principal Engineer
SGI Australian Software Group
-
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] Faster ext2_clear_inode()

2007-07-19 Thread Andrew Morton
On Mon, 9 Jul 2007 22:00:03 +0200
Jörn Engel <[EMAIL PROTECTED]> wrote:

> On Mon, 9 July 2007 22:01:48 +0400, Alexey Dobriyan wrote:
> > 
> > Yes. Note that ext2_clear_inode() is referenced from ext2_sops, so even
> > empty, it leaves traces in resulting kernel.
> 
> Is that your opinion or have you actually measured a difference?
> I strongly suspect that compilers are smart enough to optimize away a
> call to an empty static function.
> 

It saves a big 16 bytes of text here.
-
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 1/5][TAKE8] manpage for fallocate

2007-07-19 Thread Andreas Dilger
On Jul 18, 2007  20:41 -0700, Mark Fasheh wrote:
> On Sat, Jul 14, 2007 at 12:16:25AM +0530, Amit K. Arora wrote:
> > After a successful call, subsequent writes are guaranteed not to fail
> > because of lack of disk space.
>   
> If a write to an unwritten region requires a node split, that could result
> in the allocation of new meta data which obviously could fail if the disk is
> truly full.
> 
> Granted that's unlikely to happen but maybe we should be conservative and
> say something like:
> 
> "After a successful call, subsequent writes are guaranteed to never require
> allocation of file data." ?
> --Mark

In the worst case, the unwritten extent could be zero-filled before the write
is done, so no exent split is needed.  We discussed this recently for the
ext4 fallocate, but didn't consider it important enough to hold the code.

Cheers, Andreas
--
Andreas Dilger
Principal Software Engineer
Cluster File Systems, Inc.

-
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] coda: kill file_count abuse

2007-07-19 Thread Jan Harkes
On Thu, Jul 19, 2007 at 11:45:08PM +0200, Christoph Hellwig wrote:
> ->release is the proper way to detect the last close of a file,
> file_count should never be used in filesystems.

Has been tried, the problem with that once ->release is called it is too
late to pass the the error back to close(2).

Jan

-
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] coda: kill file_count abuse

2007-07-19 Thread Christoph Hellwig
->release is the proper way to detect the last close of a file,
file_count should never be used in filesystems.


Signed-off-by: Christoph Hellwig <[EMAIL PROTECTED]>

Index: linux-2.6/fs/coda/dir.c
===
--- linux-2.6.orig/fs/coda/dir.c2007-07-19 22:40:25.0 +0200
+++ linux-2.6/fs/coda/dir.c 2007-07-19 22:40:27.0 +0200
@@ -86,7 +86,6 @@ const struct file_operations coda_dir_op
.read   = generic_read_dir,
.readdir= coda_readdir,
.open   = coda_open,
-   .flush  = coda_flush,
.release= coda_release,
.fsync  = coda_fsync,
 };
Index: linux-2.6/fs/coda/file.c
===
--- linux-2.6.orig/fs/coda/file.c   2007-07-19 22:36:38.0 +0200
+++ linux-2.6/fs/coda/file.c2007-07-19 22:40:13.0 +0200
@@ -163,58 +163,31 @@ int coda_open(struct inode *coda_inode, 
return 0;
 }
 
-int coda_flush(struct file *coda_file, fl_owner_t id)
+int coda_release(struct inode *coda_inode, struct file *coda_file)
 {
unsigned short flags = coda_file->f_flags & ~O_EXCL;
unsigned short coda_flags = coda_flags_to_cflags(flags);
-   struct coda_file_info *cfi;
-   struct inode *coda_inode;
-   int err = 0, fcnt;
+   struct coda_file_info *cfi = CODA_FTOC(coda_file);
+   struct coda_inode_info *cii;
+   struct inode *host_inode;
+   int err = 0;
 
lock_kernel();
 
-   /* last close semantics */
-   fcnt = file_count(coda_file);
-   if (fcnt > 1)
-   goto out;
-
/* No need to make an upcall when we have not made any modifications
 * to the file */
-   if ((coda_file->f_flags & O_ACCMODE) == O_RDONLY)
-   goto out;
-
-   if (use_coda_close)
-   goto out;
+   if (((coda_file->f_flags & O_ACCMODE) != O_RDONLY) && !use_coda_close) {
+   BUG_ON(!cfi || cfi->cfi_magic != CODA_MAGIC);
 
-   cfi = CODA_FTOC(coda_file);
-   BUG_ON(!cfi || cfi->cfi_magic != CODA_MAGIC);
-
-   coda_inode = coda_file->f_path.dentry->d_inode;
-
-   err = venus_store(coda_inode->i_sb, coda_i2f(coda_inode), coda_flags,
- coda_file->f_uid);
+   err = venus_store(coda_inode->i_sb, coda_i2f(coda_inode), 
coda_flags,
+ coda_file->f_uid);
 
-   if (err == -EOPNOTSUPP) {
-   use_coda_close = 1;
-   err = 0;
+   if (err == -EOPNOTSUPP) {
+   use_coda_close = 1;
+   err = 0;
+   }
}
 
-out:
-   unlock_kernel();
-   return err;
-}
-
-int coda_release(struct inode *coda_inode, struct file *coda_file)
-{
-   unsigned short flags = (coda_file->f_flags) & (~O_EXCL);
-   unsigned short coda_flags = coda_flags_to_cflags(flags);
-   struct coda_file_info *cfi;
-   struct coda_inode_info *cii;
-   struct inode *host_inode;
-   int err = 0;
-
-   lock_kernel();
-
if (!use_coda_close) {
err = venus_release(coda_inode->i_sb, coda_i2f(coda_inode),
coda_flags);
@@ -224,7 +197,6 @@ int coda_release(struct inode *coda_inod
}
}
 
-   cfi = CODA_FTOC(coda_file);
BUG_ON(!cfi || cfi->cfi_magic != CODA_MAGIC);
 
if (use_coda_close)
@@ -288,7 +260,6 @@ const struct file_operations coda_file_o
.write  = coda_file_write,
.mmap   = coda_file_mmap,
.open   = coda_open,
-   .flush  = coda_flush,
.release= coda_release,
.fsync  = coda_fsync,
.splice_read= coda_file_splice_read,
Index: linux-2.6/include/linux/coda_linux.h
===
--- linux-2.6.orig/include/linux/coda_linux.h   2007-07-19 22:40:33.0 
+0200
+++ linux-2.6/include/linux/coda_linux.h2007-07-19 22:40:35.0 
+0200
@@ -36,7 +36,6 @@ extern const struct file_operations coda
 
 /* operations shared over more than one file */
 int coda_open(struct inode *i, struct file *f);
-int coda_flush(struct file *f, fl_owner_t id);
 int coda_release(struct inode *i, struct file *f);
 int coda_permission(struct inode *inode, int mask, struct nameidata *nd);
 int coda_revalidate_inode(struct dentry *);
-
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [2/2] 2.6.22-git: known regressions

2007-07-19 Thread Bartlomiej Zolnierkiewicz
On Thursday 19 July 2007, Michal Piotrowski wrote:

> IDE
> 
> Subject : compile error if CONFIG_BLOCK not enabled related to 
> linux/ide.h include
> References  : http://lkml.org/lkml/2007/7/18/11
> Last known good : ?
> Submitter   : Kumar Gala <[EMAIL PROTECTED]>
> Caused-By   : ?
> Handled-By  : Bartlomiej Zolnierkiewicz <[EMAIL PROTECTED]>
> Status  : unknown

Not a 2.6.22-git regression (CONFIG_BLOCK was added on September 2006) and
Kumar should have a fix really soon - could be removed from the list IMO.

Thanks,
Bart
-
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [2/2] 2.6.22-git: known regressions

2007-07-19 Thread Michal Piotrowski

On 19/07/07, Satyam Sharma <[EMAIL PROTECTED]> wrote:

> Subject : ext4 build warnings
> References  : http://lkml.org/lkml/2007/7/18/420
> Last known good : ?
> Submitter   : Jeff Garzik <[EMAIL PROTECTED]>
> Caused-By   : ?
> Handled-By  : Mingming Cao <[EMAIL PROTECTED]>
> Status  : unknown

Mingming Cao fixed this:

http://lkml.org/lkml/2007/7/18/564

Dunno if it's in latest git



Informations updated. Thanks!

Regards,
Michal

--
LOG
http://www.stardust.webpages.pl/log/
-
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [2/2] 2.6.22-git: known regressions

2007-07-19 Thread Mingming Caoc

Satyam Sharma wrote:

Subject : ext4 build warnings
References  : http://lkml.org/lkml/2007/7/18/420
Last known good : ?
Submitter   : Jeff Garzik <[EMAIL PROTECTED]>
Caused-By   : ?
Handled-By  : Mingming Cao <[EMAIL PROTECTED]>
Status  : unknown


Mingming Cao fixed this:

http://lkml.org/lkml/2007/7/18/564

Dunno if it's in latest git


Andrew pushed the patch to Linus last night.

Thanks,

Mingming

-
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html



-
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [2/2] 2.6.22-git: known regressions

2007-07-19 Thread Satyam Sharma

Subject : ext4 build warnings
References  : http://lkml.org/lkml/2007/7/18/420
Last known good : ?
Submitter   : Jeff Garzik <[EMAIL PROTECTED]>
Caused-By   : ?
Handled-By  : Mingming Cao <[EMAIL PROTECTED]>
Status  : unknown


Mingming Cao fixed this:

http://lkml.org/lkml/2007/7/18/564

Dunno if it's in latest git
-
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [2/2] 2.6.22-git: known regressions

2007-07-19 Thread Greg KH
On Thu, Jul 19, 2007 at 06:34:55PM +0200, Michal Piotrowski wrote:
> SYSFS
> 
> Subject : sysfs root link count broken in 2.6.22-git5
> References  : http://lkml.org/lkml/2007/7/15/62
> Last known good : ?
> Submitter   : Jean Delvare <[EMAIL PROTECTED]>
> Caused-By   : ?
> Handled-By  : Tejun Heo <[EMAIL PROTECTED]>
> Status  : unknown

This is now fixed in Linus's tree with a patch from Tejun.

thanks,

greg k-h
-
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [2/2] 2.6.22-git: known regressions

2007-07-19 Thread Michal Piotrowski
Hi all,

Here is a list of some known regressions in 2.6.22-git.

Feel free to add new regressions/remove fixed etc.
http://kernelnewbies.org/known_regressions

List of Aces

NameRegressions fixed since 21-Jun-2007
Adrian Bunk3
Andi Kleen 2
Andrew Morton  2
David Woodhouse2
Hugh Dickins   2
Jens Axboe 2



FS

Subject : ia64 build failure from recent diskquota patch
References  : http://lkml.org/lkml/2007/7/18/407
Last known good : ?
Submitter   : Doug Chapman <[EMAIL PROTECTED]>
Caused-By   : Vasily Tarasov <[EMAIL PROTECTED]>
  commit b716395e2b8e450e294537de0c91476ded2f0395
Handled-By  : ?
Status  : unknown

Subject : ext4 build warnings
References  : http://lkml.org/lkml/2007/7/18/420
Last known good : ?
Submitter   : Jeff Garzik <[EMAIL PROTECTED]>
Caused-By   : ?
Handled-By  : Mingming Cao <[EMAIL PROTECTED]>
Status  : unknown



IDE

Subject : compile error if CONFIG_BLOCK not enabled related to 
linux/ide.h include
References  : http://lkml.org/lkml/2007/7/18/11
Last known good : ?
Submitter   : Kumar Gala <[EMAIL PROTECTED]>
Caused-By   : ?
Handled-By  : Bartlomiej Zolnierkiewicz <[EMAIL PROTECTED]>
Status  : unknown



Memory management

Subject : kmalloc zero size changes break i386
References  : http://lkml.org/lkml/2007/7/19/172
Last known good : ?
Submitter   : Andi Kleen <[EMAIL PROTECTED]>
Caused-By   : Christoph Lameter <[EMAIL PROTECTED]>
  commit 6cb8f91320d3e720351c21741da795fed580b21b
Handled-By  : ?
Status  : unknown



SYSFS

Subject : sysfs root link count broken in 2.6.22-git5
References  : http://lkml.org/lkml/2007/7/15/62
Last known good : ?
Submitter   : Jean Delvare <[EMAIL PROTECTED]>
Caused-By   : ?
Handled-By  : Tejun Heo <[EMAIL PROTECTED]>
Status  : unknown



Regards,
Michal

--
LOG
http://www.stardust.webpages.pl/log/
-
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Why max_debt isn't used in ext4's find_group_orlov(...) ?

2007-07-19 Thread Yan Zheng

Hi all

max_debt is used in ext2's find_group_orlov .  In ext4's
find_group_orlov, max_debt is only computed, but not used.  I wonder
whether it's a typo,  Can anyone give me a answer? The kernel source I
read is 2.6.22.

Thanks in advance.


Best Regards

YZ
-
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html