patch-2.0.21-2.1.0 linux/fs/hpfs/hpfs_fs.c

Next file: linux/fs/locks.c
Previous file: linux/fs/fat/misc.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file lx2.0/v2.0.21/linux/fs/hpfs/hpfs_fs.c linux/fs/hpfs/hpfs_fs.c
@@ -144,7 +144,7 @@
 
 /* file ops */
 
-static int hpfs_file_read(struct inode *, struct file *, char *, int);
+static long hpfs_file_read(struct inode *, struct file *, char *, unsigned long);
 static secno hpfs_bmap(struct inode *, unsigned);
 
 static const struct file_operations hpfs_file_ops =
@@ -185,8 +185,8 @@
 
 /* directory ops */
 
-static int hpfs_dir_read(struct inode *inode, struct file *filp,
-			 char *buf, int count);
+static long hpfs_dir_read(struct inode *inode, struct file *filp,
+			  char *buf, unsigned long count);
 static int hpfs_readdir(struct inode *inode, struct file *filp,
 			void *dirent, filldir_t filldir);
 static int hpfs_lookup(struct inode *, const char *, int, struct inode **);
@@ -321,7 +321,7 @@
 static inline time_t local_to_gmt(time_t t)
 {
 	extern struct timezone sys_tz;
-	return t + sys_tz.tz_minuteswest * 60;
+	return t + sys_tz.tz_minuteswest * 60 - (sys_tz.tz_dsttime ? 3600 : 0);
 }
 
 /* super block ops */
@@ -878,8 +878,8 @@
  * read.  Read the bytes, put them in buf, return the count.
  */
 
-static int hpfs_file_read(struct inode *inode, struct file *filp,
-			  char *buf, int count)
+static long hpfs_file_read(struct inode *inode, struct file *filp,
+			  char *buf, unsigned long count)
 {
 	unsigned q, r, n, n0;
 	struct buffer_head *bh;
@@ -1579,8 +1579,8 @@
 	return 0;
 }
 
-static int hpfs_dir_read(struct inode *inode, struct file *filp,
-			 char *buf, int count)
+static long hpfs_dir_read(struct inode *inode, struct file *filp,
+			  char *buf, unsigned long count)
 {
 	return -EISDIR;
 }

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov