Merge branch 'nfs-for-2.6.32' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6...
authorJ. Bruce Fields <bfields@citi.umich.edu>
Fri, 21 Aug 2009 15:27:29 +0000 (11:27 -0400)
committerJ. Bruce Fields <bfields@citi.umich.edu>
Fri, 21 Aug 2009 15:27:29 +0000 (11:27 -0400)
Conflicts:
net/sunrpc/cache.c

1  2 
fs/nfsd/nfsctl.c
fs/nfsd/nfssvc.c
net/sunrpc/cache.c
net/sunrpc/svcauth_unix.c

Simple merge
Simple merge
index bbd31f1215e79b0d656739a0b296b75d5215d6f2,45cdaff9b361c17272872294c0dfc96962ce9cca..ade8a7e99cd3049f1e4f5e5284146be446a9e67a
@@@ -175,23 -177,13 +177,29 @@@ struct cache_head *sunrpc_cache_update(
  }
  EXPORT_SYMBOL_GPL(sunrpc_cache_update);
  
- static int cache_make_upcall(struct cache_detail *detail, struct cache_head *h);
+ static int cache_make_upcall(struct cache_detail *cd, struct cache_head *h)
+ {
+       if (!cd->cache_upcall)
+               return -EINVAL;
+       return cd->cache_upcall(cd, h);
+ }
  
 +static inline int cache_is_valid(struct cache_detail *detail, struct cache_head *h)
 +{
 +      if (!test_bit(CACHE_VALID, &h->flags) ||
 +          h->expiry_time < get_seconds())
 +              return -EAGAIN;
 +      else if (detail->flush_time > h->last_refresh)
 +              return -EAGAIN;
 +      else {
 +              /* entry is valid */
 +              if (test_bit(CACHE_NEGATIVE, &h->flags))
 +                      return -ENOENT;
 +              else
 +                      return 0;
 +      }
 +}
++
  /*
   * This is the generic cache management routine for all
   * the authentication caches.
@@@ -924,19 -887,7 +903,7 @@@ static int cache_release(struct inode *
  
  
  
- static const struct file_operations cache_file_operations = {
-       .owner          = THIS_MODULE,
-       .llseek         = no_llseek,
-       .read           = cache_read,
-       .write          = cache_write,
-       .poll           = cache_poll,
-       .ioctl          = cache_ioctl, /* for FIONREAD */
-       .open           = cache_open,
-       .release        = cache_release,
- };
 -static void queue_loose(struct cache_detail *detail, struct cache_head *ch)
 +static void cache_dequeue(struct cache_detail *detail, struct cache_head *ch)
  {
        struct cache_queue *cq;
        spin_lock(&queue_lock);
Simple merge