Re: [NFS] [GIT] NFS client fixes for 2.6.23++

2007-10-20 Thread Trond Myklebust

On Fri, 2007-10-19 at 20:41 -0500, Olof Johansson wrote:
> nfs: Fix build break with CONFIG_NFS_V4=n
> 
> Signed-off-by: Olof Johansson <[EMAIL PROTECTED]>

Acked-by: Trond Myklebust <[EMAIL PROTECTED]>

with apologies.

> ---
> 
> 
> On Fri, Oct 19, 2007 at 05:23:13PM -0400, Trond Myklebust wrote:
> > Hi Linus,
> > 
> > Please pull from the repository at
> > 
> >git pull git://git.linux-nfs.org/pub/linux/nfs-2.6.git
> > 
> > This will update the following files through the appended changesets.
> > 
> [...]
> > @@ -522,8 +522,12 @@ void put_nfs_open_context(struct nfs_open_context *ctx)
> > return;
> > list_del(>list);
> > spin_unlock(>i_lock);
> > -   if (ctx->state != NULL)
> > -   nfs4_close_state(>path, ctx->state, ctx->mode);
> > +   if (ctx->state != NULL) {
> > +   if (wait)
> > +   nfs4_close_sync(>path, ctx->state, ctx->mode);
> > +   else
> > +   nfs4_close_state(>path, ctx->state, ctx->mode);
> > +   }
> > if (ctx->cred != NULL)
> > put_rpccred(ctx->cred);
> > dput(ctx->path.dentry);
> 
> This gives me build errors on most PPC defconfigs, which don't enable NFSv4.
> 
> This seems sufficient to fix it.
> 
> 
> diff --git a/fs/nfs/nfs4_fs.h b/fs/nfs/nfs4_fs.h
> index a4e3b96..b35069a 100644
> --- a/fs/nfs/nfs4_fs.h
> +++ b/fs/nfs/nfs4_fs.h
> @@ -236,6 +236,7 @@ extern struct svc_version nfs4_callback_version1;
>  #else
>  
>  #define nfs4_close_state(a, b, c) do { } while (0)
> +#define nfs4_close_sync(a, b, c) do { } while (0)
>  
>  #endif /* CONFIG_NFS_V4 */
>  #endif /* __LINUX_FS_NFS_NFS4_FS.H */
> 
> -
> 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  -  [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/nfs
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [NFS] [GIT] NFS client fixes for 2.6.23++

2007-10-20 Thread Trond Myklebust

On Fri, 2007-10-19 at 19:32 -0700, Linus Torvalds wrote:
> 
> On Fri, 19 Oct 2007, Erez Zadok wrote:
> > 
> > Trond, with Linus's latest tree, you need to #include  in
> > fs/nfs/unlink.c, else I get:
> > 
> >   CC [M]  fs/nfs/unlink.o
> > fs/nfs/unlink.c: In function 'nfs_dec_sillycount':
> > fs/nfs/unlink.c:67: error: 'TASK_UNINTERRUPTIBLE' undeclared (first use in 
> > this function)
> ...
> 
> Hmm? Which architecture?
> 
> That said, I do think that there is a distinct lack of proper includes in 
> that file. It seems to depend on getting much of the includes indirectly 
> from  and friends. And with different architectures having 
> different header files..
> 
>   Linus

This ought to fix it.

From: Trond Myklebust <[EMAIL PROTECTED]>
Date: Sat, 20 Oct 2007 13:21:04 -0400
NFS: Fix the include files needed by fs/nfs/unlink.c

Signed-off-by: Trond Myklebust <[EMAIL PROTECTED]>
---

 fs/nfs/unlink.c |7 ++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/fs/nfs/unlink.c b/fs/nfs/unlink.c
index 6ecd46c..057e6ce 100644
--- a/fs/nfs/unlink.c
+++ b/fs/nfs/unlink.c
@@ -5,9 +5,14 @@
  *
  */
 
+#include 
+#include 
 #include 
 #include 
-#include 
+#include 
+#include 
+#include 
+#include 
 #include 
 #include 
 #include 
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [NFS] [GIT] NFS client fixes for 2.6.23++

2007-10-20 Thread Trond Myklebust

On Fri, 2007-10-19 at 19:32 -0700, Linus Torvalds wrote:
 
 On Fri, 19 Oct 2007, Erez Zadok wrote:
  
  Trond, with Linus's latest tree, you need to #include linux/sched.h in
  fs/nfs/unlink.c, else I get:
  
CC [M]  fs/nfs/unlink.o
  fs/nfs/unlink.c: In function 'nfs_dec_sillycount':
  fs/nfs/unlink.c:67: error: 'TASK_UNINTERRUPTIBLE' undeclared (first use in 
  this function)
 ...
 
 Hmm? Which architecture?
 
 That said, I do think that there is a distinct lack of proper includes in 
 that file. It seems to depend on getting much of the includes indirectly 
 from linux/nfs_fs.h and friends. And with different architectures having 
 different header files..
 
   Linus

This ought to fix it.

From: Trond Myklebust [EMAIL PROTECTED]
Date: Sat, 20 Oct 2007 13:21:04 -0400
NFS: Fix the include files needed by fs/nfs/unlink.c

Signed-off-by: Trond Myklebust [EMAIL PROTECTED]
---

 fs/nfs/unlink.c |7 ++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/fs/nfs/unlink.c b/fs/nfs/unlink.c
index 6ecd46c..057e6ce 100644
--- a/fs/nfs/unlink.c
+++ b/fs/nfs/unlink.c
@@ -5,9 +5,14 @@
  *
  */
 
+#include asm/atomic.h
+#include linux/dcache.h
 #include linux/slab.h
 #include linux/string.h
-#include linux/dcache.h
+#include linux/sched.h
+#include linux/spinlock.h
+#include linux/wait.h
+#include linux/sunrpc/auth.h
 #include linux/sunrpc/sched.h
 #include linux/sunrpc/clnt.h
 #include linux/nfs_fs.h
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [NFS] [GIT] NFS client fixes for 2.6.23++

2007-10-20 Thread Trond Myklebust

On Fri, 2007-10-19 at 20:41 -0500, Olof Johansson wrote:
 nfs: Fix build break with CONFIG_NFS_V4=n
 
 Signed-off-by: Olof Johansson [EMAIL PROTECTED]

Acked-by: Trond Myklebust [EMAIL PROTECTED]

with apologies.

 ---
 
 
 On Fri, Oct 19, 2007 at 05:23:13PM -0400, Trond Myklebust wrote:
  Hi Linus,
  
  Please pull from the repository at
  
 git pull git://git.linux-nfs.org/pub/linux/nfs-2.6.git
  
  This will update the following files through the appended changesets.
  
 [...]
  @@ -522,8 +522,12 @@ void put_nfs_open_context(struct nfs_open_context *ctx)
  return;
  list_del(ctx-list);
  spin_unlock(inode-i_lock);
  -   if (ctx-state != NULL)
  -   nfs4_close_state(ctx-path, ctx-state, ctx-mode);
  +   if (ctx-state != NULL) {
  +   if (wait)
  +   nfs4_close_sync(ctx-path, ctx-state, ctx-mode);
  +   else
  +   nfs4_close_state(ctx-path, ctx-state, ctx-mode);
  +   }
  if (ctx-cred != NULL)
  put_rpccred(ctx-cred);
  dput(ctx-path.dentry);
 
 This gives me build errors on most PPC defconfigs, which don't enable NFSv4.
 
 This seems sufficient to fix it.
 
 
 diff --git a/fs/nfs/nfs4_fs.h b/fs/nfs/nfs4_fs.h
 index a4e3b96..b35069a 100644
 --- a/fs/nfs/nfs4_fs.h
 +++ b/fs/nfs/nfs4_fs.h
 @@ -236,6 +236,7 @@ extern struct svc_version nfs4_callback_version1;
  #else
  
  #define nfs4_close_state(a, b, c) do { } while (0)
 +#define nfs4_close_sync(a, b, c) do { } while (0)
  
  #endif /* CONFIG_NFS_V4 */
  #endif /* __LINUX_FS_NFS_NFS4_FS.H */
 
 -
 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  -  [EMAIL PROTECTED]
 https://lists.sourceforge.net/lists/listinfo/nfs
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [GIT] NFS client fixes for 2.6.23++

2007-10-19 Thread Erez Zadok
In message <[EMAIL PROTECTED]>, Linus Torvalds writes:
> 
> 
> On Fri, 19 Oct 2007, Erez Zadok wrote:
> > 
> > i386
> 
> Hmm. Doesn't happen here, not on x86-64 nor i386.
> 
> Probably some subtle config issue as usual, where some configuration 
> doesn't include  indirectly.
> 
> But I'll add the direct includes of  and . 
> 
>   Linus

FWIW, here's my .config.

Erez.

#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.23
# Fri Oct 19 16:51:35 2007
#
CONFIG_X86_32=y
CONFIG_GENERIC_TIME=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_SEMAPHORE_SLEEPERS=y
CONFIG_X86=y
CONFIG_MMU=y
CONFIG_ZONE_DMA=y
CONFIG_QUICKLIST=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_DMI=y
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"

#
# General setup
#
CONFIG_EXPERIMENTAL=y
CONFIG_BROKEN_ON_SMP=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
# CONFIG_POSIX_MQUEUE is not set
CONFIG_BSD_PROCESS_ACCT=y
# CONFIG_BSD_PROCESS_ACCT_V3 is not set
# CONFIG_TASKSTATS is not set
# CONFIG_USER_NS is not set
# CONFIG_AUDIT is not set
CONFIG_IKCONFIG=y
# CONFIG_IKCONFIG_PROC is not set
CONFIG_LOG_BUF_SHIFT=14
# CONFIG_CGROUPS is not set
CONFIG_FAIR_GROUP_SCHED=y
CONFIG_FAIR_USER_SCHED=y
# CONFIG_FAIR_CGROUP_SCHED is not set
CONFIG_SYSFS_DEPRECATED=y
# CONFIG_RELAY is not set
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_SYSCTL=y
# CONFIG_EMBEDDED is not set
CONFIG_UID16=y
CONFIG_SYSCTL_SYSCALL=y
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
CONFIG_KALLSYMS_EXTRA_PASS=y
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_ANON_INODES=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_SLAB=y
# CONFIG_SLUB is not set
# CONFIG_SLOB is not set
CONFIG_RT_MUTEXES=y
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not set
# CONFIG_MODVERSIONS is not set
# CONFIG_MODULE_SRCVERSION_ALL is not set
CONFIG_KMOD=y
CONFIG_BLOCK=y
# CONFIG_LBD is not set
# CONFIG_BLK_DEV_IO_TRACE is not set
# CONFIG_LSF is not set
# CONFIG_BLK_DEV_BSG is not set

#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
# CONFIG_DEFAULT_AS is not set
# CONFIG_DEFAULT_DEADLINE is not set
CONFIG_DEFAULT_CFQ=y
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="cfq"

#
# Processor type and features
#
# CONFIG_TICK_ONESHOT is not set
# CONFIG_NO_HZ is not set
# CONFIG_HIGH_RES_TIMERS is not set
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
# CONFIG_SMP is not set
CONFIG_X86_PC=y
# CONFIG_X86_ELAN is not set
# CONFIG_X86_VOYAGER is not set
# CONFIG_X86_NUMAQ is not set
# CONFIG_X86_SUMMIT is not set
# CONFIG_X86_BIGSMP is not set
# CONFIG_X86_VISWS is not set
# CONFIG_X86_GENERICARCH is not set
# CONFIG_X86_ES7000 is not set
CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
# CONFIG_PARAVIRT is not set
# CONFIG_M386 is not set
# CONFIG_M486 is not set
# CONFIG_M586 is not set
# CONFIG_M586TSC is not set
# CONFIG_M586MMX is not set
CONFIG_M686=y
# CONFIG_MPENTIUMII is not set
# CONFIG_MPENTIUMIII is not set
# CONFIG_MPENTIUMM is not set
# CONFIG_MCORE2 is not set
# CONFIG_MPENTIUM4 is not set
# CONFIG_MK6 is not set
# CONFIG_MK7 is not set
# CONFIG_MK8 is not set
# CONFIG_MCRUSOE is not set
# CONFIG_MEFFICEON is not set
# CONFIG_MWINCHIPC6 is not set
# CONFIG_MWINCHIP2 is not set
# CONFIG_MWINCHIP3D is not set
# CONFIG_MGEODEGX1 is not set
# CONFIG_MGEODE_LX is not set
# CONFIG_MCYRIXIII is not set
# CONFIG_MVIAC3_2 is not set
# CONFIG_MVIAC7 is not set
# CONFIG_X86_GENERIC is not set
CONFIG_X86_CMPXCHG=y
CONFIG_X86_L1_CACHE_SHIFT=5
CONFIG_X86_XADD=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_X86_PPRO_FENCE=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_X86_GOOD_APIC=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_TSC=y
CONFIG_X86_CMOV=y
CONFIG_X86_MINIMUM_CPU_FAMILY=4
CONFIG_HPET_TIMER=y
CONFIG_PREEMPT_NONE=y
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT is not set
# CONFIG_X86_UP_APIC is not set
CONFIG_X86_MCE=y
# CONFIG_X86_MCE_NONFATAL is not set
CONFIG_VM86=y
# CONFIG_TOSHIBA is not set
# CONFIG_I8K is not set
# CONFIG_X86_REBOOTFIXUPS is not set
# CONFIG_MICROCODE is not set
# CONFIG_X86_MSR is not set
# CONFIG_X86_CPUID is not set

#
# Firmware Drivers
#
# CONFIG_EDD is not set
# CONFIG_DELL_RBU is not set
# CONFIG_DCDBAS is not set
# CONFIG_DMIID is not set
CONFIG_NOHIGHMEM=y
# CONFIG_HIGHMEM4G is not set
# CONFIG_HIGHMEM64G is not 

Re: [GIT] NFS client fixes for 2.6.23++

2007-10-19 Thread Linus Torvalds


On Fri, 19 Oct 2007, Erez Zadok wrote:
> 
> i386

Hmm. Doesn't happen here, not on x86-64 nor i386.

Probably some subtle config issue as usual, where some configuration 
doesn't include  indirectly.

But I'll add the direct includes of  and . 

Linus
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [GIT] NFS client fixes for 2.6.23++

2007-10-19 Thread Erez Zadok
In message <[EMAIL PROTECTED]>, Linus Torvalds writes:
> 
> 
> On Fri, 19 Oct 2007, Erez Zadok wrote:
> > 
> > Trond, with Linus's latest tree, you need to #include  in
> > fs/nfs/unlink.c, else I get:
> > 
> >   CC [M]  fs/nfs/unlink.o
> > fs/nfs/unlink.c: In function 'nfs_dec_sillycount':
> > fs/nfs/unlink.c:67: error: 'TASK_UNINTERRUPTIBLE' undeclared (first use in 
> > this function)
> ...
> 
> Hmm? Which architecture?

i386

Erez.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [GIT] NFS client fixes for 2.6.23++

2007-10-19 Thread Linus Torvalds


On Fri, 19 Oct 2007, Erez Zadok wrote:
> 
> Trond, with Linus's latest tree, you need to #include  in
> fs/nfs/unlink.c, else I get:
> 
>   CC [M]  fs/nfs/unlink.o
> fs/nfs/unlink.c: In function 'nfs_dec_sillycount':
> fs/nfs/unlink.c:67: error: 'TASK_UNINTERRUPTIBLE' undeclared (first use in 
> this function)
...

Hmm? Which architecture?

That said, I do think that there is a distinct lack of proper includes in 
that file. It seems to depend on getting much of the includes indirectly 
from  and friends. And with different architectures having 
different header files..

Linus
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [GIT] NFS client fixes for 2.6.23++

2007-10-19 Thread Erez Zadok
In message <[EMAIL PROTECTED]>, Trond Myklebust writes:
> Hi Linus,
> 
> Please pull from the repository at
> 
>git pull git://git.linux-nfs.org/pub/linux/nfs-2.6.git
> 
> This will update the following files through the appended changesets.
> 
>   Cheers,
> Trond

Trond, with Linus's latest tree, you need to #include  in
fs/nfs/unlink.c, else I get:

  CC [M]  fs/nfs/unlink.o
fs/nfs/unlink.c: In function 'nfs_dec_sillycount':
fs/nfs/unlink.c:67: error: 'TASK_UNINTERRUPTIBLE' undeclared (first use in
this function)
fs/nfs/unlink.c:67: error: (Each undeclared identifier is reported only once
fs/nfs/unlink.c:67: error: for each function it appears in.)
fs/nfs/unlink.c:67: error: 'TASK_INTERRUPTIBLE' undeclared (first use in
this function)
fs/nfs/unlink.c: In function 'nfs_block_sillyrename':
fs/nfs/unlink.c:196: error: 'TASK_UNINTERRUPTIBLE' undeclared (first use in
this function)
fs/nfs/unlink.c:196: error: implicit declaration of function 'schedule'
make[2]: *** [fs/nfs/unlink.o] Error 1
make[1]: *** [fs/nfs] Error 2
make: *** [fs] Error 2

Cheers,
Erez.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [GIT] NFS client fixes for 2.6.23++

2007-10-19 Thread Olof Johansson
nfs: Fix build break with CONFIG_NFS_V4=n

Signed-off-by: Olof Johansson <[EMAIL PROTECTED]>

---


On Fri, Oct 19, 2007 at 05:23:13PM -0400, Trond Myklebust wrote:
> Hi Linus,
> 
> Please pull from the repository at
> 
>git pull git://git.linux-nfs.org/pub/linux/nfs-2.6.git
> 
> This will update the following files through the appended changesets.
> 
[...]
> @@ -522,8 +522,12 @@ void put_nfs_open_context(struct nfs_open_context *ctx)
>   return;
>   list_del(>list);
>   spin_unlock(>i_lock);
> - if (ctx->state != NULL)
> - nfs4_close_state(>path, ctx->state, ctx->mode);
> + if (ctx->state != NULL) {
> + if (wait)
> + nfs4_close_sync(>path, ctx->state, ctx->mode);
> + else
> + nfs4_close_state(>path, ctx->state, ctx->mode);
> + }
>   if (ctx->cred != NULL)
>   put_rpccred(ctx->cred);
>   dput(ctx->path.dentry);

This gives me build errors on most PPC defconfigs, which don't enable NFSv4.

This seems sufficient to fix it.


diff --git a/fs/nfs/nfs4_fs.h b/fs/nfs/nfs4_fs.h
index a4e3b96..b35069a 100644
--- a/fs/nfs/nfs4_fs.h
+++ b/fs/nfs/nfs4_fs.h
@@ -236,6 +236,7 @@ extern struct svc_version nfs4_callback_version1;
 #else
 
 #define nfs4_close_state(a, b, c) do { } while (0)
+#define nfs4_close_sync(a, b, c) do { } while (0)
 
 #endif /* CONFIG_NFS_V4 */
 #endif /* __LINUX_FS_NFS_NFS4_FS.H */
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[GIT] NFS client fixes for 2.6.23++

2007-10-19 Thread Trond Myklebust
Hi Linus,

Please pull from the repository at

   git pull git://git.linux-nfs.org/pub/linux/nfs-2.6.git

This will update the following files through the appended changesets.

  Cheers,
Trond


 fs/nfs/delegation.c|3 +-
 fs/nfs/dir.c   |   14 +-
 fs/nfs/file.c  |2 +-
 fs/nfs/inode.c |   25 +--
 fs/nfs/nfs4_fs.h   |3 +-
 fs/nfs/nfs4proc.c  |   19 ++--
 fs/nfs/nfs4state.c |   14 +-
 fs/nfs/unlink.c|  114 +--
 fs/nfs/write.c |   17 +--
 include/linux/nfs_fs.h |8 +++
 10 files changed, 183 insertions(+), 36 deletions(-)

commit 603c83da19cf42d0f94022ac2fa389a431e32b84
Author: Trond Myklebust <[EMAIL PROTECTED]>
Date:   Thu Oct 18 19:59:20 2007 -0400

NFSv4: Fix an rpc_cred reference leakage in fs/nfs/delegation.c

Signed-off-by: Trond Myklebust <[EMAIL PROTECTED]>

commit a49c3c7736a2e77931dabc5bc4a83fb4b2da013e
Author: Trond Myklebust <[EMAIL PROTECTED]>
Date:   Thu Oct 18 18:03:27 2007 -0400

NFSv4: Ensure that we wait for the CLOSE request to complete

Otherwise, we do end up breaking close-to-open semantics. We also end up
breaking some of the silly-rename tests in Connectathon on some setups.

Please refer to the bug-report at
http://bugzilla.linux-nfs.org/show_bug.cgi?id=150

Signed-off-by: Trond Myklebust <[EMAIL PROTECTED]>

commit 565277f63c616e11c37309a1e98c052d18ebbb55
Author: Trond Myklebust <[EMAIL PROTECTED]>
Date:   Mon Oct 15 18:17:53 2007 -0400

NFS: Fix a race in sillyrename

lookup() and sillyrename() can race one another because the sillyrename()
completion cannot take the parent directory's inode->i_mutex since the
latter may be held by whoever is calling dput().

We therefore have little option but to add extra locking to ensure that
nfs_lookup() and nfs_atomic_open() do not race with the sillyrename
completion.
If somebody has looked up the sillyrenamed file in the meantime, we just
transfer the sillydelete information to the new dentry.

Please refer to the bug-report at
http://bugzilla.linux-nfs.org/show_bug.cgi?id=150

Signed-off-by: Trond Myklebust <[EMAIL PROTECTED]>

commit 61e930a904966cc37e0a3404276f0b73037e57ca
Author: Trond Myklebust <[EMAIL PROTECTED]>
Date:   Thu Oct 18 17:08:05 2007 -0400

NFS: Fix a writeback race...

This patch fixes a regression that was introduced by commit
44dd151d5c21234cc534c47d7382f5c28c3143cd

We cannot zero the user page in nfs_mark_uptodate() any more, since

  a) We'd be modifying the page without holding the page lock
  b) We can race with other updates of the page, most notably
 because of the call to nfs_wb_page() in nfs_writepage_setup().

Instead, we do the zeroing in nfs_update_request() if we see that we're
creating a request that might potentially be marked as up to date.

Thanks to Olivier Paquet for reporting the bug and providing a test-case.

Signed-off-by: Trond Myklebust <[EMAIL PROTECTED]>

diff --git a/fs/nfs/delegation.c b/fs/nfs/delegation.c
index af8b235..11833f4 100644
--- a/fs/nfs/delegation.c
+++ b/fs/nfs/delegation.c
@@ -168,7 +168,8 @@ int nfs_inode_set_delegation(struct inode *inode, struct 
rpc_cred *cred, struct
spin_unlock(>i_lock);
 
spin_unlock(>cl_lock);
-   kfree(delegation);
+   if (delegation != NULL)
+   nfs_free_delegation(delegation);
return status;
 }
 
diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c
index 8ec7fbd..3533453 100644
--- a/fs/nfs/dir.c
+++ b/fs/nfs/dir.c
@@ -562,6 +562,7 @@ static int nfs_readdir(struct file *filp, void *dirent, 
filldir_t filldir)
nfs_fattr_init();
desc->entry = _entry;
 
+   nfs_block_sillyrename(dentry);
while(!desc->entry->eof) {
res = readdir_search_pagecache(desc);
 
@@ -592,6 +593,7 @@ static int nfs_readdir(struct file *filp, void *dirent, 
filldir_t filldir)
break;
}
}
+   nfs_unblock_sillyrename(dentry);
unlock_kernel();
if (res > 0)
res = 0;
@@ -866,6 +868,7 @@ struct dentry_operations nfs_dentry_operations = {
 static struct dentry *nfs_lookup(struct inode *dir, struct dentry * dentry, 
struct nameidata *nd)
 {
struct dentry *res;
+   struct dentry *parent;
struct inode *inode = NULL;
int error;
struct nfs_fh fhandle;
@@ -894,26 +897,31 @@ static struct dentry *nfs_lookup(struct inode *dir, 
struct dentry * dentry, stru
goto out_unlock;
}
 
+   parent = dentry->d_parent;
+   /* Protect against concurrent sillydeletes */
+   nfs_block_sillyrename(parent);
error = NFS_PROTO(dir)->lookup(dir, >d_name, , );
if (error == -ENOENT)
goto no_entry;
if (error < 0) {
 

Re: [GIT] NFS client fixes for 2.6.23++

2007-10-19 Thread Olof Johansson
nfs: Fix build break with CONFIG_NFS_V4=n

Signed-off-by: Olof Johansson [EMAIL PROTECTED]

---


On Fri, Oct 19, 2007 at 05:23:13PM -0400, Trond Myklebust wrote:
 Hi Linus,
 
 Please pull from the repository at
 
git pull git://git.linux-nfs.org/pub/linux/nfs-2.6.git
 
 This will update the following files through the appended changesets.
 
[...]
 @@ -522,8 +522,12 @@ void put_nfs_open_context(struct nfs_open_context *ctx)
   return;
   list_del(ctx-list);
   spin_unlock(inode-i_lock);
 - if (ctx-state != NULL)
 - nfs4_close_state(ctx-path, ctx-state, ctx-mode);
 + if (ctx-state != NULL) {
 + if (wait)
 + nfs4_close_sync(ctx-path, ctx-state, ctx-mode);
 + else
 + nfs4_close_state(ctx-path, ctx-state, ctx-mode);
 + }
   if (ctx-cred != NULL)
   put_rpccred(ctx-cred);
   dput(ctx-path.dentry);

This gives me build errors on most PPC defconfigs, which don't enable NFSv4.

This seems sufficient to fix it.


diff --git a/fs/nfs/nfs4_fs.h b/fs/nfs/nfs4_fs.h
index a4e3b96..b35069a 100644
--- a/fs/nfs/nfs4_fs.h
+++ b/fs/nfs/nfs4_fs.h
@@ -236,6 +236,7 @@ extern struct svc_version nfs4_callback_version1;
 #else
 
 #define nfs4_close_state(a, b, c) do { } while (0)
+#define nfs4_close_sync(a, b, c) do { } while (0)
 
 #endif /* CONFIG_NFS_V4 */
 #endif /* __LINUX_FS_NFS_NFS4_FS.H */
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [GIT] NFS client fixes for 2.6.23++

2007-10-19 Thread Linus Torvalds


On Fri, 19 Oct 2007, Erez Zadok wrote:
 
 i386

Hmm. Doesn't happen here, not on x86-64 nor i386.

Probably some subtle config issue as usual, where some configuration 
doesn't include sched.h indirectly.

But I'll add the direct includes of linux/sched.h and linux/wait.h. 

Linus
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [GIT] NFS client fixes for 2.6.23++

2007-10-19 Thread Erez Zadok
In message [EMAIL PROTECTED], Trond Myklebust writes:
 Hi Linus,
 
 Please pull from the repository at
 
git pull git://git.linux-nfs.org/pub/linux/nfs-2.6.git
 
 This will update the following files through the appended changesets.
 
   Cheers,
 Trond

Trond, with Linus's latest tree, you need to #include linux/sched.h in
fs/nfs/unlink.c, else I get:

  CC [M]  fs/nfs/unlink.o
fs/nfs/unlink.c: In function 'nfs_dec_sillycount':
fs/nfs/unlink.c:67: error: 'TASK_UNINTERRUPTIBLE' undeclared (first use in
this function)
fs/nfs/unlink.c:67: error: (Each undeclared identifier is reported only once
fs/nfs/unlink.c:67: error: for each function it appears in.)
fs/nfs/unlink.c:67: error: 'TASK_INTERRUPTIBLE' undeclared (first use in
this function)
fs/nfs/unlink.c: In function 'nfs_block_sillyrename':
fs/nfs/unlink.c:196: error: 'TASK_UNINTERRUPTIBLE' undeclared (first use in
this function)
fs/nfs/unlink.c:196: error: implicit declaration of function 'schedule'
make[2]: *** [fs/nfs/unlink.o] Error 1
make[1]: *** [fs/nfs] Error 2
make: *** [fs] Error 2

Cheers,
Erez.
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [GIT] NFS client fixes for 2.6.23++

2007-10-19 Thread Erez Zadok
In message [EMAIL PROTECTED], Linus Torvalds writes:
 
 
 On Fri, 19 Oct 2007, Erez Zadok wrote:
  
  Trond, with Linus's latest tree, you need to #include linux/sched.h in
  fs/nfs/unlink.c, else I get:
  
CC [M]  fs/nfs/unlink.o
  fs/nfs/unlink.c: In function 'nfs_dec_sillycount':
  fs/nfs/unlink.c:67: error: 'TASK_UNINTERRUPTIBLE' undeclared (first use in 
  this function)
 ...
 
 Hmm? Which architecture?

i386

Erez.
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [GIT] NFS client fixes for 2.6.23++

2007-10-19 Thread Erez Zadok
In message [EMAIL PROTECTED], Linus Torvalds writes:
 
 
 On Fri, 19 Oct 2007, Erez Zadok wrote:
  
  i386
 
 Hmm. Doesn't happen here, not on x86-64 nor i386.
 
 Probably some subtle config issue as usual, where some configuration 
 doesn't include sched.h indirectly.
 
 But I'll add the direct includes of linux/sched.h and linux/wait.h. 
 
   Linus

FWIW, here's my .config.

Erez.

#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.23
# Fri Oct 19 16:51:35 2007
#
CONFIG_X86_32=y
CONFIG_GENERIC_TIME=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_SEMAPHORE_SLEEPERS=y
CONFIG_X86=y
CONFIG_MMU=y
CONFIG_ZONE_DMA=y
CONFIG_QUICKLIST=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_DMI=y
CONFIG_DEFCONFIG_LIST=/lib/modules/$UNAME_RELEASE/.config

#
# General setup
#
CONFIG_EXPERIMENTAL=y
CONFIG_BROKEN_ON_SMP=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_LOCALVERSION=
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
# CONFIG_POSIX_MQUEUE is not set
CONFIG_BSD_PROCESS_ACCT=y
# CONFIG_BSD_PROCESS_ACCT_V3 is not set
# CONFIG_TASKSTATS is not set
# CONFIG_USER_NS is not set
# CONFIG_AUDIT is not set
CONFIG_IKCONFIG=y
# CONFIG_IKCONFIG_PROC is not set
CONFIG_LOG_BUF_SHIFT=14
# CONFIG_CGROUPS is not set
CONFIG_FAIR_GROUP_SCHED=y
CONFIG_FAIR_USER_SCHED=y
# CONFIG_FAIR_CGROUP_SCHED is not set
CONFIG_SYSFS_DEPRECATED=y
# CONFIG_RELAY is not set
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_SYSCTL=y
# CONFIG_EMBEDDED is not set
CONFIG_UID16=y
CONFIG_SYSCTL_SYSCALL=y
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
CONFIG_KALLSYMS_EXTRA_PASS=y
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_ANON_INODES=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_SLAB=y
# CONFIG_SLUB is not set
# CONFIG_SLOB is not set
CONFIG_RT_MUTEXES=y
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not set
# CONFIG_MODVERSIONS is not set
# CONFIG_MODULE_SRCVERSION_ALL is not set
CONFIG_KMOD=y
CONFIG_BLOCK=y
# CONFIG_LBD is not set
# CONFIG_BLK_DEV_IO_TRACE is not set
# CONFIG_LSF is not set
# CONFIG_BLK_DEV_BSG is not set

#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
# CONFIG_DEFAULT_AS is not set
# CONFIG_DEFAULT_DEADLINE is not set
CONFIG_DEFAULT_CFQ=y
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED=cfq

#
# Processor type and features
#
# CONFIG_TICK_ONESHOT is not set
# CONFIG_NO_HZ is not set
# CONFIG_HIGH_RES_TIMERS is not set
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
# CONFIG_SMP is not set
CONFIG_X86_PC=y
# CONFIG_X86_ELAN is not set
# CONFIG_X86_VOYAGER is not set
# CONFIG_X86_NUMAQ is not set
# CONFIG_X86_SUMMIT is not set
# CONFIG_X86_BIGSMP is not set
# CONFIG_X86_VISWS is not set
# CONFIG_X86_GENERICARCH is not set
# CONFIG_X86_ES7000 is not set
CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
# CONFIG_PARAVIRT is not set
# CONFIG_M386 is not set
# CONFIG_M486 is not set
# CONFIG_M586 is not set
# CONFIG_M586TSC is not set
# CONFIG_M586MMX is not set
CONFIG_M686=y
# CONFIG_MPENTIUMII is not set
# CONFIG_MPENTIUMIII is not set
# CONFIG_MPENTIUMM is not set
# CONFIG_MCORE2 is not set
# CONFIG_MPENTIUM4 is not set
# CONFIG_MK6 is not set
# CONFIG_MK7 is not set
# CONFIG_MK8 is not set
# CONFIG_MCRUSOE is not set
# CONFIG_MEFFICEON is not set
# CONFIG_MWINCHIPC6 is not set
# CONFIG_MWINCHIP2 is not set
# CONFIG_MWINCHIP3D is not set
# CONFIG_MGEODEGX1 is not set
# CONFIG_MGEODE_LX is not set
# CONFIG_MCYRIXIII is not set
# CONFIG_MVIAC3_2 is not set
# CONFIG_MVIAC7 is not set
# CONFIG_X86_GENERIC is not set
CONFIG_X86_CMPXCHG=y
CONFIG_X86_L1_CACHE_SHIFT=5
CONFIG_X86_XADD=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_X86_PPRO_FENCE=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_X86_GOOD_APIC=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_TSC=y
CONFIG_X86_CMOV=y
CONFIG_X86_MINIMUM_CPU_FAMILY=4
CONFIG_HPET_TIMER=y
CONFIG_PREEMPT_NONE=y
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT is not set
# CONFIG_X86_UP_APIC is not set
CONFIG_X86_MCE=y
# CONFIG_X86_MCE_NONFATAL is not set
CONFIG_VM86=y
# CONFIG_TOSHIBA is not set
# CONFIG_I8K is not set
# CONFIG_X86_REBOOTFIXUPS is not set
# CONFIG_MICROCODE is not set
# CONFIG_X86_MSR is not set
# CONFIG_X86_CPUID is not set

#
# Firmware Drivers
#
# CONFIG_EDD is not set
# CONFIG_DELL_RBU is not set
# CONFIG_DCDBAS is not set
# CONFIG_DMIID is not set
CONFIG_NOHIGHMEM=y
# CONFIG_HIGHMEM4G is not set
# CONFIG_HIGHMEM64G is 

[GIT] NFS client fixes for 2.6.23++

2007-10-19 Thread Trond Myklebust
Hi Linus,

Please pull from the repository at

   git pull git://git.linux-nfs.org/pub/linux/nfs-2.6.git

This will update the following files through the appended changesets.

  Cheers,
Trond


 fs/nfs/delegation.c|3 +-
 fs/nfs/dir.c   |   14 +-
 fs/nfs/file.c  |2 +-
 fs/nfs/inode.c |   25 +--
 fs/nfs/nfs4_fs.h   |3 +-
 fs/nfs/nfs4proc.c  |   19 ++--
 fs/nfs/nfs4state.c |   14 +-
 fs/nfs/unlink.c|  114 +--
 fs/nfs/write.c |   17 +--
 include/linux/nfs_fs.h |8 +++
 10 files changed, 183 insertions(+), 36 deletions(-)

commit 603c83da19cf42d0f94022ac2fa389a431e32b84
Author: Trond Myklebust [EMAIL PROTECTED]
Date:   Thu Oct 18 19:59:20 2007 -0400

NFSv4: Fix an rpc_cred reference leakage in fs/nfs/delegation.c

Signed-off-by: Trond Myklebust [EMAIL PROTECTED]

commit a49c3c7736a2e77931dabc5bc4a83fb4b2da013e
Author: Trond Myklebust [EMAIL PROTECTED]
Date:   Thu Oct 18 18:03:27 2007 -0400

NFSv4: Ensure that we wait for the CLOSE request to complete

Otherwise, we do end up breaking close-to-open semantics. We also end up
breaking some of the silly-rename tests in Connectathon on some setups.

Please refer to the bug-report at
http://bugzilla.linux-nfs.org/show_bug.cgi?id=150

Signed-off-by: Trond Myklebust [EMAIL PROTECTED]

commit 565277f63c616e11c37309a1e98c052d18ebbb55
Author: Trond Myklebust [EMAIL PROTECTED]
Date:   Mon Oct 15 18:17:53 2007 -0400

NFS: Fix a race in sillyrename

lookup() and sillyrename() can race one another because the sillyrename()
completion cannot take the parent directory's inode-i_mutex since the
latter may be held by whoever is calling dput().

We therefore have little option but to add extra locking to ensure that
nfs_lookup() and nfs_atomic_open() do not race with the sillyrename
completion.
If somebody has looked up the sillyrenamed file in the meantime, we just
transfer the sillydelete information to the new dentry.

Please refer to the bug-report at
http://bugzilla.linux-nfs.org/show_bug.cgi?id=150

Signed-off-by: Trond Myklebust [EMAIL PROTECTED]

commit 61e930a904966cc37e0a3404276f0b73037e57ca
Author: Trond Myklebust [EMAIL PROTECTED]
Date:   Thu Oct 18 17:08:05 2007 -0400

NFS: Fix a writeback race...

This patch fixes a regression that was introduced by commit
44dd151d5c21234cc534c47d7382f5c28c3143cd

We cannot zero the user page in nfs_mark_uptodate() any more, since

  a) We'd be modifying the page without holding the page lock
  b) We can race with other updates of the page, most notably
 because of the call to nfs_wb_page() in nfs_writepage_setup().

Instead, we do the zeroing in nfs_update_request() if we see that we're
creating a request that might potentially be marked as up to date.

Thanks to Olivier Paquet for reporting the bug and providing a test-case.

Signed-off-by: Trond Myklebust [EMAIL PROTECTED]

diff --git a/fs/nfs/delegation.c b/fs/nfs/delegation.c
index af8b235..11833f4 100644
--- a/fs/nfs/delegation.c
+++ b/fs/nfs/delegation.c
@@ -168,7 +168,8 @@ int nfs_inode_set_delegation(struct inode *inode, struct 
rpc_cred *cred, struct
spin_unlock(inode-i_lock);
 
spin_unlock(clp-cl_lock);
-   kfree(delegation);
+   if (delegation != NULL)
+   nfs_free_delegation(delegation);
return status;
 }
 
diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c
index 8ec7fbd..3533453 100644
--- a/fs/nfs/dir.c
+++ b/fs/nfs/dir.c
@@ -562,6 +562,7 @@ static int nfs_readdir(struct file *filp, void *dirent, 
filldir_t filldir)
nfs_fattr_init(fattr);
desc-entry = my_entry;
 
+   nfs_block_sillyrename(dentry);
while(!desc-entry-eof) {
res = readdir_search_pagecache(desc);
 
@@ -592,6 +593,7 @@ static int nfs_readdir(struct file *filp, void *dirent, 
filldir_t filldir)
break;
}
}
+   nfs_unblock_sillyrename(dentry);
unlock_kernel();
if (res  0)
res = 0;
@@ -866,6 +868,7 @@ struct dentry_operations nfs_dentry_operations = {
 static struct dentry *nfs_lookup(struct inode *dir, struct dentry * dentry, 
struct nameidata *nd)
 {
struct dentry *res;
+   struct dentry *parent;
struct inode *inode = NULL;
int error;
struct nfs_fh fhandle;
@@ -894,26 +897,31 @@ static struct dentry *nfs_lookup(struct inode *dir, 
struct dentry * dentry, stru
goto out_unlock;
}
 
+   parent = dentry-d_parent;
+   /* Protect against concurrent sillydeletes */
+   nfs_block_sillyrename(parent);
error = NFS_PROTO(dir)-lookup(dir, dentry-d_name, fhandle, fattr);
if (error == -ENOENT)
goto no_entry;
if (error  

Re: [GIT] NFS client fixes for 2.6.23++

2007-10-19 Thread Linus Torvalds


On Fri, 19 Oct 2007, Erez Zadok wrote:
 
 Trond, with Linus's latest tree, you need to #include linux/sched.h in
 fs/nfs/unlink.c, else I get:
 
   CC [M]  fs/nfs/unlink.o
 fs/nfs/unlink.c: In function 'nfs_dec_sillycount':
 fs/nfs/unlink.c:67: error: 'TASK_UNINTERRUPTIBLE' undeclared (first use in 
 this function)
...

Hmm? Which architecture?

That said, I do think that there is a distinct lack of proper includes in 
that file. It seems to depend on getting much of the includes indirectly 
from linux/nfs_fs.h and friends. And with different architectures having 
different header files..

Linus
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/