lkml.org 
[lkml]   [2000]   [Sep]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [CFT][PATCH] ext2 directories in pagecache


On Wed, 27 Sep 2000, Marko Kreen wrote:

> On Tue, Sep 26, 2000 at 05:29:27PM -0400, Alexander Viro wrote:
> > Comments and help in testing are more than welcome.
>
> There is something fishy in ext2_empty_dir:

Why?

> + /* check for . and .. */
> + if (de->name[0] != '.')
> + goto not_empty;

Doesn't start with '.' - definitely not an empty directory


> + if (!de->name[1]) {

OK, it's {'.','\0'}, aka. ".".

> + if (de->inode !=
> + le32_to_cpu(inode->i_ino))

Consistency check... Aha, I see. Yup, s/le32_to_cpu/cpu_to_le32/. Doesn't
matter on all normal architectures, but yes, it's still wrong.

> + goto not_empty;

If we have it screwed - leave it as is and don't mess with it.
Otherwise - skip this record, it's all right for empty directory.

> + } else if (de->name[2])

Starts with '.' and longer than 2 characters? Not empty.

> + goto not_empty;
> + else if (de->name[1] != '.')

Starts with '.', 2 characters, but the second isn't '.'? Not empty.

> + goto not_empty;

Otherwise - skip the record.

So checks are OK, the only thing being that we should use
cpu_to_le32() instead of le32_to_cpu(). Doesn't affect the behaviour right
now, but ought to be fixed anyway.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 12:39    [W:0.187 / U:0.028 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site