Update of /cvsroot/linux-vax/kernel-2.4/fs/romfs
In directory usw-pr-cvs1:/tmp/cvs-serv32005/romfs
Modified Files:
inode.c
Log Message:
synch 2.4.15 commit 14
Index: inode.c
===================================================================
RCS file: /cvsroot/linux-vax/kernel-2.4/fs/romfs/inode.c,v
retrieving revision 1.1.1.2
retrieving revision 1.2
diff -u -r1.1.1.2 -r1.2
--- inode.c 25 Feb 2001 23:14:46 -0000 1.1.1.2
+++ inode.c 9 Apr 2002 13:30:19 -0000 1.2
@@ -76,11 +76,6 @@
#include <asm/uaccess.h>
-static int inline min(int a, int b)
-{
- return a<b ? a : b;
-}
-
static __s32
romfs_checksum(void *data, int size)
{
@@ -110,6 +105,9 @@
set_blocksize(dev, ROMBSIZE);
s->s_blocksize = ROMBSIZE;
s->s_blocksize_bits = ROMBSBITS;
+ s->u.generic_sbp = (void *) 0;
+ s->s_maxbytes = 0xFFFFFFFF;
+
bh = bread(dev, 0, ROMBSIZE);
if (!bh) {
/* XXX merge with other printk? */
@@ -126,7 +124,7 @@
"%s.\n", kdevname(dev));
goto out;
}
- if (romfs_checksum(rsb, min(sz,512))) {
+ if (romfs_checksum(rsb, min_t(int, sz, 512))) {
printk ("romfs: bad initial checksum on dev "
"%s.\n", kdevname(dev));
goto out;
@@ -195,7 +193,7 @@
return -1; /* error */
avail = ROMBSIZE - (offset & ROMBMASK);
- maxsize = min(count, avail);
+ maxsize = min_t(unsigned long, count, avail);
res = strnlen(((char *)bh->b_data)+(offset&ROMBMASK), maxsize);
brelse(bh);
@@ -208,7 +206,7 @@
bh = bread(i->i_dev, offset>>ROMBSBITS, ROMBSIZE);
if (!bh)
return -1;
- maxsize = min(count-res, ROMBSIZE);
+ maxsize = min_t(unsigned long, count - res, ROMBSIZE);
avail = strnlen(bh->b_data, maxsize);
res += avail;
brelse(bh);
@@ -233,7 +231,7 @@
return -1; /* error */
avail = ROMBSIZE - (offset & ROMBMASK);
- maxsize = min(count, avail);
+ maxsize = min_t(unsigned long, count, avail);
memcpy(dest, ((char *)bh->b_data) + (offset & ROMBMASK), maxsize);
brelse(bh);
@@ -246,7 +244,7 @@
bh = bread(i->i_dev, offset>>ROMBSBITS, ROMBSIZE);
if (!bh)
return -1;
- maxsize = min(count-res, ROMBSIZE);
+ maxsize = min_t(unsigned long, count - res, ROMBSIZE);
memcpy(dest, bh->b_data, maxsize);
brelse(bh);
res += maxsize;
@@ -400,15 +398,17 @@
void *buf;
int result = -EIO;
+ page_cache_get(page);
lock_kernel();
- get_page(page);
- buf = page_address(page);
+ buf = kmap(page);
+ if (!buf)
+ goto err_out;
/* 32 bit warning -- but not for us :) */
offset = page->index << PAGE_CACHE_SHIFT;
if (offset < inode->i_size) {
avail = inode->i_size-offset;
- readlen = min(avail, PAGE_SIZE);
+ readlen = min_t(unsigned long, avail, PAGE_SIZE);
if (romfs_copyfrom(inode, buf, inode->u.romfs_i.i_dataoffset+offset, readlen) == readlen) {
if (readlen < PAGE_SIZE) {
memset(buf + readlen,0,PAGE_SIZE-readlen);
@@ -425,7 +425,9 @@
UnlockPage(page);
- __free_page(page);
+ kunmap(page);
+err_out:
+ page_cache_release(page);
unlock_kernel();
return result;
@@ -546,3 +548,4 @@
module_init(init_romfs_fs)
module_exit(exit_romfs_fs)
+MODULE_LICENSE("GPL");
|