From: Andy P. <at...@us...> - 2002-04-09 15:08:51
|
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"); |