Whamcloud - gitweb
b=16774 cancel unused osc locks before replay.
[fs/lustre-release.git] / libcfs / libcfs / linux / linux-fs.c
index 3b15576..82ecbf2 100644 (file)
@@ -1,3 +1,39 @@
+/* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*-
+ * vim:expandtab:shiftwidth=8:tabstop=8:
+ *
+ * GPL HEADER START
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 only,
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License version 2 for more details (a copy is included
+ * in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License
+ * version 2 along with this program; If not, see
+ * http://www.sun.com/software/products/lustre/docs/GPLv2.pdf
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ *
+ * GPL HEADER END
+ */
+/*
+ * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Use is subject to license terms.
+ */
+/*
+ * This file is part of Lustre, http://www.lustre.org/
+ * Lustre is a trademark of Sun Microsystems, Inc.
+ */
+
 # define DEBUG_SUBSYSTEM S_LNET
 
 #include <linux/fs.h>
@@ -20,8 +56,8 @@ cfs_filp_open (const char *name, int flags, int mode, int *err)
                int rc;
 
                rc = PTR_ERR(filp);
-               printk(KERN_ERR "LustreError: can't open %s file: err %d\n",
-                               name, rc);
+                printk(KERN_ERR "LustreError: can't open %s file: err %d\n",
+                       name, rc);
                if (err)
                        *err = rc;
                filp = NULL;
@@ -39,11 +75,12 @@ cfs_user_write (cfs_file_t *filp, const char *buf, size_t count, loff_t *offset)
 
        fs = get_fs();
        set_fs(KERNEL_DS);
-       while (count > 0) {
+       while ((ssize_t)count > 0) {
                size = filp->f_op->write(filp, (char *)buf, count, offset);
                if (size < 0)
                        break;
                count -= size;
+                buf += size;
                size = 0;
        }
        set_fs(fs);