* ceph, cifs, nfs, fuse: boolean and / or confusion
@ 2011-12-12 23:06 roel
[not found] ` <4EE688FC.8090606-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
0 siblings, 1 reply; 8+ messages in thread
From: roel @ 2011-12-12 23:06 UTC (permalink / raw)
To: Andrew Morton, LKML, sage-BnTBU8nroG7k1uMJSBkQmQ, Steve French,
linux-cifs-u79uwXL29TY76Z2rM5mHXA, Miklos Szeredi,
fuse-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f, Trond Myklebust,
linux-nfs-u79uwXL29TY76Z2rM5mHXA
The test not SEEK_CUR or not SEEK_SET always evaluates to true
Signed-off-by: Roel Kluin <roel.kluin-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
---
fs/ceph/file.c | 2 +-
fs/cifs/cifsfs.c | 2 +-
fs/fuse/file.c | 2 +-
fs/nfs/file.c | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/fs/ceph/file.c b/fs/ceph/file.c
index ce549d3..4d61a66 100644
--- a/fs/ceph/file.c
+++ b/fs/ceph/file.c
@@ -797,7 +797,7 @@ static loff_t ceph_llseek(struct file *file, loff_t offset, int origin)
mutex_lock(&inode->i_mutex);
__ceph_do_pending_vmtruncate(inode);
- if (origin != SEEK_CUR || origin != SEEK_SET) {
+ if (origin != SEEK_CUR && origin != SEEK_SET) {
ret = ceph_do_getattr(inode, CEPH_STAT_CAP_SIZE);
if (ret < 0) {
offset = ret;
diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c
index 8f1fe32..f8351c2 100644
--- a/fs/cifs/cifsfs.c
+++ b/fs/cifs/cifsfs.c
@@ -703,7 +703,7 @@ static loff_t cifs_llseek(struct file *file, loff_t offset, int origin)
* origin == SEEK_END || SEEK_DATA || SEEK_HOLE => we must revalidate
* the cached file length
*/
- if (origin != SEEK_SET || origin != SEEK_CUR) {
+ if (origin != SEEK_SET && origin != SEEK_CUR) {
int rc;
struct inode *inode = file->f_path.dentry->d_inode;
diff --git a/fs/fuse/file.c b/fs/fuse/file.c
index 594f07a..19029e9 100644
--- a/fs/fuse/file.c
+++ b/fs/fuse/file.c
@@ -1556,7 +1556,7 @@ static loff_t fuse_file_llseek(struct file *file, loff_t offset, int origin)
struct inode *inode = file->f_path.dentry->d_inode;
mutex_lock(&inode->i_mutex);
- if (origin != SEEK_CUR || origin != SEEK_SET) {
+ if (origin != SEEK_CUR && origin != SEEK_SET) {
retval = fuse_update_attributes(inode, NULL, file, NULL);
if (retval)
goto exit;
diff --git a/fs/nfs/file.c b/fs/nfs/file.c
index eca56d4..606ef0f 100644
--- a/fs/nfs/file.c
+++ b/fs/nfs/file.c
@@ -147,7 +147,7 @@ static loff_t nfs_file_llseek(struct file *filp, loff_t offset, int origin)
* origin == SEEK_END || SEEK_DATA || SEEK_HOLE => we must revalidate
* the cached file length
*/
- if (origin != SEEK_SET || origin != SEEK_CUR) {
+ if (origin != SEEK_SET && origin != SEEK_CUR) {
struct inode *inode = filp->f_mapping->host;
int retval = nfs_revalidate_file_size(inode, filp);
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: ceph, cifs, nfs, fuse: boolean and / or confusion
[not found] ` <4EE688FC.8090606-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2011-12-12 23:28 ` Andrew Morton
[not found] ` <20111212152856.871a8301.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
0 siblings, 1 reply; 8+ messages in thread
From: Andrew Morton @ 2011-12-12 23:28 UTC (permalink / raw)
To: roel
Cc: LKML, sage-BnTBU8nroG7k1uMJSBkQmQ, Steve French,
linux-cifs-u79uwXL29TY76Z2rM5mHXA, Miklos Szeredi,
fuse-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f, Trond Myklebust,
linux-nfs-u79uwXL29TY76Z2rM5mHXA
On Tue, 13 Dec 2011 00:06:36 +0100
roel <roel.kluin-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
> The test not SEEK_CUR or not SEEK_SET always evaluates to true
>
> Signed-off-by: Roel Kluin <roel.kluin-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
> ---
> fs/ceph/file.c | 2 +-
> fs/cifs/cifsfs.c | 2 +-
> fs/fuse/file.c | 2 +-
> fs/nfs/file.c | 2 +-
> 4 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/fs/ceph/file.c b/fs/ceph/file.c
> index ce549d3..4d61a66 100644
> --- a/fs/ceph/file.c
> +++ b/fs/ceph/file.c
> @@ -797,7 +797,7 @@ static loff_t ceph_llseek(struct file *file, loff_t offset, int origin)
>
> mutex_lock(&inode->i_mutex);
> __ceph_do_pending_vmtruncate(inode);
> - if (origin != SEEK_CUR || origin != SEEK_SET) {
> + if (origin != SEEK_CUR && origin != SEEK_SET) {
> ret = ceph_do_getattr(inode, CEPH_STAT_CAP_SIZE);
> if (ret < 0) {
> offset = ret;
> diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c
> index 8f1fe32..f8351c2 100644
> --- a/fs/cifs/cifsfs.c
> +++ b/fs/cifs/cifsfs.c
> @@ -703,7 +703,7 @@ static loff_t cifs_llseek(struct file *file, loff_t offset, int origin)
> * origin == SEEK_END || SEEK_DATA || SEEK_HOLE => we must revalidate
> * the cached file length
> */
> - if (origin != SEEK_SET || origin != SEEK_CUR) {
> + if (origin != SEEK_SET && origin != SEEK_CUR) {
> int rc;
> struct inode *inode = file->f_path.dentry->d_inode;
>
> diff --git a/fs/fuse/file.c b/fs/fuse/file.c
> index 594f07a..19029e9 100644
> --- a/fs/fuse/file.c
> +++ b/fs/fuse/file.c
> @@ -1556,7 +1556,7 @@ static loff_t fuse_file_llseek(struct file *file, loff_t offset, int origin)
> struct inode *inode = file->f_path.dentry->d_inode;
>
> mutex_lock(&inode->i_mutex);
> - if (origin != SEEK_CUR || origin != SEEK_SET) {
> + if (origin != SEEK_CUR && origin != SEEK_SET) {
> retval = fuse_update_attributes(inode, NULL, file, NULL);
> if (retval)
> goto exit;
> diff --git a/fs/nfs/file.c b/fs/nfs/file.c
> index eca56d4..606ef0f 100644
> --- a/fs/nfs/file.c
> +++ b/fs/nfs/file.c
> @@ -147,7 +147,7 @@ static loff_t nfs_file_llseek(struct file *filp, loff_t offset, int origin)
> * origin == SEEK_END || SEEK_DATA || SEEK_HOLE => we must revalidate
> * the cached file length
> */
> - if (origin != SEEK_SET || origin != SEEK_CUR) {
> + if (origin != SEEK_SET && origin != SEEK_CUR) {
> struct inode *inode = filp->f_mapping->host;
>
> int retval = nfs_revalidate_file_size(inode, filp);
This fix will cause changed runtime behaviour, such as NFS no longer
running nfs_revalidate_file_size() for all seek modes.
So I think it should be reviewed, tested and merged by the various fs
maintainers. Splitting it into four patches would help that process,
but they could independently treat it as a bug report, too.
Meanwhile, I'll put this in my tree so I can keep an eye on people ;)
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: ceph, cifs, nfs, fuse: boolean and / or confusion
[not found] ` <20111212152856.871a8301.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
@ 2011-12-12 23:39 ` Trond Myklebust
[not found] ` <1323733153.13849.17.camel-SyLVLa/KEI9HwK5hSS5vWB2eb7JE58TQ@public.gmane.org>
0 siblings, 1 reply; 8+ messages in thread
From: Trond Myklebust @ 2011-12-12 23:39 UTC (permalink / raw)
To: Andrew Morton
Cc: roel, LKML, sage-BnTBU8nroG7k1uMJSBkQmQ, Steve French,
linux-cifs-u79uwXL29TY76Z2rM5mHXA, Miklos Szeredi,
fuse-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f,
linux-nfs-u79uwXL29TY76Z2rM5mHXA
On Mon, 2011-12-12 at 15:28 -0800, Andrew Morton wrote:
> On Tue, 13 Dec 2011 00:06:36 +0100
> roel <roel.kluin-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
>
> > The test not SEEK_CUR or not SEEK_SET always evaluates to true
> >
> > Signed-off-by: Roel Kluin <roel.kluin-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
> > ---
> > fs/ceph/file.c | 2 +-
> > fs/cifs/cifsfs.c | 2 +-
> > fs/fuse/file.c | 2 +-
> > fs/nfs/file.c | 2 +-
> > 4 files changed, 4 insertions(+), 4 deletions(-)
> >
<snip>
> > diff --git a/fs/nfs/file.c b/fs/nfs/file.c
> > index eca56d4..606ef0f 100644
> > --- a/fs/nfs/file.c
> > +++ b/fs/nfs/file.c
> > @@ -147,7 +147,7 @@ static loff_t nfs_file_llseek(struct file *filp, loff_t offset, int origin)
> > * origin == SEEK_END || SEEK_DATA || SEEK_HOLE => we must revalidate
> > * the cached file length
> > */
> > - if (origin != SEEK_SET || origin != SEEK_CUR) {
> > + if (origin != SEEK_SET && origin != SEEK_CUR) {
> > struct inode *inode = filp->f_mapping->host;
> >
> > int retval = nfs_revalidate_file_size(inode, filp);
>
> This fix will cause changed runtime behaviour, such as NFS no longer
> running nfs_revalidate_file_size() for all seek modes.
As far as NFS is concerned, it reverts a regression. NFS only used to
run revalidate_file_size() for SEEK_END prior to commit
06222e491e663dac939f04b125c9dc52126a75c4. I accept that we now also need
to run it for SEEK_HOLE and SEEK_DATA, but we've never had to do so for
SEEK_SET and SEEK_CUR.
I suspect the same is true of ceph, cifs etc...
Cheers
Trond
--
Trond Myklebust
Linux NFS client maintainer
NetApp
Trond.Myklebust-HgOvQuBEEgTQT0dZR+AlfA@public.gmane.org
www.netapp.com
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: ceph, cifs, nfs, fuse: boolean and / or confusion
[not found] ` <1323733153.13849.17.camel-SyLVLa/KEI9HwK5hSS5vWB2eb7JE58TQ@public.gmane.org>
@ 2011-12-12 23:45 ` Trond Myklebust
[not found] ` <1323733511.13849.19.camel-SyLVLa/KEI9HwK5hSS5vWB2eb7JE58TQ@public.gmane.org>
2011-12-13 14:34 ` Jeff Layton
1 sibling, 1 reply; 8+ messages in thread
From: Trond Myklebust @ 2011-12-12 23:45 UTC (permalink / raw)
To: Andrew Morton
Cc: roel, LKML, sage-BnTBU8nroG7k1uMJSBkQmQ, Steve French,
linux-cifs-u79uwXL29TY76Z2rM5mHXA, Miklos Szeredi,
fuse-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f,
linux-nfs-u79uwXL29TY76Z2rM5mHXA
On Mon, 2011-12-12 at 18:39 -0500, Trond Myklebust wrote:
> As far as NFS is concerned, it reverts a regression. NFS only used to
> run revalidate_file_size() for SEEK_END prior to commit
> 06222e491e663dac939f04b125c9dc52126a75c4. I accept that we now also need
> to run it for SEEK_HOLE and SEEK_DATA, but we've never had to do so for
> SEEK_SET and SEEK_CUR.
BTW: The regression exists in 3.1, so this is probably a stable
candidate...
--
Trond Myklebust
Linux NFS client maintainer
NetApp
Trond.Myklebust-HgOvQuBEEgTQT0dZR+AlfA@public.gmane.org
www.netapp.com
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: ceph, cifs, nfs, fuse: boolean and / or confusion
[not found] ` <1323733511.13849.19.camel-SyLVLa/KEI9HwK5hSS5vWB2eb7JE58TQ@public.gmane.org>
@ 2011-12-12 23:54 ` Andrew Morton
[not found] ` <20111212155423.24543d6a.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
0 siblings, 1 reply; 8+ messages in thread
From: Andrew Morton @ 2011-12-12 23:54 UTC (permalink / raw)
To: Trond Myklebust
Cc: roel, LKML, sage-BnTBU8nroG7k1uMJSBkQmQ, Steve French,
linux-cifs-u79uwXL29TY76Z2rM5mHXA, Miklos Szeredi,
fuse-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f,
linux-nfs-u79uwXL29TY76Z2rM5mHXA
On Mon, 12 Dec 2011 18:45:11 -0500
Trond Myklebust <Trond.Myklebust-HgOvQuBEEgTQT0dZR+AlfA@public.gmane.org> wrote:
> On Mon, 2011-12-12 at 18:39 -0500, Trond Myklebust wrote:
>
> > As far as NFS is concerned, it reverts a regression. NFS only used to
> > run revalidate_file_size() for SEEK_END prior to commit
> > 06222e491e663dac939f04b125c9dc52126a75c4. I accept that we now also need
> > to run it for SEEK_HOLE and SEEK_DATA, but we've never had to do so for
> > SEEK_SET and SEEK_CUR.
>
> BTW: The regression exists in 3.1, so this is probably a stable
> candidate...
>
I'd prefer not to merge this one unless all four fs maintainers have
reviewed and preferably tested it. Also, in view of your earlier email
the changelog for this patch needs updating for NFS and probably other
filesystems.
So please prepare and send the NFS patch, with a Reported-by:roel?
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: ceph, cifs, nfs, fuse: boolean and / or confusion
[not found] ` <20111212155423.24543d6a.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
@ 2011-12-13 5:29 ` Sage Weil
[not found] ` <Pine.LNX.4.64.1112122123040.17811-vIokxiIdD2AQNTJnQDzGJqxOck334EZe@public.gmane.org>
0 siblings, 1 reply; 8+ messages in thread
From: Sage Weil @ 2011-12-13 5:29 UTC (permalink / raw)
To: Andrew Morton
Cc: Trond Myklebust, roel, LKML, Steve French,
linux-cifs-u79uwXL29TY76Z2rM5mHXA, Miklos Szeredi,
fuse-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f,
linux-nfs-u79uwXL29TY76Z2rM5mHXA
On Mon, 12 Dec 2011, Andrew Morton wrote:
> On Mon, 12 Dec 2011 18:45:11 -0500
> Trond Myklebust <Trond.Myklebust-HgOvQuBEEgTQT0dZR+AlfA@public.gmane.org> wrote:
>
> > On Mon, 2011-12-12 at 18:39 -0500, Trond Myklebust wrote:
> >
> > > As far as NFS is concerned, it reverts a regression. NFS only used to
> > > run revalidate_file_size() for SEEK_END prior to commit
> > > 06222e491e663dac939f04b125c9dc52126a75c4. I accept that we now also need
> > > to run it for SEEK_HOLE and SEEK_DATA, but we've never had to do so for
> > > SEEK_SET and SEEK_CUR.
> >
> > BTW: The regression exists in 3.1, so this is probably a stable
> > candidate...
> >
>
> I'd prefer not to merge this one unless all four fs maintainers have
> reviewed and preferably tested it. Also, in view of your earlier email
> the changelog for this patch needs updating for NFS and probably other
> filesystems.
>
> So please prepare and send the NFS patch, with a Reported-by:roel?
I'll push a fix for the ceph bit through my tree. Thanks, roel!
sage
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: ceph, cifs, nfs, fuse: boolean and / or confusion
[not found] ` <Pine.LNX.4.64.1112122123040.17811-vIokxiIdD2AQNTJnQDzGJqxOck334EZe@public.gmane.org>
@ 2011-12-13 11:25 ` Miklos Szeredi
0 siblings, 0 replies; 8+ messages in thread
From: Miklos Szeredi @ 2011-12-13 11:25 UTC (permalink / raw)
To: Sage Weil
Cc: Andrew Morton, Trond Myklebust, roel, LKML, Steve French,
linux-cifs-u79uwXL29TY76Z2rM5mHXA,
fuse-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f,
linux-nfs-u79uwXL29TY76Z2rM5mHXA
Sage Weil <sage-BnTBU8nroG7k1uMJSBkQmQ@public.gmane.org> writes:
> On Mon, 12 Dec 2011, Andrew Morton wrote:
>>
>> So please prepare and send the NFS patch, with a Reported-by:roel?
Fuse patch follows. Also pushed to git tree:
git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse.git for-linus
Thanks Roel.
Miklos
----
>From b48c6af2086ab2ba8a9c9b6ce9ecb34592ce500c Mon Sep 17 00:00:00 2001
From: Roel Kluin <roel.kluin-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Date: Tue, 13 Dec 2011 10:37:00 +0100
Subject: [PATCH] fuse: fix llseek bug
The test in fuse_file_llseek() "not SEEK_CUR or not SEEK_SET" always evaluates
to true.
This was introduced in 3.1 by commit 06222e49 (fs: handle SEEK_HOLE/SEEK_DATA
properly in all fs's that define their own llseek) and changed the behavior of
SEEK_CUR and SEEK_SET to always retrieve the file attributes. This is a
performance regression.
Fix the test so that it makes sense.
Signed-off-by: Miklos Szeredi <mszeredi-AlSwsSmVLrQ@public.gmane.org>
CC: stable-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
CC: Josef Bacik <josef-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
CC: Al Viro <viro-RmSDqhL/yNMiFSDQTTA3OLVCufUGDwFn@public.gmane.org>
---
fs/fuse/file.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/fs/fuse/file.c b/fs/fuse/file.c
index 594f07a..19029e9 100644
--- a/fs/fuse/file.c
+++ b/fs/fuse/file.c
@@ -1556,7 +1556,7 @@ static loff_t fuse_file_llseek(struct file *file, loff_t offset, int origin)
struct inode *inode = file->f_path.dentry->d_inode;
mutex_lock(&inode->i_mutex);
- if (origin != SEEK_CUR || origin != SEEK_SET) {
+ if (origin != SEEK_CUR && origin != SEEK_SET) {
retval = fuse_update_attributes(inode, NULL, file, NULL);
if (retval)
goto exit;
--
1.7.7
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: ceph, cifs, nfs, fuse: boolean and / or confusion
[not found] ` <1323733153.13849.17.camel-SyLVLa/KEI9HwK5hSS5vWB2eb7JE58TQ@public.gmane.org>
2011-12-12 23:45 ` Trond Myklebust
@ 2011-12-13 14:34 ` Jeff Layton
1 sibling, 0 replies; 8+ messages in thread
From: Jeff Layton @ 2011-12-13 14:34 UTC (permalink / raw)
To: Trond Myklebust
Cc: Andrew Morton, roel, LKML, sage-BnTBU8nroG7k1uMJSBkQmQ,
Steve French, linux-cifs-u79uwXL29TY76Z2rM5mHXA, Miklos Szeredi,
fuse-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f,
linux-nfs-u79uwXL29TY76Z2rM5mHXA, josef-H+wXaHxf7aLQT0dZR+AlfA
On Mon, 12 Dec 2011 18:39:13 -0500
Trond Myklebust <Trond.Myklebust-HgOvQuBEEgTQT0dZR+AlfA@public.gmane.org> wrote:
> On Mon, 2011-12-12 at 15:28 -0800, Andrew Morton wrote:
> > On Tue, 13 Dec 2011 00:06:36 +0100
> > roel <roel.kluin-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
> >
> > > The test not SEEK_CUR or not SEEK_SET always evaluates to true
> > >
> > > Signed-off-by: Roel Kluin <roel.kluin-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
> > > ---
> > > fs/ceph/file.c | 2 +-
> > > fs/cifs/cifsfs.c | 2 +-
> > > fs/fuse/file.c | 2 +-
> > > fs/nfs/file.c | 2 +-
> > > 4 files changed, 4 insertions(+), 4 deletions(-)
> > >
> <snip>
> > > diff --git a/fs/nfs/file.c b/fs/nfs/file.c
> > > index eca56d4..606ef0f 100644
> > > --- a/fs/nfs/file.c
> > > +++ b/fs/nfs/file.c
> > > @@ -147,7 +147,7 @@ static loff_t nfs_file_llseek(struct file *filp, loff_t offset, int origin)
> > > * origin == SEEK_END || SEEK_DATA || SEEK_HOLE => we must revalidate
> > > * the cached file length
> > > */
> > > - if (origin != SEEK_SET || origin != SEEK_CUR) {
> > > + if (origin != SEEK_SET && origin != SEEK_CUR) {
> > > struct inode *inode = filp->f_mapping->host;
> > >
> > > int retval = nfs_revalidate_file_size(inode, filp);
> >
> > This fix will cause changed runtime behaviour, such as NFS no longer
> > running nfs_revalidate_file_size() for all seek modes.
>
> As far as NFS is concerned, it reverts a regression. NFS only used to
> run revalidate_file_size() for SEEK_END prior to commit
> 06222e491e663dac939f04b125c9dc52126a75c4. I accept that we now also need
> to run it for SEEK_HOLE and SEEK_DATA, but we've never had to do so for
> SEEK_SET and SEEK_CUR.
>
> I suspect the same is true of ceph, cifs etc...
>
(cc'ing Josef Bacik on this too, since he made this change originally)
Agreed. The patch looks correct to me for NFS and CIFS at at least.
--
Jeff Layton <jlayton-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2011-12-13 14:34 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-12-12 23:06 ceph, cifs, nfs, fuse: boolean and / or confusion roel
[not found] ` <4EE688FC.8090606-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-12-12 23:28 ` Andrew Morton
[not found] ` <20111212152856.871a8301.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2011-12-12 23:39 ` Trond Myklebust
[not found] ` <1323733153.13849.17.camel-SyLVLa/KEI9HwK5hSS5vWB2eb7JE58TQ@public.gmane.org>
2011-12-12 23:45 ` Trond Myklebust
[not found] ` <1323733511.13849.19.camel-SyLVLa/KEI9HwK5hSS5vWB2eb7JE58TQ@public.gmane.org>
2011-12-12 23:54 ` Andrew Morton
[not found] ` <20111212155423.24543d6a.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2011-12-13 5:29 ` Sage Weil
[not found] ` <Pine.LNX.4.64.1112122123040.17811-vIokxiIdD2AQNTJnQDzGJqxOck334EZe@public.gmane.org>
2011-12-13 11:25 ` Miklos Szeredi
2011-12-13 14:34 ` Jeff Layton
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox