Zack's Kernel News

Total Page:16

File Type:pdf, Size:1020Kb

Zack's Kernel News Community Notebook Kernel News Zack’s Kernel News Chronicler Zack Simple Flash Filesystem about endianness issues in order to avoid an- Brown reports on Dan Luedtke recently announced LanyFS – a noying, difficult debugging issues further filesystem to use with any drive you might down the road. the latest news, carry on a lanyard or keychain – essentially, Theodore Ts’o came back to the issue of small flash drives. The goal was to make the whether LanyFS was needed at all. He said, views, dilemmas, filesystem so simple that it would work easily “What I would do if I needed to transfer such and developments on any operating system. In this case, the lack a [6MB] file, and I didn’t have access to high of features was itself a feature. speed networking, would be to use ext2, and within the Linux Richard Weinberger and Marco Stornelli then either use the ext2 FUSE driver with didn’t see the point of such minimalism. To FUSE for Windows or Macintosh – or, I would kernel community. them, it just seemed like reinventing the port the userspace e2tools package to the tar- wheel, because other filesystems already ex- get OS, and use that to access the ext2 file By Zack Brown isted with a larger set of features. And, Alan system. And I’d do that because the software Cox gave a link to an interesting article at is available today, right now, without having http:// lwn.net/ Articles/ 428584/ that discussed to figure out how to port LanyFS to the oper- the ins and outs of trying to code a flash-ori- ating system.” ented filesystem. He added, “I also seriously question the Dan pointed out that the filesystem’s web- niche of people who want to use a thumb site, at http:// nonattached.net/ lanyfs/ , didn’t drive to transfer >4GB files. Try it sometime have complete explanations because the proj- and see what a painful user experience it ect was part of his Master’s thesis, and he is … .” wasn’t sure how much information he was al- Dan did get some support though. Carlos lowed to publish before submitting the work to Alberto Lopez Perez pointed out that Micro- his professors. soft was currently pushing their exFAT filesys- But, he did say that he hoped the filesys- tem as the preferred way to deal with Dan’s tem’s minimalism would work well with Ardu- use-case. But, as Carlos pointed out, “The ino projects or other small embedded systems problem is that exFAT is full of patents and that only wanted to read or play files. The Ar- they require you to purchase a license for duino platform had been a particular motiva- use.” He said LanyFS might be a great alter- tion for him when his Arduino project ran into native to exFAT, especially because movie trouble with FAT32 files that grew too big for files were getting bigger and bigger and that filesystem. Another motivation had been would eventually be too big for FAT32. How- to interoperate with as many other types of ever, Carlos supposed Microsoft would be re- filesystems as possible, without worrying too luctant to support LanyFS, as it was in com- much about ownership information and other petition with their exFAT new hotness. metadata. Raymond Jennings also liked the idea of There was much skepticism. Marco pointed having an alternative to exFAT, given the pat- out that FAT32 was really the standard for the ent entanglements that were likely to come kind of use-case Dan was trying to meet. The up if anyone even thought about writing a FAT32 file size limitation didn’t seem sufficient Linux port. Alexander Thomas also thought to justify a whole new minimalist filesystem. that LanyFS would be a fine alternative to But, some people did offer actual feedback exFAT, and he didn’t think much of FAT32 as ZACK BROWN about Dan’s code. Al Viro pointed out a signifi- a filesystem either. However, he too acknowl- The Linux kernel mailing list cant security hole. Because LanyFS allowed in- edged that it might be an uphill battle getting comprises the core of Linux finite recursion, it would be trivial for an at- major vendors to adopt LanyFS. development activities. tacker to overflow the kernel stack, he said. The debate continued. At one point, Arnd Traffic volumes are immense, Al pointed out a few other technical issues Bergmann mentioned that he had been coop- often reaching 10,000 and made an interesting comment at the end erating with a vendor to produce a flash file- messages in a week, and keeping up to date with the of his post about endianness. Apparently, system that would be very simple and opti- entire scope of development Dan’s code flipped its byte endianness in mized for most flash media. But, he didn’t is a virtually impossible task place, instead of taking the more laborious want to go into detail ahead of the vendor’s for one person. One of the route of having specific variables accept only own announcement. So, at the very least, few brave souls to take on values with specific endianness. Al recom- there is interest from various directions in a this task is Zack Brown. mended being extremely verbose and obvious LanyFS-type filesystem. 92 JANUARY 2013 ISSUE 146 LINUX-MAGAZINE.COM | LINUXPROMAGAZINE.COM Community Notebook Kernel News UEFI Support Don’t Make ABI Changes… And quite frankly, for all but the secu- Or Else rity case, even then we’re often better off Matthew Garrett posted some patches to at least having a compatibility layer for try to limit the root user’s ability to mod- Linus Torvalds went on a tear over Appli- the old cases, even if it was bad and ify the kernel. The idea was to support cation Binary Interface (ABI) changes. wrong (example: the very original linux the Unified Extensible Firmware Inter- He really hates those things. In this par- ‘select()‘ timeout behavior, where Linux face (UEFI). Ideally, the UEFI would pre- ticular case, Thomas Gleixner had posted did the documented thing, but nobody vent a signed operating system from what he thought was a simple fix, getting else did. Or the various versions of being able to boot an unsigned operating rid of a null pointer issue in the itimer ‘stat()‘ we’ve had. Or the inotify/ dnotify/ system. This would give hardware and code, but because the change would be fsnotify things). software vendors the ability to control to the ABI, Linus replied, “That’s not Occasionally some compat model may and limit how their products could be how ABIs work. If it has become some- not be worth it (if the interface is too spe- used after purchase. thing people rely on, it now *is* part of cialized and there really is just one or two Alan Cox didn’t think it would be pos- the ABI, and no amount of ‘violates the system apps that use it), but that’s very sible, at the kernel level, to prevent the spec’ matters what-so-ever. ‘The spec’ is very rare to the point where it shouldn’t root user from regaining control. He paper – and worthless. What people ac- even be considered an issue. said, “an untrusted application can at tually *do* is all that matters.” Quite frankly, our most common ABI GUI level fake a system crash, reboot Michael Kerrisk put his head in the li- change is that we don’t even realize that cycle and phish any basic credentials on’s mouth suggesting that, with enough something changed. And then people such as passwords for the windows par- lead time to prepare users, an ABI change may or may not notice it. And we’ve had tition.” should be OK. He added that if a change cases where the same system call returned Matthew thought that hostile software were to be made in this particular case, it *different* things for different subsys- trying to phish credentials could be de- should be to make Linux match up with tems, and we tried to make it at least in- feated by a Secure Attention Key (SAK). A other existing systems like FreeBSD and ternally consistent. SAK is a trusted key combination that ini- NetBSD. Linus replied: But the ‘premeditated ABI change just tiates a known login process. If an un- “YOU SHOULD NOT MAKE ABI for the reason of an ABI change’? It’s trusted application tried to make the user CHANGES. bullshit. And it’s bullshit whether it think the system had rebooted, the SAK I don’t understand why this seems to shows up in feature-removal or not. (The would expose the subterfuge by invoking be so hard for people to understand. whole feature-removal file is BS, for that the kernel’s native login process, instead There are exactly *zero* reasons to matter, but that’s a different issue). of the fake one presented by the hostile change the ABI for its own sake, and this SO STOP DOING ABI CHANGES. WE software. In response, Matthew’s sugges- whole thread is a wonderful example of DON’T DO THEM. tion was simply to implement SAK sup- how F*CKING STUPID it was to even con- The absolute worst thing a kernel can port in the Linux kernel. sider it. There are real and valid reasons do is ‘change the user-level interfaces’. It Pavel Machek was dubious about that to change the ABI, but for every single has to be done occasionally (see above), idea.
Recommended publications
  • Ivoyeur: Inotify
    COLUMNS iVoyeur inotify DAVE JOSEPHSEN Dave Josephsen is the he last time I changed jobs, the magnitude of the change didn’t really author of Building a sink in until the morning of my first day, when I took a different com- Monitoring Infrastructure bination of freeways to work. The difference was accentuated by the with Nagios (Prentice Hall T PTR, 2007) and is Senior fact that the new commute began the same as the old one, but on this morn- Systems Engineer at DBG, Inc., where he ing, at a particular interchange, I would zig where before I zagged. maintains a gaggle of geographically dispersed It was an unexpectedly emotional and profound metaphor for the change. My old place was server farms. He won LISA ‘04’s Best Paper off to the side, and down below, while my future was straight ahead, and literally under award for his co-authored work on spam construction. mitigation, and he donates his spare time to the SourceMage GNU Linux Project. The fact that it was under construction was poetic but not surprising. Most of the roads I [email protected] travel in the Dallas/Fort Worth area are under construction and have been for as long as anyone can remember. And I don’t mean a lane closed here or there. Our roads drift and wan- der like leaves in the water—here today and tomorrow over there. The exits and entrances, neither a part of this road or that, seem unable to anticipate the movements of their brethren, and are constantly forced to react.
    [Show full text]
  • Monitoring File Events
    MONITORING FILE EVENTS Some applications need to be able to monitor files or directories in order to deter- mine whether events have occurred for the monitored objects. For example, a graphical file manager needs to be able to determine when files are added or removed from the directory that is currently being displayed, or a daemon may want to monitor its configuration file in order to know if the file has been changed. Starting with kernel 2.6.13, Linux provides the inotify mechanism, which allows an application to monitor file events. This chapter describes the use of inotify. The inotify mechanism replaces an older mechanism, dnotify, which provided a subset of the functionality of inotify. We describe dnotify briefly at the end of this chapter, focusing on why inotify is better. The inotify and dnotify mechanisms are Linux-specific. (A few other systems provide similar mechanisms. For example, the BSDs provide the kqueue API.) A few libraries provide an API that is more abstract and portable than inotify and dnotify. The use of these libraries may be preferable for some applications. Some of these libraries employ inotify or dnotify, on systems where they are available. Two such libraries are FAM (File Alteration Monitor, http:// oss.sgi.com/projects/fam/) and Gamin (http://www.gnome.org/~veillard/gamin/). 19.1 Overview The key steps in the use of the inotify API are as follows: 1. The application uses inotify_init() to create an inotify instance. This system call returns a file descriptor that is used to refer to the inotify instance in later operations.
    [Show full text]
  • Secure Boot UEFI Secure Boot, Trusted Firmware Grub 2, Tboot
    Design and Implementation of a Security Architecture for Critical Infrastructure Industrial Control Systems in the Era of Nation State Cyber Warfare David Safford, Bill Smith, Monty Wiseman LSS, 2016 GE Global Research Center Imagination at work. GE: • Half of the world’s installed Power Generation (PG) base is from GE • 10,000 gas and steam turbine generating units • Over 1,000,000 megawatts of installed capacity in 120 countries. • https://powergen.gepower.com/products/heavy-duty-gas-turbines.html • 40% share of the worldwide market for new PG equipment. • http://www.statista.com/statistics/381088/global-market-share-of-power- generation-equipment-manufacturers/ • Largest supplier of Transmission & Distribution (T&D) equipment in the United States, top three worldwide. • http://microgridmedia.com/ge-becomes-globa-utility-td-powerhouse/ • https://medium.com/@GE_Grid/a-vision-to-power-the-world- 74349a3c98a6#.ehjw5t7v8 3 Controls in The Era of Nation State Cyber Attacks At RSA 2016, Admiral Michael Rogers, head of the NSA and the US Cyber Command, told delegates during his keynote address at RSA 2016 that the number one thing that keeps him awake at night is a cyber attack against US critical infrastructure, which is only a matter of when, not if, it will happen. http://www.theregister.co.uk/2016/03/01/nsa_boss_three_security_ nightmares/ Stuxnet compromised the control systems for Iran’s nuclear centrifuges, rendering them useless. It attacked them successfully despite a state of the art air-gap defense. http://threatjournal.com/archive/tj12072013.html Ukraine’s electric grid was shut down for 8 hours by a cyber attack, which wiped all control system computers, and bricked critical control interfaces.
    [Show full text]
  • Kernel Korner
    Kernel Korner http://0-delivery.acm.org.innopac.lib.ryerson.ca/10.1145/1110000/11030... Kernel Korner Intro to inotify Robert Love Abstract Applications that watch thousands of files for changes, or that need to know when a storage device gets disconnected, need a clean, fast solution to the file change notification problem. Here it is. John McCutchan and I had been working on inotify for about a year when it was finally merged into Linus' kernel tree and released with kernel version 2.6.13. Although a long struggle, the effort culminated in success and was ultimately worth every rewrite, bug and debate. What Is inotify? inotify is a file change notification system—a kernel feature that allows applications to request the monitoring of a set of files against a list of events. When the event occurs, the application is notified. To be useful, such a feature must be simple to use, lightweight with little overhead and flexible. It should be easy to add new watches and painless to receive notification of events. To be sure, inotify is not the first of its kind. Every modern operating system provides some sort of file notification system; many network and desktop applications require such functionality—Linux too. For years, Linux has offered dnotify. The problem was, dnotify was not very good. In fact, it stank. dnotify, which ostensibly stands for directory notify, was never considered easy to use. Sporting a cumbersome interface and several painful features that made life arduous, dnotify failed to meet the demands of the modern desktop, where asynchronous notification of events and a free flow of information rapidly are becoming the norm.
    [Show full text]
  • Debian's Support for Secure Boot on X86 And
    Debian’s support for Secure Boot on x86 and ARM Ben Hutchings Kernel Recipes, Paris, 2016 Ben Hutchings ● Regular Linux contributor since 2008 ● Working on various drivers and kernel code in my day job ● Debian kernel and LTS team member, now doing most of the kernel maintenance aside from ports ● Maintaining Linux 3.2.y and 3.16.y stable update series on kernel.org ● Kernel maintainer for LF Civil Infrastructure Platform, aiming for super-long-term support Secure Boot ● Optional feature in UEFI - uses certificate store to validate boot loader, UEFI drivers, system firmware updates ● Protects against persistent malware (bootkit / kernel rootkit) if implemented correctly ● Required in 'Designed for Windows' systems since Windows 8 (2012) ● Only common trusted certificates on PCs are for Microsoft signing keys ● MS will sign PC boot loaders for a small fee, and the certificate store is normally editable on PCs ● ARM-based Windows systems are completely locked down ● HPe shipping ARM64 server systems in SB setup mode, allowing installer to set trusted certificates GNU/Linux under Secure Boot ● First stage needs MS signature – manual submission process ● Most distributions introduced 'shim' as first stage boot loader that won't need updating often ● MS expects boot loader and kernel to validate code they load – and it's a good idea anyway ● For later stages, we control certificates and keys – certificates can be embedded in 'shim' ● GRUB needs to validate its modules and kernels ● Linux kernel needs to validate its modules and any other code
    [Show full text]
  • Open Source Software
    OPEN SOURCE SOFTWARE Product AVD9x0x0-0010 Firmware and version 3.4.57 Notes on Open Source software The TCS device uses Open Source software that has been released under specific licensing requirements such as the ”General Public License“ (GPL) Version 2 or 3, the ”Lesser General Public License“ (LGPL), the ”Apache License“ or similar licenses. Any accompanying material such as instruction manuals, handbooks etc. contain copyright notes, conditions of use or licensing requirements that contradict any applicable Open Source license, these conditions are inapplicable. The use and distribution of any Open Source software used in the product is exclusively governed by the respective Open Source license. The programmers provided their software without ANY WARRANTY, whether implied or expressed, of any fitness for a particular purpose. Further, the programmers DECLINE ALL LIABILITY for damages, direct or indirect, that result from the using this software. This disclaimer does not affect the responsibility of TCS. AVAILABILITY OF SOURCE CODE: Where the applicable license entitles you to the source code of such software and/or other additional data, you may obtain it for a period of three years after purchasing this product, and, if required by the license conditions, for as long as we offer customer support for the device. If this document is available at the website of TCS and TCS offers a download of the firmware, the offer to receive the source code is valid for a period of three years and, if required by the license conditions, for as long as TCS offers customer support for the device. TCS provides an option for obtaining the source code: You may obtain any version of the source code that has been distributed by TCS for the cost of reproduction of the physical copy.
    [Show full text]
  • Displaying and Watching Directories Using Lazarus
    Displaying and Watching directories using Lazarus Michaël Van Canneyt October 31, 2011 Abstract Using Lazarus, getting the contents of a directory can be done in 2 ways: a portable, and a unix-specific way. This article shows how to get the contents of a directory and show it in a window. Additionally, it shows how to get notifications of the Linux kernel if the contents of the directory changes. 1 Introduction Examining the contents of a directory is a common operation, both using command-line tools or a GUI file manager. Naturally, Free/Pascal and Lazarus offer an API to do this. In fact, there are 2 API’s to get the contents of a directory: one which is portable and will work on all platforms supported by Lazarus. The other is not portable, but resembles closely the POSIX API for dealing with files and directories. Each API has its advantages and disadvantages. Often, it is desirable to be notified if the contents of a directory changes: in a file manager, this can be used to update the display - showing new items or removing items as needed. This can also be done by scanning the contents of the directory at regular intervals, but it should be obvious that this is not as efficient. There are other scenarios when a notification of a change in a directory is interesting: for instance, in a FTP server, one may want to move incoming files to a location outside the FTP tree, or to a new location based on some rules (e.g. images to one directory, sound files to another).
    [Show full text]
  • Forensic Framework for Honeypot Analysis
    FORENSIC FRAMEWORK FOR HONEYPOT ANALYSIS A Thesis Presented to The Academic Faculty by Kevin D. Fairbanks In Partial Fulfillment of the Requirements for the Degree Doctor of Philosophy in the School of Electrical and Computer Engineering Georgia Institute of Technology May 2010 Copyright c 2010 by Kevin D. Fairbanks FORENSIC FRAMEWORK FOR HONEYPOT ANALYSIS Approved by: Professor Henry L. Owen, III, Advisor Professor Chuanyi Ji School of Electrical and Computer School of Electrical and Computer Engineering Engineering Georgia Institute of Technology Georgia Institute of Technology Professor John A. Copeland Professor Jonathon T. Giffin School of Electrical and Computer College of Computing Engineering Georgia Institute of Technology Georgia Institute of Technology Professor Raheem A. Beyah Date Approved: March 17th, 2010 School of Electrical and Computer Engineering Georgia Institute of Technology For my grandfather, Willie Lee Fairbanks. You are missed and remembered. iii ACKNOWLEDGEMENTS I have caught enough breaks and had too many of the right people injected in my life throughout the years such that I have garnered a great amount of suspicion about whether or not I have been hurtling through a series of coincidences. I therefore must thank God as I believe that I have been abundantly blessed and without the belief in a higher power, my journeys through the land of academia would have been more harsh and dark than they needed to be. Without the emotional and financial support of my mother and father, Sharron and Whayman Fairbanks Sr, my pursuit of an advanced degree would have either ended pre- maturely or have been extensively protracted. I must also thank my bother and sister, Whayman Jr and Veronica Fairbanks, for being my biggest cheerleaders throughout this process.
    [Show full text]
  • Community Notebook Kernel News Zack’S Kernel News
    Community Notebook Kernel News Zack’s Kernel News Chronicler Zack Licensing Confusion performing source distribution, a complete An interesting little licensing escapade occurred machine-readable copy of the corresponding Brown reports on recently. Matthew Garrett noticed that CloudLi- source code, to be distributed under the the latest news, nux corporation had released their lve kernel terms of Sections 1 and 2 above on a medium driver under a new, proprietary license, whereas customarily used for software interchange.” views, dilemmas, before, it had been released under the GPL. So apparently, a written offer would be good Technically, nothing too fishy is going on here enough, and the three-week delay might be and developments because the original author of GPL’d code is still legally acceptable. within the Linux free to release that code under other licenses. But Matthew noticed that, in this particular Kernel Development kernel community. case, the driver still pretended to the kernel to Overflow be a GPL’d driver and still used kernel symbols Thomas Gleixner posed an interesting ques- By Zack Brown that were restricted to GPL-only code. tion – all the more interesting in that it was That’s a big no-no, and Matthew submitted taken so seriously. He pointed out that inter- a patch to make the kernel automatically treat est in the kernel was continuing to grow and the lve module as non-GPL, whether it said it that the number of patch submissions from was or not. But that wasn’t the end of the story individuals and corporations was growing as because licensing is a very touchy legal sub- well.
    [Show full text]
  • 'Advanced Linux Networking' Tutorial
    SPEAKERS AND TALKS Michael Meeks Cutting-edge Desktop-related Development Projects th Michael Meeks Hacking OpenOffice.org 2.0 For Thursday 4 August we are pleased to be able to offer three tutorials. Descriptions and tutor Mike Banahan Experiences of a large linux deployment in education biographies are on the web site. Nicolas Roard Introduction to the GNUstep Project Tutorial T1. - Thursday 4th August full day tutorial 'Advanced Linux Networking' Nigel Griffiths Linux on the POWER5 processor Dave Miller/Jamal Hadi Salim/Steve Whitehouse Philip Hands Preseeding Debian GNU/Linux for automated installations Richard J Moore Diagnosing System Hangs and Crashes using lkcd and Overview: Advanced networking configuration, routing, traffic-shaping, security and firewalling; use of dprobes iproute2, zebra, tc, IPsec and netfilter. Ruediger Berlich Xen: experiences and performance measurements (Note: The practical elements of T1. will take place on a computer room network because of the Siu-wai Leung Managing Biomedical Images and Knowledge by Flickr Web complexity of the configuration required) Services Steve Coast The coming geodata revolution Tutorial T2. - Thursday 4th August half day tutorial (a.m.) 'Advanced Shell with Zsh' Steve McIntyre Jigdo - Spreading the load of CD and DVD downloads Sven Guckes & Julius Plenz Sven Guckes Zsh rules! Sven Guckes Vim Feature Show Overview: The Z-Shell (zsh) is widely regarded as the most powerful shell available. This hands-on tutorial Thomas Lange FAI -- the Fully Automatic Installation will show you lots of useful little things which make working with the shell a lot more fun - and faster! Tom Cosgrove Exploit Mitigation Techniques Extended aliases, context-dependent command completion, faster line-editing, globbing, prompt customisation..
    [Show full text]
  • LINUX JOURNAL | Issue 284 | March 2018
    What’s New Shell Scripting Raspberry Pi in Qubes 4 Security Alternatives Since 1994: The original magazine of the Linux community DEEP DIVE BLOCKCHAIN PLUS POSTGRESQL 10 The Latest and Most Interesting Features BITCOIN AND TAXES Cryptocurrency and Uncle Sam LINUXBOOT FOSS Project Spotlight ISSUE 284 | MARCH 2018 www.linuxjournal.com MARCH 2018 CONTENTS ISSUE 284 DEEP DIVE: Blockchain 95 Blockchain, Part I: Introduction and Cryptocurrency by Petros Koutoupis What makes both bitcoin and blockchain so exciting? What do they provide? Why is everyone talking about this? And, what does the future hold? 105 Blockchain, Part II: Configuring a Blockchain Network and Leveraging the Technology by Petros Koutoupis How to set up a private etherium blockchain using open-source tools and a look at some markets and industries where blockchain technologies can add value. 2 | March 2018 | http://www.linuxjournal.com CONTENTS 6 From the Editor—Doc Searls Help Us Cure Online Publishing of Its Addiction to Personal Data UPFRONT 18 FOSS Project Spotlight: LinuxBoot by David Hendricks, Ron Minnich, Chris Koch and Andrea Barberio 24 Readers’ Choice Awards 26 Shorter Commands by Kyle Rankin 29 For Open-Source Software, the Developers Are All of Us by Derek Zimmer 32 Taking Python to the Next Level by Joey Bernard 37 Learning IT Fundamentals by Kyle Rankin 40 Introducing Zero-K, a Real-Time Strategy Game for Linux by Oflameo 45 News Briefs COLUMNS 46 Kyle Rankin’s Hack and / What’s New in Qubes 4 52 Reuven M. Lerner’s At the Forge PostgreSQL 10: a Great New Version for a Great Database 64 Shawn Powers’ The Open-Source Classroom Cryptocurrency and the IRS 72 Zack Brown’s diff -u What’s New in Kernel Development 76 Susan Sons’ Under the Sink Security: 17 Things 86 Dave Taylor’s Work the Shell Shell Scripting and Security 178 Glyn Moody’s Open Sauce Looking Back: What Was Happening Ten Years Ago? LINUX JOURNAL (ISSN 1075-3583) is published monthly by Linux Journal, LLC.
    [Show full text]
  • Oversubscribing Inotify on Embedded Platforms
    Oversubscribing inotify on Embedded Platforms By Donald Percivalle (CPE) and Scott Vanderlind (CSC) Senior Project California Polytechnic State University San Luis Obispo Dr. Zachary Peterson June 11, 2015 Abstract For most computers running the popular Linux operating system, the inte- grated kernel component inotify provides adequate functionality for monitor- ing changes to files present on the filesystem. However, for certain embedded platforms where resources are very limited and filesystems are very populated (like network attached storage (NAS) devices), inotify may not have enough resources to provide watchers for every file. This results in applications missing change notifications for files they have watched. This paper explores methods for using inotify most effectively on embedded systems by leveraging more la- tent storage. Benefits of this include a reduction in dropped notifications in favor of an introduced delay on notifications for files that are less frequently changed. Contents 1 Introduction 3 1.1 Application . .3 1.2 Problem . .3 1.3 Problem Statement . .4 2 Possible Solutions 5 2.1 Modification of inotify . .5 2.2 Wholesale replacement of inotify . .5 2.3 Development of user-space watch aggregator . .5 2.4 Chosen Approach . .6 2.5 Related Work . .6 3 Design 6 3.1 Constraints . .6 3.2 Implementation . .7 4 Takeaways 8 4.1 Solution Viability . .8 4.2 Future Work . .8 5 Reference Implementation 9 5.1 Driver Application . 10 5.2 Watch Aggregation Module . 12 5.3 Directory Analysis Module . 25 2 1 Introduction as possible. This goal requires a system to monitor the entire filesystem for new Western Digital produces lines of Net- files.
    [Show full text]