All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andreas Dilger <adilger@whamcloud.com>
To: Eric Sandeen <sandeen@redhat.com>
Cc: Bernd Schubert <bernd.schubert@itwm.fraunhofer.de>,
	linux-ext4@vger.kernel.org, Fan Yong <yong.fan@whamcloud.com>,
	bfields@redhat.com
Subject: Re: [PATCH 5 2/4] Return 32/64-bit dir name hash according to usage type
Date: Tue, 24 Apr 2012 16:28:20 -0500	[thread overview]
Message-ID: <901B2AB2-C9FF-47AE-BB8F-5005BD80B9D0@whamcloud.com> (raw)
In-Reply-To: <4F96FD45.9080902@redhat.com>

On 2012-04-24, at 2:21 PM, Eric Sandeen wrote:
> I know I'm being a little pedantic w/ the late review here....
> 
> It seems like the only differences between ext4_dir_llseek and the old ext4_llseek are these:
> 
> 1) For SEEK_END, we now return -EINVAL for a positive offset (i.e. past EOF)
> 2) For SEEK_END, we seek to ext4_get_htree_eof() not to inode->i_size
> 3) For SEEK_SET, we impose different limits for max offset
>  - s_maxbytes / ext4_get_htree_eof for !dx/dx, vs. s_bitmap_maxbytes/s_maxbytes
> 
> Do any of these changes relate to the hash collision problem?  Are any of them uniquely required for ext4, enough to warrant cut & paste of the vfs llseek code (again?)
> 
> What I'm getting at is: what are the reasons that we cannot use generic_file_llseek_size(), maybe with a new argument to specify a non-standard location for SEEK_END.  Such a change would require a solid explanation, but it'd probably go in if it meant one less seek implementation to worry about.

So, when we were looking at this code, it makes sense that if dir seek is being done for telldir/seekdir that the parameters for ext4 are hash functions, so they should be compared against hash limits instead of the file size.

This probably makes sense for other filesystems that use hash cookies instead of byte offsets to have a similar dir seek implementation, but I thought there might be a controversy about this and I'm happy to get it into ext4 as a starting point.

Cheers, Andreas
--
Andreas Dilger                       Whamcloud, Inc.
Principal Lustre Engineer            http://www.whamcloud.com/





  parent reply	other threads:[~2012-04-24 21:17 UTC|newest]

Thread overview: 81+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-09 13:21 [PATCH 0/4] [RESEND] 32/64 bit llseek hashes (v5) Bernd Schubert
2012-01-09 13:21 ` [PATCH 5 1/4] Add new FMODE flags: FMODE_32bithash and FMODE_64bithash Bernd Schubert
2012-01-09 13:21 ` [PATCH 5 2/4] Return 32/64-bit dir name hash according to usage type Bernd Schubert
2012-03-05 15:59   ` Ted Ts'o
     [not found]     ` <20120305155939.GE21356-AKGzg7BKzIDYtjvyW6yDsg@public.gmane.org>
2012-03-06  0:40       ` Bernd Schubert
2012-03-06  0:40         ` Bernd Schubert
2012-03-06  2:28         ` Ted Ts'o
     [not found]           ` <20120306022838.GA24323-AKGzg7BKzIDYtjvyW6yDsg@public.gmane.org>
2012-03-06  9:59             ` Bernd Schubert
2012-03-06  9:59               ` Bernd Schubert
     [not found]               ` <4F55E01B.3060105-mPn0NPGs4xGatNDF+KUbs4QuADTiUCJX@public.gmane.org>
2012-03-06 15:15                 ` Ted Ts'o
2012-03-06 15:15                   ` Ted Ts'o
     [not found]                   ` <20120306151543.GA32282-AKGzg7BKzIDYtjvyW6yDsg@public.gmane.org>
2012-03-07  9:01                     ` Bernd Schubert
2012-03-07  9:01                       ` Bernd Schubert
     [not found]   ` <20120109132148.2616029.68798.stgit-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2012-04-20 20:04     ` Eric Sandeen
2012-04-20 20:04       ` Eric Sandeen
     [not found]       ` <4F91C15B.6070200-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2012-04-22 12:51         ` Bernd Schubert
2012-04-22 12:51           ` Bernd Schubert
2012-04-23 20:37           ` Eric Sandeen
     [not found]             ` <4F95BD72.6090200-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2012-04-23 20:52               ` Bernd Schubert
2012-04-23 20:52                 ` Bernd Schubert
2012-04-23 21:22                 ` Eric Sandeen
     [not found]                 ` <4F95C109.1030401-mPn0NPGs4xGatNDF+KUbs4QuADTiUCJX@public.gmane.org>
2012-04-23 22:23                   ` Eric Sandeen
2012-04-23 22:23                     ` Eric Sandeen
2012-04-23 22:42                     ` Andreas Dilger
     [not found]                       ` <A754D23B-B946-4E80-ACEA-0E2C2E6FAA2E-KloliPT79xf2eFz/2MeuCQ@public.gmane.org>
2012-04-24 16:10                         ` Bernd Schubert
2012-04-24 16:10                           ` Bernd Schubert
2012-04-24 19:21                           ` Eric Sandeen
2012-04-24 21:07                             ` Bernd Schubert
2012-04-24 22:24                               ` Andreas Dilger
2012-04-25 15:05                                 ` Eric Sandeen
2012-04-25 15:12                                   ` Bernd Schubert
2012-04-25 15:36                                     ` Eric Sandeen
2012-04-24 21:28                             ` Andreas Dilger [this message]
2012-04-24 21:26                               ` Eric Sandeen
2012-01-09 13:21 ` [PATCH 5 3/4] nfsd_open(): rename 'int access' to 'int may_flags' in nfsd_open() Bernd Schubert
2012-01-09 13:21 ` [PATCH 5 4/4] nfsd: vfs_llseek() with 32 or 64 bit offsets (hashes) Bernd Schubert
     [not found]   ` <20120109132158.2616029.30467.stgit-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
     [not found]     ` <20120109132153.2616029.26302.stgit-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2012-03-06  0:08       ` [PATCH 5 3/4] nfsd_open(): rename 'int access' to 'int may_flags' in nfsd_open() Ted Ts'o
2012-03-06  0:08         ` Ted Ts'o
     [not found]         ` <20120306000837.GA17164-AKGzg7BKzIDYtjvyW6yDsg@public.gmane.org>
2012-03-06  2:08           ` J. Bruce Fields
2012-03-06  2:08             ` J. Bruce Fields
2012-03-06 15:18             ` Ted Ts'o
2012-03-06 15:28               ` J. Bruce Fields
2012-03-09 20:51                 ` Ted Ts'o
     [not found]                   ` <20120309205148.GB5635-AKGzg7BKzIDYtjvyW6yDsg@public.gmane.org>
2012-03-12 15:09                     ` Ted Ts'o
2012-03-12 15:09                       ` Ted Ts'o
     [not found]                       ` <20120312150912.GB12440-AKGzg7BKzIDYtjvyW6yDsg@public.gmane.org>
2012-03-12 15:49                         ` J. Bruce Fields
2012-03-12 15:49                           ` J. Bruce Fields
2012-03-12 22:22                           ` J. Bruce Fields
2012-03-13 20:01                             ` J. Bruce Fields
     [not found]                               ` <20120313200117.GA21991-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>
2012-03-13 20:03                                 ` Bernd Schubert
2012-03-13 20:03                                   ` Bernd Schubert
     [not found]                                   ` <4F5FA827.8020606-mPn0NPGs4xGatNDF+KUbs4QuADTiUCJX@public.gmane.org>
2012-03-13 20:34                                     ` J. Bruce Fields
2012-03-13 20:34                                       ` J. Bruce Fields
2012-03-13 21:09                                       ` Bernd Schubert
2012-03-13 21:29                                         ` J. Bruce Fields
     [not found]                                           ` <20120313212947.GK31995-spRCxval1Z7TsXDwO4sDpg@public.gmane.org>
2012-03-14 14:32                                             ` Bernd Schubert
2012-03-14 14:32                                               ` Bernd Schubert
     [not found]                                               ` <4F60AC0D.9020204-mPn0NPGs4xGatNDF+KUbs4QuADTiUCJX@public.gmane.org>
2012-03-14 16:05                                                 ` J. Bruce Fields
2012-03-14 16:05                                                   ` J. Bruce Fields
     [not found]                                                   ` <20120314160529.GB31194-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>
2012-03-16 21:22                                                     ` Bernd Schubert
2012-03-16 21:22                                                       ` Bernd Schubert
2012-03-19  2:54                                                       ` Ted Ts'o
     [not found]                                                         ` <20120319025455.GD31682-AKGzg7BKzIDYtjvyW6yDsg@public.gmane.org>
2012-03-19 20:00                                                           ` J. Bruce Fields
2012-03-19 20:00                                                             ` J. Bruce Fields
     [not found]                                                             ` <20120319200041.GA25161-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>
2012-03-20  0:10                                                               ` Ted Ts'o
2012-03-20  0:10                                                                 ` Ted Ts'o
2012-04-12 20:49                                                 ` J. Bruce Fields
2012-04-12 20:49                                                   ` J. Bruce Fields
     [not found]                                                   ` <20120412204948.GE6667-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>
2012-04-12 21:22                                                     ` Bernd Schubert
2012-04-12 21:22                                                       ` Bernd Schubert
     [not found]                                                       ` <4F8747A1.8060800-97jfqw80gc6171pxa8y+qA@public.gmane.org>
2012-04-12 21:25                                                         ` J. Bruce Fields
2012-04-12 21:25                                                           ` J. Bruce Fields
     [not found]                                       ` <20120313203446.GB21991-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>
2012-03-13 21:10                                         ` Ted Ts'o
2012-03-13 21:10                                           ` Ted Ts'o
     [not found]                                           ` <20120313211009.GA11969-AKGzg7BKzIDYtjvyW6yDsg@public.gmane.org>
2012-03-13 21:27                                             ` J. Bruce Fields
2012-03-13 21:27                                               ` J. Bruce Fields
2012-01-10 11:27 ` [PATCH 0/4] [RESEND] 32/64 bit llseek hashes (v5) Andreas Dilger
2012-01-11 14:48   ` J. Bruce Fields
     [not found]     ` <20120111144827.GA32381-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>
2012-01-11 15:31       ` Ted Ts'o
2012-01-11 15:31         ` Ted Ts'o
2012-03-05 12:23         ` Bernd Schubert

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=901B2AB2-C9FF-47AE-BB8F-5005BD80B9D0@whamcloud.com \
    --to=adilger@whamcloud.com \
    --cc=bernd.schubert@itwm.fraunhofer.de \
    --cc=bfields@redhat.com \
    --cc=linux-ext4@vger.kernel.org \
    --cc=sandeen@redhat.com \
    --cc=yong.fan@whamcloud.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.