All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Artem B. Bityuckiy" <dedekind@yandex.ru>
To: reiserfs-list@namesys.com
Subject: Reiser4 + seekdir()
Date: Mon, 27 Jun 2005 13:28:16 +0400	[thread overview]
Message-ID: <42BFC6B0.7040202@yandex.ru> (raw)

Hello,

I was investigating Riser4 readdir() handling. As the result I've 
realized the following:

1. repeatable readdir() calls should work well.
2. seekdir()/telldir() mustn't work. (because per_file readdir_pos 
stores only the _last_ f_pos->{key, entry_no, position} mapping, so the 
mapping will be lost on the next readdir(), and the previous seekdir() 
will be lost too).

But probably I don't quite well understand what's going on. Here is the 
list of things which makes me doubt.

1. There are two types of directory plugins: HASHED_DIR_PLUGIN_ID and 
SEEKABLE_HASHED_DIR_PLUGIN_ID. The latter is claimed as "hashed 
directory for which seekdir/telldir are guaranteed to work". I don't 
understand how can it work. Could somebody please point me the code 
which implements seekdir() (seekdir is actually 
lseek(fd,saved_position,SEEK_SET) in glibc) ? For me it looks like both 
must not support telldir()/seekdir() ...

2. Why you store {entry_no, position, key} in readdir_pos instead of 
just storing the full name string ? In that case you would not need 
adjust_dir_pos() at all ...

Please, comment on this. Thanks.

-- 
Best Regards,
Artem B. Bityuckiy,
St.-Petersburg, Russia.

             reply	other threads:[~2005-06-27  9:28 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-06-27  9:28 Artem B. Bityuckiy [this message]
2005-06-27 11:41 ` Reiser4 + seekdir() Vladimir Saveliev
2005-06-27 12:09   ` Artem B. Bityuckiy
2005-06-27 12:39     ` Vladimir Saveliev
2005-06-27 12:57       ` Artem B. Bityuckiy
2005-06-27 13:49         ` Vladimir Saveliev
2005-06-27 13:53           ` Artem B. Bityuckiy
2005-06-27 19:50             ` Hans Reiser
2005-06-29  6:51               ` Artem B. Bityuckiy
2005-06-29 10:22                 ` Vladimir Saveliev
2005-06-29 10:29                   ` Artem B. Bityuckiy
2005-06-29 11:48                     ` Vladimir Saveliev
2005-06-29 18:11                   ` Valdis.Kletnieks
2005-06-30 16:26                     ` Vladimir Saveliev
2005-06-27 18:09     ` Hans Reiser

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=42BFC6B0.7040202@yandex.ru \
    --to=dedekind@yandex.ru \
    --cc=reiserfs-list@namesys.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.