···229230static int users = 0;231232-static int radio_open(stuct video_device *dev, int flags)233{234 if(users)235 return -EBUSY;···949950static int users = 0;951952-static int camera_open(stuct video_device *dev, int flags)953{954 if(users)955 return -EBUSY;
···229230static int users = 0;231232+static int radio_open(struct video_device *dev, int flags)233{234 if(users)235 return -EBUSY;···949950static int users = 0;951952+static int camera_open(struct video_device *dev, int flags)953{954 if(users)955 return -EBUSY;
+1-1
Documentation/cachetlb.txt
···1368) void lazy_mmu_prot_update(pte_t pte)137 This interface is called whenever the protection on138 any user PTEs change. This interface provides a notification139- to architecture specific code to take appropiate action.140141142Next, we have the cache flushing interfaces. In general, when Linux
···1368) void lazy_mmu_prot_update(pte_t pte)137 This interface is called whenever the protection on138 any user PTEs change. This interface provides a notification139+ to architecture specific code to take appropriate action.140141142Next, we have the cache flushing interfaces. In general, when Linux
+1-1
Documentation/hpet.txt
···23The High Precision Event Timer (HPET) hardware is the future replacement4for the 8254 and Real Time Clock (RTC) periodic timer functionality.5-Each HPET can have up two 32 timers. It is possible to configure the6first two timers as legacy replacements for 8254 and RTC periodic timers.7A specification done by Intel and Microsoft can be found at8<http://www.intel.com/hardwaredesign/hpetspec.htm>.
···23The High Precision Event Timer (HPET) hardware is the future replacement4for the 8254 and Real Time Clock (RTC) periodic timer functionality.5+Each HPET can have up to 32 timers. It is possible to configure the6first two timers as legacy replacements for 8254 and RTC periodic timers.7A specification done by Intel and Microsoft can be found at8<http://www.intel.com/hardwaredesign/hpetspec.htm>.
+1-1
Documentation/input/ff.txt
···120some operations (removing an effect, controlling the playback).121This if field must be set to -1 by the user in order to tell the driver to122allocate a new effect.123-See <linux/input.h> for a description of the ff_effect stuct. You should also124find help in a few sketches, contained in files shape.fig and interactive.fig.125You need xfig to visualize these files.126
···120some operations (removing an effect, controlling the playback).121This if field must be set to -1 by the user in order to tell the driver to122allocate a new effect.123+See <linux/input.h> for a description of the ff_effect struct. You should also124find help in a few sketches, contained in files shape.fig and interactive.fig.125You need xfig to visualize these files.126
+1-1
Documentation/ioctl/hdio.txt
···946947 This ioctl initializes the addresses and irq for a disk948 controller, probes for drives, and creates /proc/ide949- interfaces as appropiate.950951952
···946947 This ioctl initializes the addresses and irq for a disk948 controller, probes for drives, and creates /proc/ide949+ interfaces as appropriate.950951952
+1-1
Documentation/laptop-mode.txt
···357# Read-ahead, in kilobytes358READAHEAD=${READAHEAD:-'4096'}359360-# Shall we remount journaled fs. with appropiate commit interval? (1=yes)361DO_REMOUNTS=${DO_REMOUNTS:-'1'}362363# And shall we add the "noatime" option to that as well? (1=yes)
···357# Read-ahead, in kilobytes358READAHEAD=${READAHEAD:-'4096'}359360+# Shall we remount journaled fs. with appropriate commit interval? (1=yes)361DO_REMOUNTS=${DO_REMOUNTS:-'1'}362363# And shall we add the "noatime" option to that as well? (1=yes)
+1-1
Documentation/networking/sk98lin.txt
···91 with (M)925. Execute the command "make modules".936. Execute the command "make modules_install".94- The appropiate modules will be installed.957. Reboot your system.9697
···91 with (M)925. Execute the command "make modules".936. Execute the command "make modules_install".94+ The appropriate modules will be installed.957. Reboot your system.9697
···198199Misc200201- noreplacement Don't replace instructions with more appropiate ones202 for the CPU. This may be useful on asymmetric MP systems203 where some CPU have less capabilities than the others.
···198199Misc200201+ noreplacement Don't replace instructions with more appropriate ones202 for the CPU. This may be useful on asymmetric MP systems203 where some CPU have less capabilities than the others.
+2-1
MAINTAINERS
···549COMMON INTERNET FILE SYSTEM (CIFS)550P: Steve French551M: sfrench@samba.org0552L: samba-technical@lists.samba.org553W: http://us1.samba.org/samba/Linux_CIFS_client.html554T: git kernel.org:/pub/scm/linux/kernel/git/sfrench/cifs-2.6.git···2060POSIX CLOCKS and TIMERS2061P: George Anzinger2062M: george@mvista.com2063-L: netdev@vger.kernel.org2064S: Supported20652066POWERPC 4xx EMAC DRIVER
···549COMMON INTERNET FILE SYSTEM (CIFS)550P: Steve French551M: sfrench@samba.org552+L: linux-cifs-client@lists.samba.org553L: samba-technical@lists.samba.org554W: http://us1.samba.org/samba/Linux_CIFS_client.html555T: git kernel.org:/pub/scm/linux/kernel/git/sfrench/cifs-2.6.git···2059POSIX CLOCKS and TIMERS2060P: George Anzinger2061M: george@mvista.com2062+L: linux-kernel@vger.kernel.org2063S: Supported20642065POWERPC 4xx EMAC DRIVER
+1-1
arch/i386/kernel/vm86.c
···4 * Copyright (C) 1994 Linus Torvalds5 *6 * 29 dec 2001 - Fixed oopses caused by unchecked access to the vm867- * stack - Manfred Spraul <manfreds@colorfullife.com>8 *9 * 22 mar 2002 - Manfred detected the stackfaults, but didn't handle10 * them correctly. Now the emulation will be in a
···4 * Copyright (C) 1994 Linus Torvalds5 *6 * 29 dec 2001 - Fixed oopses caused by unchecked access to the vm867+ * stack - Manfred Spraul <manfred@colorfullife.com>8 *9 * 22 mar 2002 - Manfred detected the stackfaults, but didn't handle10 * them correctly. Now the emulation will be in a
···242243static int irqdma_allocated;244245-#define LOCAL_END_REQUEST246#define DEVICE_NAME "floppy"247248#include <linux/blkdev.h>
···242243static int irqdma_allocated;2440245#define DEVICE_NAME "floppy"246247#include <linux/blkdev.h>
-10
drivers/char/Kconfig
···881 module. To compile this driver as a module, choose M here: the882 module will be called ftape.883884- Note that the Ftape-HOWTO is out of date (sorry) and documents the885- older version 2.08 of this software but still contains useful886- information. There is a web page with more recent documentation at887- <http://www.instmath.rwth-aachen.de/~heine/ftape/>. This page888- always contains the latest release of the ftape driver and useful889- information (backup software, ftape related patches and890- documentation, FAQ). Note that the file system interface has891- changed quite a bit compared to previous versions of ftape. Please892- read <file:Documentation/ftape.txt>.893-894source "drivers/char/ftape/Kconfig"895896endmenu
···881 module. To compile this driver as a module, choose M here: the882 module will be called ftape.8830000000000884source "drivers/char/ftape/Kconfig"885886endmenu
+1-11
drivers/char/ftape/Kconfig
···25 support", above) then `zft-compressor' will be loaded26 automatically by zftape when needed.2728- Despite its name, zftape does NOT use compression by default. The29- file <file:Documentation/ftape.txt> contains a short description of30- the most important changes in the file system interface compared to31- previous versions of ftape. The ftape home page32- <http://www.instmath.rwth-aachen.de/~heine/ftape/> contains33- further information.34-35- IMPORTANT NOTE: zftape can read archives created by previous36- versions of ftape and provide file mark support (i.e. fast skipping37- between tape archives) but previous version of ftape will lack file38- mark support when reading archives produced by zftape.3940config ZFT_DFLT_BLK_SZ41 int "Default block size"
···25 support", above) then `zft-compressor' will be loaded26 automatically by zftape when needed.2728+ Despite its name, zftape does NOT use compression by default.00000000002930config ZFT_DFLT_BLK_SZ31 int "Default block size"
+64-64
drivers/char/stallion.c
···738 stl_init();739 restore_flags(flags);740741- return(0);742}743744/*****************************************************************************/···889 }890 val = (val * base) + c;891 }892- return(val);893}894895/*****************************************************************************/···908#endif909910 if ((argp[0] == (char *) NULL) || (*argp[0] == 0))911- return(0);912913 for (sp = argp[0], i = 0; ((*sp != 0) && (i < 25)); sp++, i++)914 *sp = TOLOWER(*sp);···935 }936 if ((argp[i] != (char *) NULL) && (*argp[i] != 0))937 confp->irq = stl_atol(argp[i]);938- return(1);939}940941/*****************************************************************************/···946947static void *stl_memalloc(int len)948{949- return((void *) kmalloc(len, GFP_KERNEL));950}951952/*****************************************************************************/···963 if (brdp == (stlbrd_t *) NULL) {964 printk("STALLION: failed to allocate memory (size=%d)\n",965 sizeof(stlbrd_t));966- return((stlbrd_t *) NULL);967 }968969 memset(brdp, 0, sizeof(stlbrd_t));970 brdp->magic = STL_BOARDMAGIC;971- return(brdp);972}973974/*****************************************************************************/···988 minordev = tty->index;989 brdnr = MINOR2BRD(minordev);990 if (brdnr >= stl_nrbrds)991- return(-ENODEV);992 brdp = stl_brds[brdnr];993 if (brdp == (stlbrd_t *) NULL)994- return(-ENODEV);995 minordev = MINOR2PORT(minordev);996 for (portnr = -1, panelnr = 0; (panelnr < STL_MAXPANELS); panelnr++) {997 if (brdp->panels[panelnr] == (stlpanel_t *) NULL)···1003 minordev -= brdp->panels[panelnr]->nrports;1004 }1005 if (portnr < 0)1006- return(-ENODEV);10071008 portp = brdp->panels[panelnr]->ports[portnr];1009 if (portp == (stlport_t *) NULL)1010- return(-ENODEV);10111012/*1013 * On the first open of the device setup the port hardware, and···1021 if (portp->tx.buf == (char *) NULL) {1022 portp->tx.buf = (char *) stl_memalloc(STL_TXBUFSIZE);1023 if (portp->tx.buf == (char *) NULL)1024- return(-ENOMEM);1025 portp->tx.head = portp->tx.buf;1026 portp->tx.tail = portp->tx.buf;1027 }···1043 if (portp->flags & ASYNC_CLOSING) {1044 interruptible_sleep_on(&portp->close_wait);1045 if (portp->flags & ASYNC_HUP_NOTIFY)1046- return(-EAGAIN);1047- return(-ERESTARTSYS);1048 }10491050/*···1054 */1055 if (!(filp->f_flags & O_NONBLOCK)) {1056 if ((rc = stl_waitcarrier(portp, filp)) != 0)1057- return(rc);1058 }1059 portp->flags |= ASYNC_NORMAL_ACTIVE;10601061- return(0);1062}10631064/*****************************************************************************/···1115 portp->openwaitcnt--;1116 restore_flags(flags);11171118- return(rc);1119}11201121/*****************************************************************************/···12111212 if ((tty == (struct tty_struct *) NULL) ||1213 (stl_tmpwritebuf == (char *) NULL))1214- return(0);1215 portp = tty->driver_data;1216 if (portp == (stlport_t *) NULL)1217- return(0);1218 if (portp->tx.buf == (char *) NULL)1219- return(0);12201221/*1222 * If copying direct from user space we must cater for page faults,···1255 clear_bit(ASYI_TXLOW, &portp->istate);1256 stl_startrxtx(portp, -1, 1);12571258- return(count);1259}12601261/*****************************************************************************/···1336#endif13371338 if (tty == (struct tty_struct *) NULL)1339- return(0);1340 portp = tty->driver_data;1341 if (portp == (stlport_t *) NULL)1342- return(0);1343 if (portp->tx.buf == (char *) NULL)1344- return(0);13451346 head = portp->tx.head;1347 tail = portp->tx.tail;1348- return((head >= tail) ? (STL_TXBUFSIZE - (head - tail) - 1) : (tail - head - 1));1349}13501351/*****************************************************************************/···1370#endif13711372 if (tty == (struct tty_struct *) NULL)1373- return(0);1374 portp = tty->driver_data;1375 if (portp == (stlport_t *) NULL)1376- return(0);1377 if (portp->tx.buf == (char *) NULL)1378- return(0);13791380 head = portp->tx.head;1381 tail = portp->tx.tail;1382 size = (head >= tail) ? (head - tail) : (STL_TXBUFSIZE - (tail - head));1383 if ((size == 0) && test_bit(ASYI_TXBUSY, &portp->istate))1384 size = 1;1385- return(size);1386}13871388/*****************************************************************************/···1447 (sio.close_delay != portp->close_delay) ||1448 ((sio.flags & ~ASYNC_USR_MASK) !=1449 (portp->flags & ~ASYNC_USR_MASK)))1450- return(-EPERM);1451 } 14521453 portp->flags = (portp->flags & ~ASYNC_USR_MASK) |···1457 portp->closing_wait = sio.closing_wait;1458 portp->custom_divisor = sio.custom_divisor;1459 stl_setport(portp, portp->tty->termios);1460- return(0);1461}14621463/*****************************************************************************/···1467 stlport_t *portp;14681469 if (tty == (struct tty_struct *) NULL)1470- return(-ENODEV);1471 portp = tty->driver_data;1472 if (portp == (stlport_t *) NULL)1473- return(-ENODEV);1474 if (tty->flags & (1 << TTY_IO_ERROR))1475- return(-EIO);14761477 return stl_getsignals(portp);1478}···1484 int rts = -1, dtr = -1;14851486 if (tty == (struct tty_struct *) NULL)1487- return(-ENODEV);1488 portp = tty->driver_data;1489 if (portp == (stlport_t *) NULL)1490- return(-ENODEV);1491 if (tty->flags & (1 << TTY_IO_ERROR))1492- return(-EIO);14931494 if (set & TIOCM_RTS)1495 rts = 1;···1517#endif15181519 if (tty == (struct tty_struct *) NULL)1520- return(-ENODEV);1521 portp = tty->driver_data;1522 if (portp == (stlport_t *) NULL)1523- return(-ENODEV);15241525 if ((cmd != TIOCGSERIAL) && (cmd != TIOCSSERIAL) &&1526 (cmd != COM_GETPORTSTATS) && (cmd != COM_CLRPORTSTATS)) {1527 if (tty->flags & (1 << TTY_IO_ERROR))1528- return(-EIO);1529 }15301531 rc = 0;···1566 break;1567 }15681569- return(rc);1570}15711572/*****************************************************************************/···1872 pos[(MAXLINE - 2)] = '+';1873 pos[(MAXLINE - 1)] = '\n';18741875- return(MAXLINE);1876}18771878/*****************************************************************************/···19571958stl_readdone:1959 *start = page;1960- return(pos - page);1961}19621963/*****************************************************************************/···2349 } else {2350 rc = 0;2351 }2352- return(rc);2353}23542355/*****************************************************************************/···3116 return -1;3117 }31183119- return(0);3120}31213122/*****************************************************************************/···3132static int stl_cd1400getreg(stlport_t *portp, int regnr)3133{3134 outb((regnr + portp->uartaddr), portp->ioaddr);3135- return(inb(portp->ioaddr + EREG_DATA));3136}31373138static void stl_cd1400setreg(stlport_t *portp, int regnr, int value)···3146 outb((regnr + portp->uartaddr), portp->ioaddr);3147 if (inb(portp->ioaddr + EREG_DATA) != value) {3148 outb(value, portp->ioaddr + EREG_DATA);3149- return(1);3150 }3151- return(0);3152}31533154/*****************************************************************************/···3206 }32073208 BRDDISABLE(panelp->brdnr);3209- return(chipmask);3210}32113212/*****************************************************************************/···3557#else3558 sigs |= TIOCM_DSR;3559#endif3560- return(sigs);3561}35623563/*****************************************************************************/···3830#endif38313832 if (portp == (stlport_t *) NULL)3833- return(0);38343835- return(test_bit(ASYI_TXBUSY, &portp->istate) ? 1 : 0);3836}38373838/*****************************************************************************/···3912 outb((SRER + portp->uartaddr), ioaddr);3913 outb((inb(ioaddr + EREG_DATA) & ~(SRER_TXDATA | SRER_TXEMPTY)),3914 (ioaddr + EREG_DATA));3915- return(1);3916 } else if (portp->brklen > 1) {3917 outb((TDR + portp->uartaddr), ioaddr);3918 outb(ETC_CMD, (ioaddr + EREG_DATA));3919 outb(ETC_STOPBREAK, (ioaddr + EREG_DATA));3920 portp->brklen = -1;3921- return(1);3922 } else {3923 outb((COR2 + portp->uartaddr), ioaddr);3924 outb((inb(ioaddr + EREG_DATA) & ~COR2_ETC),3925 (ioaddr + EREG_DATA));3926 portp->brklen = 0;3927 }3928- return(0);3929}39303931/*****************************************************************************/···4166static int stl_sc26198getreg(stlport_t *portp, int regnr)4167{4168 outb((regnr | portp->uartaddr), (portp->ioaddr + XP_ADDR));4169- return(inb(portp->ioaddr + XP_DATA));4170}41714172static void stl_sc26198setreg(stlport_t *portp, int regnr, int value)···4180 outb((regnr | portp->uartaddr), (portp->ioaddr + XP_ADDR));4181 if (inb(portp->ioaddr + XP_DATA) != value) {4182 outb(value, (portp->ioaddr + XP_DATA));4183- return(1);4184 }4185- return(0);4186}41874188/*****************************************************************************/···4194static int stl_sc26198getglobreg(stlport_t *portp, int regnr)4195{4196 outb(regnr, (portp->ioaddr + XP_ADDR));4197- return(inb(portp->ioaddr + XP_DATA));4198}41994200#if 0···4252 }42534254 BRDDISABLE(panelp->brdnr);4255- return(chipmask);4256}42574258/*****************************************************************************/···4546 sigs |= (ipr & IPR_DTR) ? 0: TIOCM_DTR;4547 sigs |= (ipr & IPR_RTS) ? 0: TIOCM_RTS;4548 sigs |= TIOCM_DSR;4549- return(sigs);4550}45514552/*****************************************************************************/···4828#endif48294830 if (portp == (stlport_t *) NULL)4831- return(0);4832 if (test_bit(ASYI_TXBUSY, &portp->istate))4833- return(1);48344835 save_flags(flags);4836 cli();···4839 BRDDISABLE(portp->brdnr);4840 restore_flags(flags);48414842- return((sr & SR_TXEMPTY) ? 0 : 1);4843}48444845/*****************************************************************************/
···2676 Class-Based Queueing (CBQ) scheduling support which you get if you2677 say Y to "QoS and/or fair queueing" above.26782679- To set up and configure shaper devices, you need the shapecfg2680- program, available from <ftp://shadow.cabi.net/pub/Linux/> in the2681- shaper package.2682-2683 To compile this driver as a module, choose M here: the module2684 will be called shaper. If unsure, say N.2685
···2676 Class-Based Queueing (CBQ) scheduling support which you get if you2677 say Y to "QoS and/or fair queueing" above.267800002679 To compile this driver as a module, choose M here: the module2680 will be called shaper. If unsure, say N.2681
···24 the tools from25 <http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html>.2627- Some user-level drivers for scarab devices which don't require28- special kernel support are available from29- <ftp://shadow.cabi.net/pub/Linux/>.30-31# Note : the cards are obsolete (can't buy them anymore), but the drivers32# are not, as people are still using them...33comment "Obsolete Wireless cards support (pre-802.11)"···156 <http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html>.157158 If you want to compile the driver as a module ( = code which can be159- inserted in and remvoed from the running kernel whenever you want),160 say M here and read <file:Documentation/modules.txt>. The module161 will be called ipw2100.ko.162···209 <http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html>.210211 If you want to compile the driver as a module ( = code which can be212- inserted in and remvoed from the running kernel whenever you want),213 say M here and read <file:Documentation/modules.txt>. The module214 will be called ipw2200.ko.215
···24 the tools from25 <http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html>.26000027# Note : the cards are obsolete (can't buy them anymore), but the drivers28# are not, as people are still using them...29comment "Obsolete Wireless cards support (pre-802.11)"···160 <http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html>.161162 If you want to compile the driver as a module ( = code which can be163+ inserted in and removed from the running kernel whenever you want),164 say M here and read <file:Documentation/modules.txt>. The module165 will be called ipw2100.ko.166···213 <http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html>.214215 If you want to compile the driver as a module ( = code which can be216+ inserted in and removed from the running kernel whenever you want),217 say M here and read <file:Documentation/modules.txt>. The module218 will be called ipw2200.ko.219
+1-1
drivers/s390/scsi/zfcp_erp.c
···3403/**3404 * zfcp_erp_action_cleanup3405 *3406- * Register unit with scsi stack if appropiate and fix reference counts.3407 * Note: Temporary units are not registered with scsi stack.3408 */3409static void
···3403/**3404 * zfcp_erp_action_cleanup3405 *3406+ * Register unit with scsi stack if appropriate and fix reference counts.3407 * Note: Temporary units are not registered with scsi stack.3408 */3409static void
+1-1
drivers/scsi/FlashPoint.c
···149#define PCI_BUS_CARD 0x03150#define VESA_BUS_CARD 0x04151152-/* SCCB struc used for both SCCB and UCB manager compiles! 153 * The UCB Manager treats the SCCB as it's 'native hardware structure' 154 */155
···149#define PCI_BUS_CARD 0x03150#define VESA_BUS_CARD 0x04151152+/* SCCB struct used for both SCCB and UCB manager compiles! 153 * The UCB Manager treats the SCCB as it's 'native hardware structure' 154 */155
+1-1
drivers/scsi/gdth.c
···328 * hdr_channel:x x - number of virtual bus for host drives329 * shared_access:Y disable driver reserve/release protocol to 330 * access a shared resource from several nodes, 331- * appropiate controller firmware required332 * shared_access:N enable driver reserve/release protocol333 * probe_eisa_isa:Y scan for EISA/ISA controllers334 * probe_eisa_isa:N do not scan for EISA/ISA controllers
···328 * hdr_channel:x x - number of virtual bus for host drives329 * shared_access:Y disable driver reserve/release protocol to 330 * access a shared resource from several nodes, 331+ * appropriate controller firmware required332 * shared_access:N enable driver reserve/release protocol333 * probe_eisa_isa:Y scan for EISA/ISA controllers334 * probe_eisa_isa:N do not scan for EISA/ISA controllers
···54 (sysv_read_super): Likewise.55 (v7_read_super): Likewise.5657-Sun Dec 30 2001 Manfred Spraul <manfreds@colorfullife.com>5859 * dir.c (dir_commit_chunk): Do not set dir->i_version.60 (sysv_readdir): Likewise.
···54 (sysv_read_super): Likewise.55 (v7_read_super): Likewise.5657+Sun Dec 30 2001 Manfred Spraul <manfred@colorfullife.com>5859 * dir.c (dir_commit_chunk): Do not set dir->i_version.60 (sysv_readdir): Likewise.
+57-57
fs/xfs/quota/xfs_qm.c
···497 int error;498499 if (mp->m_quotainfo == NULL)500- return (0);501 niters = 0;502again:503 xfs_qm_mplist_lock(mp);···528 error = xfs_qm_dqflush(dqp, flags);529 xfs_dqunlock(dqp);530 if (error)531- return (error);532533 xfs_qm_mplist_lock(mp);534 if (recl != XFS_QI_MPLRECLAIMS(mp)) {···540541 xfs_qm_mplist_unlock(mp);542 /* return ! busy */543- return (0);544}545/*546 * Release the group dquot pointers the user dquots may be···599 int nmisses;600601 if (mp->m_quotainfo == NULL)602- return (0);603604 dqtype = (flags & XFS_QMOPT_UQUOTA) ? XFS_DQ_USER : 0;605 dqtype |= (flags & XFS_QMOPT_PQUOTA) ? XFS_DQ_PROJ : 0;···796 ASSERT(XFS_DQ_IS_LOCKED(dqp));797 }798#endif799- return (error);800}801802···897 (! XFS_NOT_DQATTACHED(mp, ip)) ||898 (ip->i_ino == mp->m_sb.sb_uquotino) ||899 (ip->i_ino == mp->m_sb.sb_gquotino))900- return (0);901902 ASSERT((flags & XFS_QMOPT_ILOCKED) == 0 ||903 XFS_ISLOCKED_INODE_EXCL(ip));···984 else985 ASSERT(XFS_ISLOCKED_INODE_EXCL(ip));986#endif987- return (error);988}989990/*···1049 */1050 if (! XFS_IS_QUOTA_ON(mp)) {1051 xfs_qm_mplist_unlock(mp);1052- return (0);1053 }1054 FOREACH_DQUOT_IN_MP(dqp, mp) {1055 /*···1109 error = xfs_qm_dqflush(dqp, flush_flags);1110 xfs_dqunlock(dqp);1111 if (error && XFS_FORCED_SHUTDOWN(mp))1112- return(0); /* Need to prevent umount failure */1113 else if (error)1114- return (error);11151116 xfs_qm_mplist_lock(mp);1117 if (recl != XFS_QI_MPLRECLAIMS(mp)) {···1124 }11251126 xfs_qm_mplist_unlock(mp);1127- return (0);1128}11291130···1146 * Tell XQM that we exist as soon as possible.1147 */1148 if ((error = xfs_qm_hold_quotafs_ref(mp))) {1149- return (error);1150 }11511152 qinf = mp->m_quotainfo = kmem_zalloc(sizeof(xfs_quotainfo_t), KM_SLEEP);···1158 if ((error = xfs_qm_init_quotainos(mp))) {1159 kmem_free(qinf, sizeof(xfs_quotainfo_t));1160 mp->m_quotainfo = NULL;1161- return (error);1162 }11631164 spinlock_init(&qinf->qi_pinlock, "xfs_qinf_pin");···1232 qinf->qi_rtbwarnlimit = XFS_QM_RTBWARNLIMIT;1233 }12341235- return (0);1236}12371238···1332 */1333 ASSERT(error != ESRCH);1334 ASSERT(error != ENOENT);1335- return (error);1336 }1337 ASSERT(udqp);1338 }···1355 xfs_qm_dqrele(udqp);1356 ASSERT(error != ESRCH);1357 ASSERT(error != ENOENT);1358- return (error);1359 }1360 ASSERT(gdqp);1361···1376 if (udqp) ASSERT(XFS_DQ_IS_LOCKED(udqp));1377 if (gdqp) ASSERT(XFS_DQ_IS_LOCKED(gdqp));1378#endif1379- return (0);1380}13811382/*···1404 XFS_TRANS_PERM_LOG_RES,1405 XFS_CREATE_LOG_COUNT))) {1406 xfs_trans_cancel(tp, 0);1407- return (error);1408 }1409 memset(&zerocr, 0, sizeof(zerocr));1410 memset(&zeroino, 0, sizeof(zeroino));···1413 &zerocr, 0, 1, ip, &committed))) {1414 xfs_trans_cancel(tp, XFS_TRANS_RELEASE_LOG_RES |1415 XFS_TRANS_ABORT);1416- return (error);1417 }14181419 /*···1461 if ((error = xfs_trans_commit(tp, XFS_TRANS_RELEASE_LOG_RES,1462 NULL))) {1463 xfs_fs_cmn_err(CE_ALERT, mp, "XFS qino_alloc failed!");1464- return (error);1465 }1466- return (0);1467}14681469···1508 ddq = (xfs_disk_dquot_t *) ((xfs_dqblk_t *)ddq + 1);1509 }15101511- return (0);1512}15131514STATIC int···1557 bno++;1558 firstid += XFS_QM_DQPERBLK(mp);1559 }1560- return (error);1561}15621563/*···1586 * happens only at mount time which is single threaded.1587 */1588 if (qip->i_d.di_nblocks == 0)1589- return (0);15901591 map = kmem_alloc(XFS_DQITER_MAP_SIZE * sizeof(*map), KM_SLEEP);1592···16551656 kmem_free(map, XFS_DQITER_MAP_SIZE * sizeof(*map));16571658- return (error);1659}16601661/*···1715 ifp = XFS_IFORK_PTR(ip, XFS_DATA_FORK);1716 if (!(ifp->if_flags & XFS_IFEXTENTS)) {1717 if ((error = xfs_iread_extents(NULL, ip, XFS_DATA_FORK)))1718- return (error);1719 }1720 rtblks = 0;1721 nextents = ifp->if_bytes / sizeof(xfs_bmbt_rec_t);···1723 for (ep = base; ep < &base[nextents]; ep++)1724 rtblks += xfs_bmbt_get_blockcount(ep);1725 *O_rtblks = (xfs_qcnt_t)rtblks;1726- return (0);1727}17281729/*···1767 */1768 if ((error = xfs_iget(mp, NULL, ino, 0, XFS_ILOCK_EXCL, &ip, bno))) {1769 *res = BULKSTAT_RV_NOTHING;1770- return (error);1771 }17721773 if (ip->i_d.di_mode == 0) {···1785 if ((error = xfs_qm_dqget_noattach(ip, &udqp, &gdqp))) {1786 xfs_iput(ip, XFS_ILOCK_EXCL);1787 *res = BULKSTAT_RV_GIVEUP;1788- return (error);1789 }17901791 rtblks = 0;···1802 if (gdqp)1803 xfs_qm_dqput(gdqp);1804 *res = BULKSTAT_RV_GIVEUP;1805- return (error);1806 }1807 nblks = (xfs_qcnt_t)ip->i_d.di_nblocks - rtblks;1808 }···1847 * Goto next inode.1848 */1849 *res = BULKSTAT_RV_DIDONE;1850- return (0);1851}18521853/*···2041 XFS_QI_UQIP(mp) = uip;2042 XFS_QI_GQIP(mp) = gip;20432044- return (0);2045}20462047···2062 int nflushes;20632064 if (howmany <= 0)2065- return (0);20662067 nreclaimed = 0;2068 restarts = 0;···2088 xfs_dqunlock(dqp);2089 xfs_qm_freelist_unlock(xfs_Gqm);2090 if (++restarts >= XFS_QM_RECLAIM_MAX_RESTARTS)2091- return (nreclaimed);2092 XQM_STATS_INC(xqmstats.xs_qm_dqwants);2093 goto tryagain;2094 }···2163 XFS_DQ_HASH_UNLOCK(hash);2164 xfs_qm_freelist_unlock(xfs_Gqm);2165 if (++restarts >= XFS_QM_RECLAIM_MAX_RESTARTS)2166- return (nreclaimed);2167 goto tryagain;2168 }2169 xfs_dqtrace_entry(dqp, "DQSHAKE: UNLINKING");···2188 dqp = nextdqp;2189 }2190 xfs_qm_freelist_unlock(xfs_Gqm);2191- return (nreclaimed);2192}21932194···2202 int ndqused, nfree, n;22032204 if (!kmem_shake_allow(gfp_mask))2205- return (0);2206 if (!xfs_Gqm)2207- return (0);22082209 nfree = xfs_Gqm->qm_dqfreelist.qh_nelems; /* free dquots */2210 /* incore dquots in all f/s's */···2213 ASSERT(ndqused >= 0);22142215 if (nfree <= ndqused && nfree < ndquot)2216- return (0);22172218 ndqused *= xfs_Gqm->qm_dqfree_ratio; /* target # of free dquots */2219 n = nfree - ndqused - ndquot; /* # over target */···2257 xfs_dqunlock(dqp);2258 xfs_qm_freelist_unlock(xfs_Gqm);2259 if (++restarts >= XFS_QM_RECLAIM_MAX_RESTARTS)2260- return (NULL);2261 XQM_STATS_INC(xqmstats.xs_qm_dqwants);2262 goto startagain;2263 }···2333 }23342335 xfs_qm_freelist_unlock(xfs_Gqm);2336- return (dqpout);2337}23382339···2369 */2370 memset(&dqp->q_core, 0, sizeof(dqp->q_core));2371 *O_dqpp = dqp;2372- return (B_FALSE);2373 }2374 XQM_STATS_INC(xqmstats.xs_qm_dqreclaim_misses);2375 }···2382 *O_dqpp = kmem_zone_zalloc(xfs_Gqm->qm_dqzone, KM_SLEEP);2383 atomic_inc(&xfs_Gqm->qm_totaldquots);23842385- return (B_TRUE);2386}23872388···2407 0,2408 XFS_DEFAULT_LOG_COUNT))) {2409 xfs_trans_cancel(tp, 0);2410- return (error);2411 }24122413 xfs_mod_sb(tp, flags);2414 (void) xfs_trans_commit(tp, 0, NULL);24152416- return (0);2417}24182419···2463 if ((error = xfs_qm_dqattach(ip, XFS_QMOPT_DQALLOC |2464 XFS_QMOPT_ILOCKED))) {2465 xfs_iunlock(ip, lockflags);2466- return (error);2467 }2468 }2469···2486 XFS_QMOPT_DOWARN,2487 &uq))) {2488 ASSERT(error != ENOENT);2489- return (error);2490 }2491 /*2492 * Get the ilock in the right order.···2517 if (uq)2518 xfs_qm_dqrele(uq);2519 ASSERT(error != ENOENT);2520- return (error);2521 }2522 xfs_dqunlock(gq);2523 lockflags = XFS_ILOCK_SHARED;···2565 *O_gdqpp = gq;2566 else if (gq)2567 xfs_qm_dqrele(gq);2568- return (0);2569}25702571/*···2608 xfs_dqunlock(newdq);2609 *IO_olddq = newdq;26102611- return (prevdq);2612}26132614/*···2702 ip = i_tab[0];27032704 if (! XFS_IS_QUOTA_ON(ip->i_mount))2705- return (0);27062707 if (XFS_NOT_DQATTACHED(ip->i_mount, ip)) {2708 error = xfs_qm_dqattach(ip, 0);2709 if (error)2710- return (error);2711 }2712 for (i = 1; (i < 4 && i_tab[i]); i++) {2713 /*···2717 if (XFS_NOT_DQATTACHED(ip->i_mount, ip)) {2718 error = xfs_qm_dqattach(ip, 0);2719 if (error)2720- return (error);2721 }2722 }2723 }2724- return (0);2725}27262727void···2834 int locked;28352836 locked = mutex_trylock(&((dqp)->q_hash->qh_lock));2837- return (locked);2838}28392840int···2844 int locked;28452846 locked = mutex_trylock(&(xqm->qm_dqfreelist.qh_lock));2847- return (locked);2848}28492850STATIC int···28552856 ASSERT(mp->m_quotainfo);2857 locked = mutex_trylock(&(XFS_QI_MPLLOCK(mp)));2858- return (locked);2859}
···497 int error;498499 if (mp->m_quotainfo == NULL)500+ return 0;501 niters = 0;502again:503 xfs_qm_mplist_lock(mp);···528 error = xfs_qm_dqflush(dqp, flags);529 xfs_dqunlock(dqp);530 if (error)531+ return error;532533 xfs_qm_mplist_lock(mp);534 if (recl != XFS_QI_MPLRECLAIMS(mp)) {···540541 xfs_qm_mplist_unlock(mp);542 /* return ! busy */543+ return 0;544}545/*546 * Release the group dquot pointers the user dquots may be···599 int nmisses;600601 if (mp->m_quotainfo == NULL)602+ return 0;603604 dqtype = (flags & XFS_QMOPT_UQUOTA) ? XFS_DQ_USER : 0;605 dqtype |= (flags & XFS_QMOPT_PQUOTA) ? XFS_DQ_PROJ : 0;···796 ASSERT(XFS_DQ_IS_LOCKED(dqp));797 }798#endif799+ return error;800}801802···897 (! XFS_NOT_DQATTACHED(mp, ip)) ||898 (ip->i_ino == mp->m_sb.sb_uquotino) ||899 (ip->i_ino == mp->m_sb.sb_gquotino))900+ return 0;901902 ASSERT((flags & XFS_QMOPT_ILOCKED) == 0 ||903 XFS_ISLOCKED_INODE_EXCL(ip));···984 else985 ASSERT(XFS_ISLOCKED_INODE_EXCL(ip));986#endif987+ return error;988}989990/*···1049 */1050 if (! XFS_IS_QUOTA_ON(mp)) {1051 xfs_qm_mplist_unlock(mp);1052+ return 0;1053 }1054 FOREACH_DQUOT_IN_MP(dqp, mp) {1055 /*···1109 error = xfs_qm_dqflush(dqp, flush_flags);1110 xfs_dqunlock(dqp);1111 if (error && XFS_FORCED_SHUTDOWN(mp))1112+ return 0; /* Need to prevent umount failure */1113 else if (error)1114+ return error;11151116 xfs_qm_mplist_lock(mp);1117 if (recl != XFS_QI_MPLRECLAIMS(mp)) {···1124 }11251126 xfs_qm_mplist_unlock(mp);1127+ return 0;1128}11291130···1146 * Tell XQM that we exist as soon as possible.1147 */1148 if ((error = xfs_qm_hold_quotafs_ref(mp))) {1149+ return error;1150 }11511152 qinf = mp->m_quotainfo = kmem_zalloc(sizeof(xfs_quotainfo_t), KM_SLEEP);···1158 if ((error = xfs_qm_init_quotainos(mp))) {1159 kmem_free(qinf, sizeof(xfs_quotainfo_t));1160 mp->m_quotainfo = NULL;1161+ return error;1162 }11631164 spinlock_init(&qinf->qi_pinlock, "xfs_qinf_pin");···1232 qinf->qi_rtbwarnlimit = XFS_QM_RTBWARNLIMIT;1233 }12341235+ return 0;1236}12371238···1332 */1333 ASSERT(error != ESRCH);1334 ASSERT(error != ENOENT);1335+ return error;1336 }1337 ASSERT(udqp);1338 }···1355 xfs_qm_dqrele(udqp);1356 ASSERT(error != ESRCH);1357 ASSERT(error != ENOENT);1358+ return error;1359 }1360 ASSERT(gdqp);1361···1376 if (udqp) ASSERT(XFS_DQ_IS_LOCKED(udqp));1377 if (gdqp) ASSERT(XFS_DQ_IS_LOCKED(gdqp));1378#endif1379+ return 0;1380}13811382/*···1404 XFS_TRANS_PERM_LOG_RES,1405 XFS_CREATE_LOG_COUNT))) {1406 xfs_trans_cancel(tp, 0);1407+ return error;1408 }1409 memset(&zerocr, 0, sizeof(zerocr));1410 memset(&zeroino, 0, sizeof(zeroino));···1413 &zerocr, 0, 1, ip, &committed))) {1414 xfs_trans_cancel(tp, XFS_TRANS_RELEASE_LOG_RES |1415 XFS_TRANS_ABORT);1416+ return error;1417 }14181419 /*···1461 if ((error = xfs_trans_commit(tp, XFS_TRANS_RELEASE_LOG_RES,1462 NULL))) {1463 xfs_fs_cmn_err(CE_ALERT, mp, "XFS qino_alloc failed!");1464+ return error;1465 }1466+ return 0;1467}14681469···1508 ddq = (xfs_disk_dquot_t *) ((xfs_dqblk_t *)ddq + 1);1509 }15101511+ return 0;1512}15131514STATIC int···1557 bno++;1558 firstid += XFS_QM_DQPERBLK(mp);1559 }1560+ return error;1561}15621563/*···1586 * happens only at mount time which is single threaded.1587 */1588 if (qip->i_d.di_nblocks == 0)1589+ return 0;15901591 map = kmem_alloc(XFS_DQITER_MAP_SIZE * sizeof(*map), KM_SLEEP);1592···16551656 kmem_free(map, XFS_DQITER_MAP_SIZE * sizeof(*map));16571658+ return error;1659}16601661/*···1715 ifp = XFS_IFORK_PTR(ip, XFS_DATA_FORK);1716 if (!(ifp->if_flags & XFS_IFEXTENTS)) {1717 if ((error = xfs_iread_extents(NULL, ip, XFS_DATA_FORK)))1718+ return error;1719 }1720 rtblks = 0;1721 nextents = ifp->if_bytes / sizeof(xfs_bmbt_rec_t);···1723 for (ep = base; ep < &base[nextents]; ep++)1724 rtblks += xfs_bmbt_get_blockcount(ep);1725 *O_rtblks = (xfs_qcnt_t)rtblks;1726+ return 0;1727}17281729/*···1767 */1768 if ((error = xfs_iget(mp, NULL, ino, 0, XFS_ILOCK_EXCL, &ip, bno))) {1769 *res = BULKSTAT_RV_NOTHING;1770+ return error;1771 }17721773 if (ip->i_d.di_mode == 0) {···1785 if ((error = xfs_qm_dqget_noattach(ip, &udqp, &gdqp))) {1786 xfs_iput(ip, XFS_ILOCK_EXCL);1787 *res = BULKSTAT_RV_GIVEUP;1788+ return error;1789 }17901791 rtblks = 0;···1802 if (gdqp)1803 xfs_qm_dqput(gdqp);1804 *res = BULKSTAT_RV_GIVEUP;1805+ return error;1806 }1807 nblks = (xfs_qcnt_t)ip->i_d.di_nblocks - rtblks;1808 }···1847 * Goto next inode.1848 */1849 *res = BULKSTAT_RV_DIDONE;1850+ return 0;1851}18521853/*···2041 XFS_QI_UQIP(mp) = uip;2042 XFS_QI_GQIP(mp) = gip;20432044+ return 0;2045}20462047···2062 int nflushes;20632064 if (howmany <= 0)2065+ return 0;20662067 nreclaimed = 0;2068 restarts = 0;···2088 xfs_dqunlock(dqp);2089 xfs_qm_freelist_unlock(xfs_Gqm);2090 if (++restarts >= XFS_QM_RECLAIM_MAX_RESTARTS)2091+ return nreclaimed;2092 XQM_STATS_INC(xqmstats.xs_qm_dqwants);2093 goto tryagain;2094 }···2163 XFS_DQ_HASH_UNLOCK(hash);2164 xfs_qm_freelist_unlock(xfs_Gqm);2165 if (++restarts >= XFS_QM_RECLAIM_MAX_RESTARTS)2166+ return nreclaimed;2167 goto tryagain;2168 }2169 xfs_dqtrace_entry(dqp, "DQSHAKE: UNLINKING");···2188 dqp = nextdqp;2189 }2190 xfs_qm_freelist_unlock(xfs_Gqm);2191+ return nreclaimed;2192}21932194···2202 int ndqused, nfree, n;22032204 if (!kmem_shake_allow(gfp_mask))2205+ return 0;2206 if (!xfs_Gqm)2207+ return 0;22082209 nfree = xfs_Gqm->qm_dqfreelist.qh_nelems; /* free dquots */2210 /* incore dquots in all f/s's */···2213 ASSERT(ndqused >= 0);22142215 if (nfree <= ndqused && nfree < ndquot)2216+ return 0;22172218 ndqused *= xfs_Gqm->qm_dqfree_ratio; /* target # of free dquots */2219 n = nfree - ndqused - ndquot; /* # over target */···2257 xfs_dqunlock(dqp);2258 xfs_qm_freelist_unlock(xfs_Gqm);2259 if (++restarts >= XFS_QM_RECLAIM_MAX_RESTARTS)2260+ return NULL;2261 XQM_STATS_INC(xqmstats.xs_qm_dqwants);2262 goto startagain;2263 }···2333 }23342335 xfs_qm_freelist_unlock(xfs_Gqm);2336+ return dqpout;2337}23382339···2369 */2370 memset(&dqp->q_core, 0, sizeof(dqp->q_core));2371 *O_dqpp = dqp;2372+ return B_FALSE;2373 }2374 XQM_STATS_INC(xqmstats.xs_qm_dqreclaim_misses);2375 }···2382 *O_dqpp = kmem_zone_zalloc(xfs_Gqm->qm_dqzone, KM_SLEEP);2383 atomic_inc(&xfs_Gqm->qm_totaldquots);23842385+ return B_TRUE;2386}23872388···2407 0,2408 XFS_DEFAULT_LOG_COUNT))) {2409 xfs_trans_cancel(tp, 0);2410+ return error;2411 }24122413 xfs_mod_sb(tp, flags);2414 (void) xfs_trans_commit(tp, 0, NULL);24152416+ return 0;2417}24182419···2463 if ((error = xfs_qm_dqattach(ip, XFS_QMOPT_DQALLOC |2464 XFS_QMOPT_ILOCKED))) {2465 xfs_iunlock(ip, lockflags);2466+ return error;2467 }2468 }2469···2486 XFS_QMOPT_DOWARN,2487 &uq))) {2488 ASSERT(error != ENOENT);2489+ return error;2490 }2491 /*2492 * Get the ilock in the right order.···2517 if (uq)2518 xfs_qm_dqrele(uq);2519 ASSERT(error != ENOENT);2520+ return error;2521 }2522 xfs_dqunlock(gq);2523 lockflags = XFS_ILOCK_SHARED;···2565 *O_gdqpp = gq;2566 else if (gq)2567 xfs_qm_dqrele(gq);2568+ return 0;2569}25702571/*···2608 xfs_dqunlock(newdq);2609 *IO_olddq = newdq;26102611+ return prevdq;2612}26132614/*···2702 ip = i_tab[0];27032704 if (! XFS_IS_QUOTA_ON(ip->i_mount))2705+ return 0;27062707 if (XFS_NOT_DQATTACHED(ip->i_mount, ip)) {2708 error = xfs_qm_dqattach(ip, 0);2709 if (error)2710+ return error;2711 }2712 for (i = 1; (i < 4 && i_tab[i]); i++) {2713 /*···2717 if (XFS_NOT_DQATTACHED(ip->i_mount, ip)) {2718 error = xfs_qm_dqattach(ip, 0);2719 if (error)2720+ return error;2721 }2722 }2723 }2724+ return 0;2725}27262727void···2834 int locked;28352836 locked = mutex_trylock(&((dqp)->q_hash->qh_lock));2837+ return locked;2838}28392840int···2844 int locked;28452846 locked = mutex_trylock(&(xqm->qm_dqfreelist.qh_lock));2847+ return locked;2848}28492850STATIC int···28552856 ASSERT(mp->m_quotainfo);2857 locked = mutex_trylock(&(XFS_QI_MPLLOCK(mp)));2858+ return locked;2859}
+48-48
fs/xfs/xfs_dir_leaf.c
···147 hdr->count = 0;148 dp->i_d.di_size = sizeof(*hdr);149 xfs_trans_log_inode(args->trans, dp, XFS_ILOG_CORE | XFS_ILOG_DDATA);150- return(0);151}152153/*···180 if (sfe->namelen == args->namelen &&181 args->name[0] == sfe->name[0] &&182 memcmp(args->name, sfe->name, args->namelen) == 0)183- return(XFS_ERROR(EEXIST));184 sfe = XFS_DIR_SF_NEXTENTRY(sfe);185 }186···198 dp->i_d.di_size += size;199 xfs_trans_log_inode(args->trans, dp, XFS_ILOG_CORE | XFS_ILOG_DDATA);200201- return(0);202}203204/*···238 }239 if (i < 0) {240 ASSERT(args->oknoent);241- return(XFS_ERROR(ENOENT));242 }243244 if ((base + size) != dp->i_d.di_size) {···251 dp->i_d.di_size -= size;252 xfs_trans_log_inode(args->trans, dp, XFS_ILOG_CORE | XFS_ILOG_DDATA);253254- return(0);255}256257/*···390391out:392 kmem_free(tmpbuffer, size);393- return(retval);394}395396STATIC int···596 /* XXX - replace assert? */597 XFS_DIR_SF_PUT_DIRINO(&args->inumber, &sf->hdr.parent);598 xfs_trans_log_inode(args->trans, dp, XFS_ILOG_DDATA);599- return(0);600 }601 ASSERT(args->namelen != 1 || args->name[0] != '.');602 sfe = &sf->list[0];···608 (char *)&sfe->inumber, sizeof(xfs_ino_t)));609 XFS_DIR_SF_PUT_DIRINO(&args->inumber, &sfe->inumber);610 xfs_trans_log_inode(args->trans, dp, XFS_ILOG_DDATA);611- return(0);612 }613 sfe = XFS_DIR_SF_NEXTENTRY(sfe);614 }615 ASSERT(args->oknoent);616- return(XFS_ERROR(ENOENT));617}618619/*···695696out:697 kmem_free(tmpbuffer, XFS_LBSIZE(dp->i_mount));698- return(retval);699}700701/*···715 retval = xfs_da_grow_inode(args, &blkno);716 ASSERT(blkno == 1);717 if (retval)718- return(retval);719 retval = xfs_da_read_buf(args->trans, args->dp, 0, -1, &bp1,720 XFS_DATA_FORK);721 if (retval)722- return(retval);723 ASSERT(bp1 != NULL);724 retval = xfs_da_get_buf(args->trans, args->dp, 1, -1, &bp2,725 XFS_DATA_FORK);726 if (retval) {727 xfs_da_buf_done(bp1);728- return(retval);729 }730 ASSERT(bp2 != NULL);731 memcpy(bp2->data, bp1->data, XFS_LBSIZE(dp->i_mount));···738 retval = xfs_da_node_create(args, 0, 1, &bp1, XFS_DATA_FORK);739 if (retval) {740 xfs_da_buf_done(bp2);741- return(retval);742 }743 node = bp1->data;744 leaf = bp2->data;···751 XFS_DA_LOGRANGE(node, &node->btree[0], sizeof(node->btree[0])));752 xfs_da_buf_done(bp1);753754- return(retval);755}756757···776 ASSERT(dp != NULL);777 retval = xfs_da_get_buf(args->trans, dp, blkno, -1, &bp, XFS_DATA_FORK);778 if (retval)779- return(retval);780 ASSERT(bp != NULL);781 leaf = bp->data;782 memset((char *)leaf, 0, XFS_LBSIZE(dp->i_mount));···791 xfs_da_log_buf(args->trans, bp, 0, XFS_LBSIZE(dp->i_mount) - 1);792793 *bpp = bp;794- return(0);795}796797/*···813 ASSERT(oldblk->magic == XFS_DIR_LEAF_MAGIC);814 error = xfs_da_grow_inode(args, &blkno);815 if (error)816- return(error);817 error = xfs_dir_leaf_create(args, blkno, &newblk->bp);818 if (error)819- return(error);820 newblk->blkno = blkno;821 newblk->magic = XFS_DIR_LEAF_MAGIC;822···826 xfs_dir_leaf_rebalance(state, oldblk, newblk);827 error = xfs_da_blk_link(state, oldblk, newblk);828 if (error)829- return(error);830831 /*832 * Insert the new entry in the correct block.···842 */843 oldblk->hashval = xfs_dir_leaf_lasthash(oldblk->bp, NULL);844 newblk->hashval = xfs_dir_leaf_lasthash(newblk->bp, NULL);845- return(error);846}847848/*···885 if (INT_GET(map->size, ARCH_CONVERT) >= tmp) {886 if (!args->justcheck)887 xfs_dir_leaf_add_work(bp, args, index, i);888- return(0);889 }890 sum += INT_GET(map->size, ARCH_CONVERT);891 }···896 * no good and we should just give up.897 */898 if (!hdr->holes && (sum < entsize))899- return(XFS_ERROR(ENOSPC));900901 /*902 * Compact the entries to coalesce free space.···909 (uint)sizeof(xfs_dir_leaf_entry_t) : 0,910 args->justcheck);911 if (error)912- return(error);913 /*914 * After compaction, the block is guaranteed to have only one915 * free region, in freemap[0]. If it is not big enough, give up.916 */917 if (INT_GET(hdr->freemap[0].size, ARCH_CONVERT) <918 (entsize + (uint)sizeof(xfs_dir_leaf_entry_t)))919- return(XFS_ERROR(ENOSPC));920921 if (!args->justcheck)922 xfs_dir_leaf_add_work(bp, args, index, 0);923- return(0);924}925926/*···1072 kmem_free(tmpbuffer, lbsize);1073 if (musthave || justcheck)1074 kmem_free(tmpbuffer2, lbsize);1075- return(rval);1076}10771078/*···12921293 *countarg = count;1294 *namebytesarg = totallen;1295- return(foundit);1296}12971298/*========================================================================···1334 INT_GET(leaf->hdr.namebytes, ARCH_CONVERT);1335 if (bytes > (state->blocksize >> 1)) {1336 *action = 0; /* blk over 50%, don't try to join */1337- return(0);1338 }13391340 /*···1353 error = xfs_da_path_shift(state, &state->altpath, forward,1354 0, &retval);1355 if (error)1356- return(error);1357 if (retval) {1358 *action = 0;1359 } else {1360 *action = 2;1361 }1362- return(0);1363 }13641365 /*···1381 blkno, -1, &bp,1382 XFS_DATA_FORK);1383 if (error)1384- return(error);1385 ASSERT(bp != NULL);13861387 leaf = (xfs_dir_leafblock_t *)info;···1402 }1403 if (i >= 2) {1404 *action = 0;1405- return(0);1406 }1407 xfs_da_buf_done(bp);1408···1419 0, &retval);1420 }1421 if (error)1422- return(error);1423 if (retval) {1424 *action = 0;1425 } else {1426 *action = 1;1427 }1428- return(0);1429}14301431/*···1575 tmp += INT_GET(leaf->hdr.count, ARCH_CONVERT) * ((uint)sizeof(xfs_dir_leaf_name_t) - 1);1576 tmp += INT_GET(leaf->hdr.namebytes, ARCH_CONVERT);1577 if (tmp < mp->m_dir_magicpct)1578- return(1); /* leaf is < 37% full */1579- return(0);1580}15811582/*···1732 if ((probe == INT_GET(leaf->hdr.count, ARCH_CONVERT)) || (INT_GET(entry->hashval, ARCH_CONVERT) != hashval)) {1733 *index = probe;1734 ASSERT(args->oknoent);1735- return(XFS_ERROR(ENOENT));1736 }17371738 /*···1745 memcmp(args->name, namest->name, args->namelen) == 0) {1746 XFS_DIR_SF_GET_DIRINO(&namest->inumber, &args->inumber);1747 *index = probe;1748- return(XFS_ERROR(EEXIST));1749 }1750 entry++;1751 probe++;1752 }1753 *index = probe;1754 ASSERT(probe == INT_GET(leaf->hdr.count, ARCH_CONVERT) || args->oknoent);1755- return(XFS_ERROR(ENOENT));1756}17571758/*========================================================================···1890 INT_GET(leaf1->entries[ 0 ].hashval, ARCH_CONVERT)) ||1891 (INT_GET(leaf2->entries[ INT_GET(leaf2->hdr.count, ARCH_CONVERT)-1 ].hashval, ARCH_CONVERT) <1892 INT_GET(leaf1->entries[ INT_GET(leaf1->hdr.count, ARCH_CONVERT)-1 ].hashval, ARCH_CONVERT)))) {1893- return(1);1894 }1895- return(0);1896}18971898/*···1942 leaf = bp->data;1943 if (INT_GET(leaf->hdr.info.magic, ARCH_CONVERT) != XFS_DIR_LEAF_MAGIC) {1944 *eobp = 1;1945- return(XFS_ERROR(ENOENT)); /* XXX wrong code */1946 }19471948 want_entno = XFS_DA_COOKIE_ENTRY(mp, uio->uio_offset);···2000 * the node code will be setting uio_offset anyway.2001 */2002 *eobp = 0;2003- return(0);2004 }2005 xfs_dir_trace_g_due("leaf: hash found", dp, uio, entry);2006···2057 retval = xfs_da_read_buf(dp->i_transp, dp, thishash,2058 nextda, &bp2, XFS_DATA_FORK);2059 if (retval)2060- return(retval);20612062 ASSERT(bp2 != NULL);2063···2073 leaf2);2074 xfs_da_brelse(dp->i_transp, bp2);20752076- return(XFS_ERROR(EFSCORRUPTED));2077 }20782079 nexthash = INT_GET(leaf2->entries[0].hashval,···21392140 xfs_dir_trace_g_du("leaf: E-O-B", dp, uio);21412142- return(retval);2143 }2144 }2145···21492150 xfs_dir_trace_g_du("leaf: E-O-F", dp, uio);21512152- return(0);2153}21542155/*
···92/* The number of bytes used to store each register. */93#define _PT_REG_SIZE 49495-/* Offset of a general purpose register in a stuct pt_regs. */96#define PT_GPR(num) ((num) * _PT_REG_SIZE)9798/* Offsets of various special registers & fields in a struct pt_regs. */
···92/* The number of bytes used to store each register. */93#define _PT_REG_SIZE 49495+/* Offset of a general purpose register in a struct pt_regs. */96#define PT_GPR(num) ((num) * _PT_REG_SIZE)9798/* Offsets of various special registers & fields in a struct pt_regs. */
···99 default y100 help101 This option allows you to choose whether you want to have support102- for socalled swap devices or swap files in your kernel that are103 used to provide more virtual memory than the actual RAM present104 in your computer. If unsure say Y.105
···99 default y100 help101 This option allows you to choose whether you want to have support102+ for so called swap devices or swap files in your kernel that are103 used to provide more virtual memory than the actual RAM present104 in your computer. If unsure say Y.105
···56 * /proc/sysvipc/sem support (c) 1999 Dragos Acostachioaie <dragos@iname.com>57 *58 * SMP-threaded, sysctl's added59- * (c) 1999 Manfred Spraul <manfreds@colorfullife.com>60 * Enforced range limit on SEM_UNDO61 * (c) 2001 Red Hat Inc <alan@redhat.com>62 * Lockless wakeup
···56 * /proc/sysvipc/sem support (c) 1999 Dragos Acostachioaie <dragos@iname.com>57 *58 * SMP-threaded, sysctl's added59+ * (c) 1999 Manfred Spraul <manfred@colorfullife.com>60 * Enforced range limit on SEM_UNDO61 * (c) 2001 Red Hat Inc <alan@redhat.com>62 * Lockless wakeup
+1-1
ipc/util.c
···7 * Occurs in several places in the IPC code.8 * Chris Evans, <chris@ferret.lmh.ox.ac.uk>9 * Nov 1999 - ipc helper functions, unified SMP locking10- * Manfred Spraul <manfreds@colorfullife.com>11 * Oct 2002 - One lock per IPC id. RCU ipc_free for lock-free grow_ary().12 * Mingming Cao <cmm@us.ibm.com>13 */
···7 * Occurs in several places in the IPC code.8 * Chris Evans, <chris@ferret.lmh.ox.ac.uk>9 * Nov 1999 - ipc helper functions, unified SMP locking10+ * Manfred Spraul <manfred@colorfullife.com>11 * Oct 2002 - One lock per IPC id. RCU ipc_free for lock-free grow_ary().12 * Mingming Cao <cmm@us.ibm.com>13 */