On Wed, Dec 05, 2007 at 04:43:16PM +0100, Carsten Otte wrote:
> Nick Piggin wrote:
> >Am I missing something here? I wonder how s390 works without this change?
> >
> >--
> >ext2 should not worry about checking sb->s_blocksize for XIP before the
> >sb's blocksize actually gets set.
> >
> >Signed-off
On Wed, 5 December 2007 14:21:02 -0800, Linus Torvalds wrote:
>
> No, no, what I meant about not having any #ifdef __LITTLE_ENDIAN was to do
> the code do the same thing *regardless* of endianness. In other words, a
> simple:
>
> struct cramfs_inode {
> __le32 mode_uid;
On Wed, 5 Dec 2007, Andi Drebes wrote:
>
> +#ifdef __BIG_ENDIAN
> +
> +/* Converts a cramfs_inode's offset field
> + from little endianto cpu endian */
> +static u32 cramfs_offset_to_cpu(struct cramfs_inode *inode)
> +{
> + u8 *inode_bytes = (u8 *)inode;
> + return ((inode_bytes[8] & 0x
Jeff Garzik wrote:
> Bitfields also generate lower-quality assembly than masks&shifts
> (typically more instructions using additional temporaries to accomplish
> the same thing), based on my own informal gcc testing.
>
> You would think gcc would be advanced enough to turn bitfield use into
> m
On Wed, 2007-12-05 at 20:07 +0530, Bharata B Rao wrote:
> In this approach, the cached dirents are given offsets in the form of
> linearly increasing indices/cookies (like 0, 1, 2,...). This helps us to
> uniformly define offsets across all the directories of the union
> irrespective of the type of
On Wed, 2007-12-05 at 20:08 +0530, Bharata B Rao wrote:
> Remove the existing readdir implementation.
You may have had a better description in your 0/5 mail, but this is what
goes into the git log in the end, so I think you need to beef this up a
bit.
-- Dave
-
To unsubscribe from this list: s
Nick Piggin wrote:
Am I missing something here? I wonder how s390 works without this change?
--
ext2 should not worry about checking sb->s_blocksize for XIP before the
sb's blocksize actually gets set.
Signed-off-by: Nick Piggin <[EMAIL PROTECTED]>
---
Index: linux-2.6/fs/ext2/super.c
=
Introduce list_for_each_entry_reverse_from() needed by a subsequent patch.
Signed-off-by: Bharata B Rao <[EMAIL PROTECTED]>
---
include/linux/list.h | 13 +
1 file changed, 13 insertions(+)
--- a/include/linux/list.h
+++ b/include/linux/list.h
@@ -562,6 +562,19 @@ static inline voi
Changes to keep dirent cache uptodate.
Dirent cache stored as part of topmost directory's struct file needs to
be marked stale whenever there is a modification in any of the directories
that is part of the union. Modifications(like addition/deletion of new
entries) to a directory can occur from pl
Directory seek support.
Define the seek behaviour on the stored cache of dirents.
Signed-off-by: Bharata B Rao <[EMAIL PROTECTED]>
---
fs/read_write.c | 11 ---
fs/union.c| 171 +-
include/linux/fs.h|8 ++
include/linux
Another readdir implementation for union uounted directories.
Reads dirents from all layers of the union into a cache, eliminates duplicates,
before returning them into userspace. The cache is stored persistently as part
of struct file of the topmost directory. Instead of original directory offset
Remove the existing readdir implementation.
Signed-off-by: Bharata B Rao <[EMAIL PROTECTED]>
---
fs/readdir.c | 10 +
fs/union.c| 333 --
include/linux/union.h | 23 ---
3 files changed, 8 insertions(+), 358 deletions(-)
-
Hi,
In Union Mount, the merged view of directories of the union is obtained
by enhancing readdir(2)/getdents(2) to read and merge the entries of
all the directories by eliminating the duplicates. While we have tried
a few approaches for this, none of them could perfectly solve all the problems.
O
13 matches
Mail list logo