* [PATCH] 64 bit ino support for NFS client
@ 2007-08-03 19:07 Peter Staubach
2007-08-11 15:12 ` Trond Myklebust
2007-08-13 13:14 ` Peter Åstrand
0 siblings, 2 replies; 13+ messages in thread
From: Peter Staubach @ 2007-08-03 19:07 UTC (permalink / raw)
To: NFS List; +Cc: Andrew Morton, Trond Myklebust
[-- Attachment #1: Type: text/plain, Size: 609 bytes --]
Hi.
Attached is a patch to modify the NFS client code to support
64 bit ino's, as appropriate for the system and the NFS
protocol version.
The code basically just expand the NFS interfaces for routines
which handle ino's from using ino_t to u64 and then uses the
fileid in the nfs_inode instead of i_ino in the inode. The
code paths that were updated are in the getattr method and
the readdir methods.
This should be no real change on 64 bit platforms. Since
the ino_t is an unsigned long, it would already be 64 bits
wide.
Thanx...
ps
Signed-off-by: Peter Staubach <staubach@redhat.com>
[-- Attachment #2: fc-6.ino64.client --]
[-- Type: text/plain, Size: 3322 bytes --]
--- linux-2.6.22.i686/fs/nfs/dir.c.org
+++ linux-2.6.22.i686/fs/nfs/dir.c
@@ -407,7 +407,7 @@ int nfs_do_filldir(nfs_readdir_descripto
struct file *file = desc->file;
struct nfs_entry *entry = desc->entry;
struct dentry *dentry = NULL;
- unsigned long fileid;
+ u64 fileid;
int loop_count = 0,
res;
@@ -418,7 +418,7 @@ int nfs_do_filldir(nfs_readdir_descripto
unsigned d_type = DT_UNKNOWN;
/* Note: entry->prev_cookie contains the cookie for
* retrieving the current dirent on the server */
- fileid = nfs_fileid_to_ino_t(entry->ino);
+ fileid = entry->ino;
/* Get a dentry if we have one */
if (dentry != NULL)
@@ -428,7 +428,7 @@ int nfs_do_filldir(nfs_readdir_descripto
/* Use readdirplus info */
if (dentry != NULL && dentry->d_inode != NULL) {
d_type = dt_type(dentry->d_inode);
- fileid = dentry->d_inode->i_ino;
+ fileid = NFS_FILEID(dentry->d_inode);
}
res = filldir(dirent, entry->name, entry->len,
@@ -1349,9 +1349,9 @@ static int nfs_rmdir(struct inode *dir,
static int nfs_sillyrename(struct inode *dir, struct dentry *dentry)
{
static unsigned int sillycounter;
- const int i_inosize = sizeof(dir->i_ino)*2;
+ const int fileidsize = sizeof(NFS_FILEID(dentry->d_inode))*2;
const int countersize = sizeof(sillycounter)*2;
- const int slen = sizeof(".nfs") + i_inosize + countersize - 1;
+ const int slen = sizeof(".nfs")+fileidsize+countersize-1;
char silly[slen+1];
struct qstr qsilly;
struct dentry *sdentry;
@@ -1369,8 +1369,9 @@ static int nfs_sillyrename(struct inode
if (dentry->d_flags & DCACHE_NFSFS_RENAMED)
goto out;
- sprintf(silly, ".nfs%*.*lx",
- i_inosize, i_inosize, dentry->d_inode->i_ino);
+ sprintf(silly, ".nfs%*.*Lx",
+ fileidsize, fileidsize,
+ (unsigned long long)NFS_FILEID(dentry->d_inode));
/* Return delegation in anticipation of the rename */
nfs_inode_return_delegation(dentry->d_inode);
--- linux-2.6.22.i686/fs/nfs/inode.c.org
+++ linux-2.6.22.i686/fs/nfs/inode.c
@@ -450,8 +450,10 @@ int nfs_getattr(struct vfsmount *mnt, st
err = __nfs_revalidate_inode(NFS_SERVER(inode), inode);
else
err = nfs_revalidate_inode(NFS_SERVER(inode), inode);
- if (!err)
+ if (!err) {
generic_fillattr(inode, stat);
+ stat->ino = NFS_FILEID(inode);
+ }
return err;
}
--- linux-2.6.22.i686/fs/nfs/nfs4proc.c.org
+++ linux-2.6.22.i686/fs/nfs/nfs4proc.c
@@ -174,7 +174,7 @@ static void nfs4_setup_readdir(u64 cooki
*p++ = xdr_one; /* bitmap length */
*p++ = htonl(FATTR4_WORD0_FILEID); /* bitmap */
*p++ = htonl(8); /* attribute buffer length */
- p = xdr_encode_hyper(p, dentry->d_inode->i_ino);
+ p = xdr_encode_hyper(p, NFS_FILEID(dentry->d_inode));
}
*p++ = xdr_one; /* next */
@@ -186,7 +186,7 @@ static void nfs4_setup_readdir(u64 cooki
*p++ = xdr_one; /* bitmap length */
*p++ = htonl(FATTR4_WORD0_FILEID); /* bitmap */
*p++ = htonl(8); /* attribute buffer length */
- p = xdr_encode_hyper(p, dentry->d_parent->d_inode->i_ino);
+ p = xdr_encode_hyper(p, NFS_FILEID(dentry->d_parent->d_inode));
readdir->pgbase = (char *)p - (char *)start;
readdir->count -= readdir->pgbase;
[-- Attachment #3: Type: text/plain, Size: 315 bytes --]
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
[-- Attachment #4: Type: text/plain, Size: 140 bytes --]
_______________________________________________
NFS maillist - NFS@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs
^ permalink raw reply [flat|nested] 13+ messages in thread* Re: [PATCH] 64 bit ino support for NFS client
2007-08-03 19:07 [PATCH] 64 bit ino support for NFS client Peter Staubach
@ 2007-08-11 15:12 ` Trond Myklebust
2007-08-13 13:14 ` Peter Åstrand
1 sibling, 0 replies; 13+ messages in thread
From: Trond Myklebust @ 2007-08-11 15:12 UTC (permalink / raw)
To: Peter Staubach; +Cc: Andrew Morton, NFS List
On Fri, 2007-08-03 at 15:07 -0400, Peter Staubach wrote:
> Hi.
>
> Attached is a patch to modify the NFS client code to support
> 64 bit ino's, as appropriate for the system and the NFS
> protocol version.
>
> The code basically just expand the NFS interfaces for routines
> which handle ino's from using ino_t to u64 and then uses the
> fileid in the nfs_inode instead of i_ino in the inode. The
> code paths that were updated are in the getattr method and
> the readdir methods.
>
> This should be no real change on 64 bit platforms. Since
> the ino_t is an unsigned long, it would already be 64 bits
> wide.
>
> Thanx...
>
> ps
Applied and queued for 2.6.24
Thanks Peter!
Trond
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
NFS maillist - NFS@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] 64 bit ino support for NFS client
2007-08-03 19:07 [PATCH] 64 bit ino support for NFS client Peter Staubach
2007-08-11 15:12 ` Trond Myklebust
@ 2007-08-13 13:14 ` Peter Åstrand
2007-08-13 13:27 ` Peter Staubach
1 sibling, 1 reply; 13+ messages in thread
From: Peter Åstrand @ 2007-08-13 13:14 UTC (permalink / raw)
To: Peter Staubach; +Cc: Andrew Morton, NFS List, Trond Myklebust
[-- Attachment #1: Type: TEXT/PLAIN, Size: 805 bytes --]
On Fri, 3 Aug 2007, Peter Staubach wrote:
> Attached is a patch to modify the NFS client code to support
> 64 bit ino's, as appropriate for the system and the NFS
> protocol version.
>
> The code basically just expand the NFS interfaces for routines
> which handle ino's from using ino_t to u64 and then uses the
> fileid in the nfs_inode instead of i_ino in the inode. The
This patch seems to overlap with linux-2.6-nfs-64-bit-inode-support.patch,
which is included in RHEL5 kernels. Are these patches related, somehow?
The RHEL5 patch causes problems, as described at
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=241348.
Regards,
---
Peter Ã
strand ThinLinc Chief Developer
Cendio AB http://www.cendio.se
Wallenbergs gata 4
583 30 Linköping Phone: +46-13-21 46 00
[-- Attachment #2: Type: TEXT/PLAIN, Size: 3322 bytes --]
--- linux-2.6.22.i686/fs/nfs/dir.c.org
+++ linux-2.6.22.i686/fs/nfs/dir.c
@@ -407,7 +407,7 @@ int nfs_do_filldir(nfs_readdir_descripto
struct file *file = desc->file;
struct nfs_entry *entry = desc->entry;
struct dentry *dentry = NULL;
- unsigned long fileid;
+ u64 fileid;
int loop_count = 0,
res;
@@ -418,7 +418,7 @@ int nfs_do_filldir(nfs_readdir_descripto
unsigned d_type = DT_UNKNOWN;
/* Note: entry->prev_cookie contains the cookie for
* retrieving the current dirent on the server */
- fileid = nfs_fileid_to_ino_t(entry->ino);
+ fileid = entry->ino;
/* Get a dentry if we have one */
if (dentry != NULL)
@@ -428,7 +428,7 @@ int nfs_do_filldir(nfs_readdir_descripto
/* Use readdirplus info */
if (dentry != NULL && dentry->d_inode != NULL) {
d_type = dt_type(dentry->d_inode);
- fileid = dentry->d_inode->i_ino;
+ fileid = NFS_FILEID(dentry->d_inode);
}
res = filldir(dirent, entry->name, entry->len,
@@ -1349,9 +1349,9 @@ static int nfs_rmdir(struct inode *dir,
static int nfs_sillyrename(struct inode *dir, struct dentry *dentry)
{
static unsigned int sillycounter;
- const int i_inosize = sizeof(dir->i_ino)*2;
+ const int fileidsize = sizeof(NFS_FILEID(dentry->d_inode))*2;
const int countersize = sizeof(sillycounter)*2;
- const int slen = sizeof(".nfs") + i_inosize + countersize - 1;
+ const int slen = sizeof(".nfs")+fileidsize+countersize-1;
char silly[slen+1];
struct qstr qsilly;
struct dentry *sdentry;
@@ -1369,8 +1369,9 @@ static int nfs_sillyrename(struct inode
if (dentry->d_flags & DCACHE_NFSFS_RENAMED)
goto out;
- sprintf(silly, ".nfs%*.*lx",
- i_inosize, i_inosize, dentry->d_inode->i_ino);
+ sprintf(silly, ".nfs%*.*Lx",
+ fileidsize, fileidsize,
+ (unsigned long long)NFS_FILEID(dentry->d_inode));
/* Return delegation in anticipation of the rename */
nfs_inode_return_delegation(dentry->d_inode);
--- linux-2.6.22.i686/fs/nfs/inode.c.org
+++ linux-2.6.22.i686/fs/nfs/inode.c
@@ -450,8 +450,10 @@ int nfs_getattr(struct vfsmount *mnt, st
err = __nfs_revalidate_inode(NFS_SERVER(inode), inode);
else
err = nfs_revalidate_inode(NFS_SERVER(inode), inode);
- if (!err)
+ if (!err) {
generic_fillattr(inode, stat);
+ stat->ino = NFS_FILEID(inode);
+ }
return err;
}
--- linux-2.6.22.i686/fs/nfs/nfs4proc.c.org
+++ linux-2.6.22.i686/fs/nfs/nfs4proc.c
@@ -174,7 +174,7 @@ static void nfs4_setup_readdir(u64 cooki
*p++ = xdr_one; /* bitmap length */
*p++ = htonl(FATTR4_WORD0_FILEID); /* bitmap */
*p++ = htonl(8); /* attribute buffer length */
- p = xdr_encode_hyper(p, dentry->d_inode->i_ino);
+ p = xdr_encode_hyper(p, NFS_FILEID(dentry->d_inode));
}
*p++ = xdr_one; /* next */
@@ -186,7 +186,7 @@ static void nfs4_setup_readdir(u64 cooki
*p++ = xdr_one; /* bitmap length */
*p++ = htonl(FATTR4_WORD0_FILEID); /* bitmap */
*p++ = htonl(8); /* attribute buffer length */
- p = xdr_encode_hyper(p, dentry->d_parent->d_inode->i_ino);
+ p = xdr_encode_hyper(p, NFS_FILEID(dentry->d_parent->d_inode));
readdir->pgbase = (char *)p - (char *)start;
readdir->count -= readdir->pgbase;
[-- Attachment #3: Type: text/plain, Size: 315 bytes --]
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
[-- Attachment #4: Type: text/plain, Size: 140 bytes --]
_______________________________________________
NFS maillist - NFS@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs
^ permalink raw reply [flat|nested] 13+ messages in thread* Re: [PATCH] 64 bit ino support for NFS client
2007-08-13 13:14 ` Peter Åstrand
@ 2007-08-13 13:27 ` Peter Staubach
2007-08-13 14:12 ` Peter Åstrand
0 siblings, 1 reply; 13+ messages in thread
From: Peter Staubach @ 2007-08-13 13:27 UTC (permalink / raw)
To: Peter Åstrand; +Cc: Andrew Morton, NFS List, Trond Myklebust
Peter =C5strand wrote:
> On Fri, 3 Aug 2007, Peter Staubach wrote:
>
>> Attached is a patch to modify the NFS client code to support
>> 64 bit ino's, as appropriate for the system and the NFS
>> protocol version.
>>
>> The code basically just expand the NFS interfaces for routines
>> which handle ino's from using ino_t to u64 and then uses the
>> fileid in the nfs_inode instead of i_ino in the inode. The
>
> This patch seems to overlap with =
> linux-2.6-nfs-64-bit-inode-support.patch, which is included in RHEL5 =
> kernels. Are these patches related, somehow? The RHEL5 patch causes =
> problems, as described at =
> https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=3D241348. =
They are related in that they modify similar areas in the NFS code.
However, this patch only modifies the NFS code and not the rest of
the file systems and areas in the kernel.
My opinion on the referenced bugzilla is that things change and
it may be time to update applications and such to work in the
new world. Applications which do not get modified, tend to work
less and less as time goes by because while the world changes
around them, they don't.
I don't believe that this is the only cause which will keep those
applications from working completely. With the addition of the
LFS thing, they will start to encounter more and more things that
they are not prepared to deal with.
Thanx...
ps
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
NFS maillist - NFS@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs
^ permalink raw reply [flat|nested] 13+ messages in thread* Re: [PATCH] 64 bit ino support for NFS client
2007-08-13 13:27 ` Peter Staubach
@ 2007-08-13 14:12 ` Peter Åstrand
2007-08-13 14:46 ` Peter Staubach
2007-08-13 16:12 ` Trond Myklebust
0 siblings, 2 replies; 13+ messages in thread
From: Peter Åstrand @ 2007-08-13 14:12 UTC (permalink / raw)
To: Peter Staubach; +Cc: Andrew Morton, NFS List, Trond Myklebust
[-- Attachment #1: Type: TEXT/PLAIN, Size: 2040 bytes --]
On Mon, 13 Aug 2007, Peter Staubach wrote:
> > This patch seems to overlap with linux-2.6-nfs-64-bit-inode-support.patch,
> > which is included in RHEL5 kernels. Are these patches related, somehow? The
> > RHEL5 patch causes problems, as described at
> > https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=241348.
>
> They are related in that they modify similar areas in the NFS code.
> However, this patch only modifies the NFS code and not the rest of
> the file systems and areas in the kernel.
>
> My opinion on the referenced bugzilla is that things change and
> it may be time to update applications and such to work in the
> new world. Applications which do not get modified, tend to work
> less and less as time goes by because while the world changes
> around them, they don't.
Sure, but to prevent customer unhappiness, it's much better to update the
applications in a certain distribution *before* changing the world around
them. I'm arguing that a typical customer would rather being able to run
OpenOffice than live in tomorrows world.
Another reason why I'm not convinced of this patch is that I haven't heard
any arguments why this is the time to break compatibility with
32 bit non-LFS apps. Why not tomorrow, yesterday or 10 years ago? Why now?
> I don't believe that this is the only cause which will keep those
> applications from working completely. With the addition of the
> LFS thing, they will start to encounter more and more things that
> they are not prepared to deal with.
Can you give an example?
If we maintain "good-enough compatibility" with 32 bit non-LFS
applications now (proposed solution 1 or 2 in comment #6), we would still
have full 64 bit support for LFS and 64 bit applications, and as LFS and
64 bit applications are becoming more and more common, the problem would
fade away.
Regards,
---
Peter Åstrand ThinLinc Chief Developer
Cendio AB http://www.cendio.se
Wallenbergs gata 4
583 30 Linköping Phone: +46-13-21 46 00
[-- Attachment #2: Type: text/plain, Size: 315 bytes --]
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
[-- Attachment #3: Type: text/plain, Size: 140 bytes --]
_______________________________________________
NFS maillist - NFS@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] 64 bit ino support for NFS client
2007-08-13 14:12 ` Peter Åstrand
@ 2007-08-13 14:46 ` Peter Staubach
2007-08-13 16:04 ` Peter Åstrand
2007-08-13 16:12 ` Trond Myklebust
1 sibling, 1 reply; 13+ messages in thread
From: Peter Staubach @ 2007-08-13 14:46 UTC (permalink / raw)
To: Peter Åstrand; +Cc: Andrew Morton, NFS List, Trond Myklebust
Peter =C5strand wrote:
> On Mon, 13 Aug 2007, Peter Staubach wrote:
>
> =
>>> This patch seems to overlap with linux-2.6-nfs-64-bit-inode-support.pat=
ch,
>>> which is included in RHEL5 kernels. Are these patches related, somehow?=
The
>>> RHEL5 patch causes problems, as described at
>>> https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=3D241348. =
>>> =
>> They are related in that they modify similar areas in the NFS code.
>> However, this patch only modifies the NFS code and not the rest of
>> the file systems and areas in the kernel.
>>
>> My opinion on the referenced bugzilla is that things change and
>> it may be time to update applications and such to work in the
>> new world. Applications which do not get modified, tend to work
>> less and less as time goes by because while the world changes
>> around them, they don't.
>> =
>
> Sure, but to prevent customer unhappiness, it's much better to update the =
> applications in a certain distribution *before* changing the world around =
> them. I'm arguing that a typical customer would rather being able to run =
> OpenOffice than live in tomorrows world.
>
> =
Without issues to drive and even to identify the broken applications,
they will never get fixed.
> Another reason why I'm not convinced of this patch is that I haven't hear=
d =
> any arguments why this is the time to break compatibility with =
> 32 bit non-LFS apps. Why not tomorrow, yesterday or 10 years ago? Why now=
? =
>
> =
We have to start someplace, sometime. In fact, we've already
started. It is unfortunate that this particular aspect is only
now starting to become visible to application developers. It
has been interesting to file systems developers for quite some
time.
> =
>> I don't believe that this is the only cause which will keep those
>> applications from working completely. With the addition of the
>> LFS thing, they will start to encounter more and more things that
>> they are not prepared to deal with.
>> =
>
> Can you give an example? =
>
> =
Files with large sizes? We've had these for what, 10 to 12
years, and people have learned to deal with them.
> If we maintain "good-enough compatibility" with 32 bit non-LFS =
> applications now (proposed solution 1 or 2 in comment #6), we would still =
> have full 64 bit support for LFS and 64 bit applications, and as LFS and =
> 64 bit applications are becoming more and more common, the problem would =
> fade away.
There are many ways to get "good-enough compatibility". One way
would be for customers with concerns or issues to only use file
system implementations which will only generate 32 bit inos. The
majority of them still do. Alternately, they could partition
their resources into chunks which would not require more then
32 bit inos for identification. It is only the newer file systems,
seeking to take advantage of better technologies, both hardware
and software, which are required to use larger identifiers in order
to identify their files.
Supporting 64 bit inos in NFS does not mean that NFS will
automatically start generating 64 bit inos. NFS is still dependent
upon the file system on the server. The NFS will just pass through
whatever that the file system on the server presents to it.
ps
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
NFS maillist - NFS@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs
^ permalink raw reply [flat|nested] 13+ messages in thread* Re: [PATCH] 64 bit ino support for NFS client
2007-08-13 14:46 ` Peter Staubach
@ 2007-08-13 16:04 ` Peter Åstrand
0 siblings, 0 replies; 13+ messages in thread
From: Peter Åstrand @ 2007-08-13 16:04 UTC (permalink / raw)
To: Peter Staubach; +Cc: Andrew Morton, NFS List, Trond Myklebust
[-- Attachment #1: Type: TEXT/PLAIN, Size: 3461 bytes --]
On Mon, 13 Aug 2007, Peter Staubach wrote:
> > Sure, but to prevent customer unhappiness, it's much better to update the
> > applications in a certain distribution *before* changing the world around
> > them. I'm arguing that a typical customer would rather being able to run
> > OpenOffice than live in tomorrows world.
> >
> >
>
> Without issues to drive and even to identify the broken applications,
> they will never get fixed.
I agree, it was good that the kernel patch was tried and the problems
identified. However, now that we know that the patch causes problems and
no fix for either KDE or OpenOffice are in sight, the patch should be
pulled out, IMHO.
Compatibility with legacy third party application is another reason, that
we haven't even touched yet.
> > Another reason why I'm not convinced of this patch is that I haven't heard
> > any arguments why this is the time to break compatibility with 32 bit
> > non-LFS apps. Why not tomorrow, yesterday or 10 years ago? Why now?
> >
> We have to start someplace, sometime. In fact, we've already started.
> It is unfortunate that this particular aspect is only now starting to
> become visible to application developers. It has been interesting to
> file systems developers for quite some time.
Application developers (or perhaps, binary builders) will probably migrate
to LFS or 64 bit anyway, to gain support for large files etc.
The patch that breaks compat with 32 bit non-LFS can be tried internally,
or during testing, to identify apps with problems. Then we can file bug
reports to the individual projects. But breaking apps now and then just
hope that someone will fix them someday in the future is the wrong
approach, IMHO.
> Supporting 64 bit inos in NFS does not mean that NFS will
> automatically start generating 64 bit inos. NFS is still dependent
> upon the file system on the server. The NFS will just pass through
> whatever that the file system on the server presents to it.
Not necessarily true, or do you only care about Linux clients and Linux
servers? In that case, we can just as well rename our NFS support to
something like "Linux Ext3 Network File System"...
There's nothing in the NFSv3 specification that requires you to directly
map inode numbers to fileid. NFS is supposed to be cross platform. If the
NFS client requires that fileids are constructed in a certain way, we can
just as well rely on certain Linux-specific bit fields in the file
handles.
But we don't want to do that, we want a client that works with as many NFS
servers as possible, as long as they are adhering to RFC1813. We can do
this and at the same time support 32 bit non-LFS applications, this has
worked fine for many years now. Sure, in very rare cases you will have a
problem, but your cure is worse than the disease.
Or, as Dave Noveck puts it at
http://www1.ietf.org/mail-archive/web/nfsv4/current/msg01590.html:
"As a user my feeling is that it is better to compromise on fileid
uniqueness when dealing with 32-bit applications, and give the user
something that has some possibility of conflict as opposed to an error
which stops him cold. Most applications that do stat don't care about
fileid uniqueness."
Regards,
---
Peter Åstrand ThinLinc Chief Developer
Cendio AB http://www.cendio.se
Wallenbergs gata 4
583 30 Linköping Phone: +46-13-21 46 00
[-- Attachment #2: Type: text/plain, Size: 315 bytes --]
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
[-- Attachment #3: Type: text/plain, Size: 140 bytes --]
_______________________________________________
NFS maillist - NFS@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] 64 bit ino support for NFS client
2007-08-13 14:12 ` Peter Åstrand
2007-08-13 14:46 ` Peter Staubach
@ 2007-08-13 16:12 ` Trond Myklebust
[not found] ` <1187022103.6628.12.camel@heimdal.trondhjem.org>
1 sibling, 1 reply; 13+ messages in thread
From: Trond Myklebust @ 2007-08-13 16:12 UTC (permalink / raw)
To: Peter Åstrand; +Cc: Peter Staubach, Andrew Morton, NFS List
T24gTW9uLCAyMDA3LTA4LTEzIGF0IDE2OjEyICswMjAwLCBQZXRlciDDhXN0cmFuZCB3cm90ZToK
Cj4gU3VyZSwgYnV0IHRvIHByZXZlbnQgY3VzdG9tZXIgdW5oYXBwaW5lc3MsIGl0J3MgbXVjaCBi
ZXR0ZXIgdG8gdXBkYXRlIHRoZSAKPiBhcHBsaWNhdGlvbnMgaW4gYSBjZXJ0YWluIGRpc3RyaWJ1
dGlvbiAqYmVmb3JlKiBjaGFuZ2luZyB0aGUgd29ybGQgYXJvdW5kIAo+IHRoZW0uIEknbSBhcmd1
aW5nIHRoYXQgYSB0eXBpY2FsIGN1c3RvbWVyIHdvdWxkIHJhdGhlciBiZWluZyBhYmxlIHRvIHJ1
biAKPiBPcGVuT2ZmaWNlIHRoYW4gbGl2ZSBpbiB0b21vcnJvd3Mgd29ybGQuCgo+IEFub3RoZXIg
cmVhc29uIHdoeSBJJ20gbm90IGNvbnZpbmNlZCBvZiB0aGlzIHBhdGNoIGlzIHRoYXQgSSBoYXZl
bid0IGhlYXJkIAo+IGFueSBhcmd1bWVudHMgd2h5IHRoaXMgaXMgdGhlIHRpbWUgdG8gYnJlYWsg
Y29tcGF0aWJpbGl0eSB3aXRoIAo+IDMyIGJpdCBub24tTEZTIGFwcHMuIFdoeSBub3QgdG9tb3Jy
b3csIHllc3RlcmRheSBvciAxMCB5ZWFycyBhZ28/IFdoeSBub3c/IAoKVGhpcyBhcmd1bWVudCBn
ZXRzIHRyb3R0ZWQgb3V0IGV2ZXJ5IGZyaWdnaW5nIHRpbWUgc29tZW9uZSBwcm9wb3NlcyBhCnBh
dGNoIG9mIHRoaXMgc29ydC4gMTIgbW9udGhzIGxhdGVyLCBhbm90aGVyIHBhdGNoIGNvbWVzIG91
dCwgYW5kIHdlCmRpc2NvdmVyIHRoYXQgdXNlcmxhbmQgaGFzbid0IGNoYW5nZWQuCgpXaHkgaGFz
bid0IGl0IGNoYW5nZWQ/CgpXZWxsLCBubyBjdXN0b21lcnMgd2VyZSBjb21wbGFpbmluZywgc28g
aXQgd2Fzbid0IG11Y2ggb2YgYSBwcmlvcml0eS4uLgoKQ2FuIHlvdSBzYXkgJ2NpcmN1bGFyIGFy
Z3VtZW50Jz8KClRyb25kCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpUaGlzIFNGLm5ldCBlbWFpbCBpcyBz
cG9uc29yZWQgYnk6IFNwbHVuayBJbmMuClN0aWxsIGdyZXBwaW5nIHRocm91Z2ggbG9nIGZpbGVz
IHRvIGZpbmQgcHJvYmxlbXM/ICBTdG9wLgpOb3cgU2VhcmNoIGxvZyBldmVudHMgYW5kIGNvbmZp
Z3VyYXRpb24gZmlsZXMgdXNpbmcgQUpBWCBhbmQgYSBicm93c2VyLgpEb3dubG9hZCB5b3VyIEZS
RUUgY29weSBvZiBTcGx1bmsgbm93ID4+ICBodHRwOi8vZ2V0LnNwbHVuay5jb20vCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk5GUyBtYWlsbGlzdCAgLSAg
TkZTQGxpc3RzLnNvdXJjZWZvcmdlLm5ldApodHRwczovL2xpc3RzLnNvdXJjZWZvcmdlLm5ldC9s
aXN0cy9saXN0aW5mby9uZnMK
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2007-08-14 12:58 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-08-03 19:07 [PATCH] 64 bit ino support for NFS client Peter Staubach
2007-08-11 15:12 ` Trond Myklebust
2007-08-13 13:14 ` Peter Åstrand
2007-08-13 13:27 ` Peter Staubach
2007-08-13 14:12 ` Peter Åstrand
2007-08-13 14:46 ` Peter Staubach
2007-08-13 16:04 ` Peter Åstrand
2007-08-13 16:12 ` Trond Myklebust
[not found] ` <1187022103.6628.12.camel@heimdal.trondhjem.org>
2007-08-13 16:46 ` Peter Åstrand
2007-08-13 16:57 ` Trond Myklebust
2007-08-13 17:54 ` Peter Åstrand
[not found] ` <1187033724.6628.82.camel@heimdal.trondhjem.org>
2007-08-14 7:58 ` Peter Åstrand
2007-08-14 12:58 ` Jeff Layton
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.