]> Zhao Yanbai Git Server - minix.git/commitdiff
HGFS tweaks
authorDavid van Moolenbroek <david@minix3.org>
Wed, 27 Jan 2010 22:59:03 +0000 (22:59 +0000)
committerDavid van Moolenbroek <david@minix3.org>
Wed, 27 Jan 2010 22:59:03 +0000 (22:59 +0000)
servers/hgfs/const.h
servers/hgfs/inode.c
servers/hgfs/inode.h
servers/hgfs/lookup.c
servers/hgfs/mount.c
servers/hgfs/write.c

index 9d0e7677c166b89c2e4a2a4f75033b4a354483d7..937554af0807e40b4faa1c7f11a8dfba91800bbe 100644 (file)
@@ -2,7 +2,6 @@
 /* Number of inodes. */
 /* The following number must not exceed 16. The i_num field is only a short. */
 #define NUM_INODE_BITS 8
-#define NUM_INODES     ((1 << NUM_INODE_BITS) - 1)
 
 /* Number of entries in the name hashtable. */
 #define NUM_HASH_SLOTS 1023
index ee3b0edbdcbb79e3ab9785cb05f50d16fe0f03a0..5f545da7e22131914901796f13b73cf3fc70c04b 100644 (file)
@@ -18,6 +18,8 @@
 
 #include "inc.h"
 
+PRIVATE struct inode inodes[NUM_INODES];
+
 PRIVATE TAILQ_HEAD(free_head, inode) free_list;
 
 /*===========================================================================*
@@ -32,7 +34,7 @@ PUBLIC struct inode *init_inode()
 
   TAILQ_INIT(&free_list);
 
-  dprintf(("HGFS: %d inodes, %d bytes each, equals %d bytes\n",
+  dprintf(("HGFS: %d inodes, %u bytes each, equals %u bytes\n",
        NUM_INODES, sizeof(struct inode), sizeof(inodes)));
 
   /* Mark all inodes except the root inode as free. */
@@ -69,7 +71,7 @@ ino_t ino_nr;
 /* Get an inode based on its inode number. Do not increase its reference count.
  */
   struct inode *ino;
-  unsigned int index;
+  int index;
 
   /* Inode 0 (= index -1) is not a valid inode number. */
   index = INODE_INDEX(ino_nr);
index 37c0978103ccecd7946749dd46930f8f119f10f4..3f5c056e71082e046a0d9613e22958d54845ae88 100644 (file)
@@ -51,7 +51,7 @@
  * - A CACHED or FREE inode may be reused for other purposes at any time.
  */
 
-EXTERN struct inode {
+struct inode {
   struct inode *i_parent;              /* parent inode pointer */
   LIST_HEAD(child_head, inode) i_child;        /* child inode anchor */
   LIST_ENTRY(inode) i_next;            /* sibling inode chain entry */
@@ -66,7 +66,7 @@ EXTERN struct inode {
        hgfs_dir_t u_dir;               /* handle to open HGFS directory */
   } i_u;
   char i_name[NAME_MAX+1];             /* entry name in parent directory */
-} inodes[NUM_INODES];
+};
 
 #define i_free         i_u.u_free
 #define i_file         i_u.u_file
index bee89d8029fdb634964b84637b94ad999758bb83..5c82bdc2969b8e140a964843926cd87d5f996220 100644 (file)
@@ -315,7 +315,7 @@ PUBLIC int do_lookup()
        assert(r != EENTERMOUNT && r != ESYMLINK);
 
        if (r == ELEAVEMOUNT) {
-               m_out.RES_OFFSET = (int)(last - buf);
+               m_out.RES_OFFSET = (int) (last - buf);
                m_out.RES_SYMLOOP = 0;
        }
 
index 9cc3a089e806c45415802dfbe3918df06969252f..cdcd167b3b233649ee1e47bbe1073bdea2eefedb 100644 (file)
@@ -23,7 +23,7 @@ PUBLIC int do_readsuper()
   int r;
 
   dprintf(("HGFS: readsuper (dev %x, flags %x)\n",
-       m_in.REQ_DEV, m_in.REQ_FLAGS));
+       (dev_t) m_in.REQ_DEV, m_in.REQ_FLAGS));
 
   if (m_in.REQ_FLAGS & REQ_ISROOT) {
        printf("HGFS: attempt to mount as root device\n");
index 5e3088d7517b400c77d52e2d79eb9227b0dce6ac..05960823debb9d8e01f812d57d9456a897ff1ab0 100644 (file)
@@ -101,7 +101,7 @@ PUBLIC int do_write()
   count = m_in.REQ_NBYTES;
   grant = m_in.REQ_GRANT;
 
-  if (count <= 0) return EINVAL;
+  if (count == 0) return EINVAL;
 
   if ((r = write_file(ino, &pos, &count, &grant)) != OK)
        return r;